Analysis: x86 Vs PPC
Gentu writes "Nicholas Blachford (engineer of the PPC-based PEGASOS Platform) wrote a long and detailed article, comparing the PPC and the x86 architectures on a number of levels: performance, Vector processing and Power Consumption differences, architectural differences, RISC Vs CISC and more. The article is up-to-date and so it takes the G5 into account too."
Nicholas Blachford (engineer of the PPC-based PEGASOS Platform) wrote a long and detailed article
Well, here's the conclusion (even the conclusion is long enough !!) from the article:
x86 is not what it's sold as. x86 benchmarks very well but benchmarks can and are twisted to the advantage of the manufacturer. RISC still has an advantage as the RISC cores present in x86 CPUs are only a marketing myth. An instruction converter cannot remove the inherent complexity present in the x86 instruction set and consequently x86 is large and inefficient and is going to remain so. x86 is still outgunned at the high end and perhaps surprisingly also at the low end - you can't make an x86 fast and run cool. There is a lot of marketing goes into x86 and the market -technical people included- just lap it up.
x86 has the desktop market and there are many large companies who depend on it. Indeed it has been speculated that inefficient or not, the market momentum of x86 is such that even Intel, it's creator may not be able to drag us away from it [14]. The volume of x86 production makes them very low cost and the amount of software available goes without saying. Microsoft and Intel's domination of the PC world has meant no RISC CPU has ever had success in this market aside from the PowerPCs in Apple systems and their market share is hardly huge.
In the high end markets, RISC CPUs from HP, SGI, IBM and Sun still dominate. x86 has never been able to reach these performance levels even though they are sometimes a process generation or two ahead. RISC vendors will always be able to make a faster, smaller CPUs. Intel however can make many more CPUs for less.
x86 CPUs have been getting faster and faster for the last few years, threatening even the server vendors. HP and SGI may have given up but IBM has POWER5 and POWER6 on the way and Sun is set to launch CPUs which handle up to 32 threads. Looks like the server vendors are fighting back.
Things are changing, Linux and other Operating Systems are becoming increasingly popular and these are not locked into x86 or any other platform. x86 is running into problems and PowerPC looks like it is going to increasingly become a real, valid alternative to x86 CPUs both matching and exceeding the performance without the increasingly important power consumption or heat issues.
You said "UNIX technology was created for the x86 architecture"
First x86: "The 8086 blasted away at amazing speeds of 4.77 and eventually 8 MHz -- hardly a calculator by today's standards. All this started in 1978."
(check here)
UNIX invented: "An
interactive time-sharing operating system invented in 1969
by Ken Thompson after Bell Labs left the Multics"
(click here)
Don't blame Durga. I voted for Centauri.
RISC is going to change *everything*
<z3r0-c00l> Yeah, RISC is good
Now you can be as smart as they were almost a decade ago.
This isn't the '80s anymore where performance is the most critical issue and we jump platforms every time a faster architecture comes out, since we don't have a large software base anyway. Nowaways software IS the more important aspect, and only relatively few well-heeled, game-addicted geeks are going to jump on the PPC just because it's a fews ticks faster this week, and Jobs winked at them with that very special smile. Given the way this industry goes, IBM/Motorola will sit back again, wipe the sweat off their foreheads and take a breather, and before you know it, Intel/AMD will have a faster processor again.
If you have x-platform software that will compile painlessly on either architecture, go for it, switch with each faster chip. But for most others, I doubt performance rants like these will make much of a difference. After all, how many Mac users switch to the PC just for the performance during those stretches when the PC has the upper hand?
"PowerPC looks like it is going to increasingly become a real, valid alternative to x86 CPUs both matching and exceeding the performance without the increasingly important power consumption or heat issues."
It won't be an alternative until they sell then. Right now, it is much easier to buy an actual PC than a PPC machine (Apple) because of Apple's insane policy of limiting dealerships.
The PPC won't soar until someone other than Apple starts pushing it real big.
Linux might of been born around the x86 architecture, to give a Unix like OS for the rest of us. But, Unix(tm) on non-x86 is hardly a second class citizen. Take a look at Solaris or Irix, x86 on solaris is by far a stepchild over it's brother that runs on sparc CPU's. Irix doesn't even run on x86 afaik.
I believe Unix was developed long before x86 (or even 8080's) were on the market. It was developed in the 60's with "portability" in mind. Furthermore, there's been a bunch of linux ports to PPC before max OS X came around (Yellow dog comes to mind,) and I'm sure NetBSD has been ported to it a long time ago.
:^)
<speculative disclaimer="don't shoot me if I'm wrong, my memory is shakey">
I remember reading up on older versions of Mac OS - around version 6 or 7, a version based on Unix was developed, but never really took off/made it's way out of development.
</speculative>
Just my two cents
Rob Young
"UNIX technology was created for the x86 architecture"
In other news, it has been discovered that the current crop of teenagers has invented sex.
A.
...bringing you cynical quips since 1998
Nicholas Blachford (engineer of the PPC-based PEGASOS Platform) says that the PPC is better than x86.
What an unbiased opinion. Maybe we should really hear the other side too. I like the article for the wealth of info, and we all know the shortcomings of the x86 platform, but the conclusion seems to be biased.
Or is it just me?
Code poet, espresso fiend, starter upper.
um.... the PDP-11 was an x86?
/bin/fortune | slashdotsig.sh
Saying the Pentium 4 and Athlon XP are the current x86 chips, is just plain wrong. Those chips are obsolete except for very low-end (i.e. under $1k) systems. If you're building a x86 machine and your budget is approximately the same as the budget of a guy building a mid-range PPC system, then you have to be crazy to not get an Opteron, desktop or not. Thus, Opteron is the chip this author should be comparing to.
I remember years ago there being talk of the x86 never being able to keep up because it would just get hotter and bigger.... but now they're over 3ghz... was that all just hooey, or will there be a point where the x86 is dead and the RISC processors that replace them just have a CISC compatibility later?
/bin/fortune | slashdotsig.sh
As opposed to economists, thousands of years ago.
...makes all the difference. The thing that made me switch to PPC was, without an effing doubt, MacOS X. I went from an Athlon 2400+ with 768MB RAM to a home-made PowerMac 800 with 512MB RAM. I cut my processor by a 3rd and lowered my RAM. What did I gain? An amazing OS. If RISC processors continue to get more and more into the same processing spectrum as x86's, I think that OS X will help draw in the masses. Another thing that would help would be increased yields. That would lower prices and increase market share. Anyways, if x86 had OS X, I probably would have stayed with x86. But since it doesn't, I didn't.
Totally Life!
ALL replies
How many people really need a computer that's even over 1GHz? If your computer feels slow at that speed it's because the OS has not been optimised for responsiveness, it's not the fault of the CPU - just ask anyone using BeOS or MorphOS.
I just love blanket statements...and I was trying to remember why I avoid reading osnews.
At least the article wasn't written by Eugenia a.k.a. "It's not BeOS, so it must suck" Loli-Queru.
"...today consumers have been conditioned to think of beer when they see a bullfrog..."
From my experience with RISC CPU's is that rating them by Mhz is often times the way to not understand what makes a RISC a RISC and a CISC a CISC.
Let me explain by example.
My MIPS R4400, running at around 120Mhz, I believe, runs circles around my Duron 750Mhz machine here. This is while the R4400 uses sDRAM vs DDR-RAM in the Duron, and the R4400 uses older plain-jane IDE while my Duron runs ATA-100.
I find it nice to boot up my old Indigo2 and play around, it responds so nicely, and renders quite well.
Karma Whoring for Fun and Profit.
When Microprocessors such as x86 were first developed during the 1970s memories were very low capacity and highly expensive. Consequently keeping the size of software down was important and the instruction sets in CPUs at the time reflected this.
So I'm puzzled. Perhaps someone can enlighten me on this.
If CISC is particularly appropriate for memory that is
- low capacity, and
- highly expensive
why doesn't the same argument apply to CPU's with no main memory per se, but just a good sized L3 cache?Modern cache memories are, guess what,
- low capacity, and
- highly expensive
so it would seem to follow that higher performance could be got by using a CISC model.Since main memory latency and BW are pretty limiting, I half expect that there's good argument to make very high performance systems live completely inside a large cache.
"Provided by the management for your protection."
Given that electricity is not free, the fact that a PPC-based computer (or almost any non-x86 computer, for that matter) draws significantly less electricity is, well, significant.
If a company spends extra money on a set of gorgeous G5s or whatever, a non-trivial amount of that money is made back on the utility bills for very similar performance.
Other RISC vendors can be a win, also. For example, my old UltraSPARC workstations are not the space-heaters they might be stereotyped as (USII draws less than 20W). UltraSPARC III tops out at 65 watts, which although not as good as the PPC 970 is still much better than P4 or Itanic.
Healthcare article at Kuro5hin
Let's all remember that the MHz jump by intel was quite a marketing op. Consumers need an easy metric to evaluate goods (Hp in cars... btw, I wonder why people don't use Watts; must sound dull, dimensioning a car on a lightbulb unit) and intel chose to give one. They went as far as re-designing their machines around the pre-condition of high clock freqs. Take a P4 and clock it to 300 MHz (assuming it would run at those speeds and not bleed all charge out of it's gates), I don't think it would perform anything decent.
Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
I'm always wondering why doesn't people use Java for such large developments... If tomorrow PPC is declared illegal because of the Amazon patent on machine code (very unlikely though), you just reinstall your opcode interpreter .jar file and keep on going.
Multi-platform is an invaluable freedom on such projects where deployment and operating costs are so high
*.sig: No such file or directory
the 970 can have more than 200 instructions in flight at the same time, it can finish up to 5 instructions each clock (4 if there is no branches).
UNIX was developed on the PDP7. And everybody knows that TTL is very portable.
Yes, there was a version of UNIX from Apple targeted to run on the Mac. One can still use the A/UX disk creation utilitys to set up NetBSD on an old Mac. I ran NetBSD on an SE/30 for a little while. It was frightening running X on that tiny little screen. But the Tab Window Manager rocked.
But V6 UNIX does...(can't get the damn thing to compile!)
-uso.
Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
It was a PDP-7 that they developed the first UNIX on, and the PDP-11 was the one they got later. It was so advanced that a hard disk wasn't avaliable for it until the next year, and until that time, they ran a core-only version of UNIX on it, which calculated all the knight positions on a 6x6 chessboard.
Yup, g4s and g3s use substantially less power than their x86 foes, but the g5 is a different story altogether.
e /Developer_Notes/Macintosh_CPUs-G5/PowerMacG5/Powe rMacG5.pdf.
Each g5 dissipates a whopping 97 watts (see http://www.eet.com/sys/news/OEG20030623S0092, which is why the new powermacs have such absurd cooling systems and massive, mostly empty cases. The high-end powermacs actually come with an OUTRAGEOUS 600 watt power supply (http://developer.apple.com/documentation/Hardwar
Let's be clear, this power supply is not for peripherals: the g5 powermac only supports 3 drive bays and 3 pci slots.
The numbers cited by the author come from an early projection of power consumption for lower-spec ppc970 processors.
Did you even read the article?
It says "long and detailed article". In other words, i take the editors summary. 8-)
As a coder, how can I prevent myself from making a "badly written app" if I don't have enough money to buy a sample of each platform?
Will I retire or break 10K?
As the article observes, Linux (and open-source software in general) is not locked into the x86 architecture like Windows is.
Unfortunately, most games do not fall into "open-source software in general" because most artists and music composers haven't warmed up to "free as in speech" the way some programmers have.
barring architectural lock-in
In those market segments that are of apparent necessity dominated by proprietary software (such as games), architectural lock-in is the rule, not the exception.
Will I retire or break 10K?
[Microsoft's Windows OS unit] can quickly jump on a new architecture to make $$, or easily shift gears with the market (if everyone moves from x86).
The problem is that Microsoft's Windows OS unit defines the market. There is only one platform that could distantly compete with x86 under foreseeable market conditions, and its users tend to like the OS they already have.
Will I retire or break 10K?
I don't see a mass shift to another platform because the chips run cooler.
If the chips run cooler, they eat less energy. Executions per kilowatt-hour is a valid benchmark unit, especially for large clusters where the cost of electric power becomes significant.
If the chips run cooler, you can safely put more of them in a box. Executions per cubic meter second is a valid benchmark unit, especially where rack space must be rented.
Will I retire or break 10K?
The G4 is a G3 processor with altivec stuck on top.
Motorola isnt making the G3s apple uses in the ibooks these days; IBM is, they wouldtn put altivec on one. with the execption to the processor they use for the Game Cube which is an IBM PPC 750vxe (or somethign like that.) with altivec like processing units for the gamecube to utilize for games.
With the looks of it everybody is pokeing holes in this guys rambleings.
No, two G5 (PowerPC 970) processors together dissipate 97 Watts. Each individual processor dissipates about half that.
Don't believe me? Check out this chart on ArsTechnica. (The heading for the chart reads "Preliminaries: die size, power consumption, and clock speed.") A single 1.8 GHz PowerPC 970 dissipates 42 Watts. So a single 2.0 GHz PowerPC 970 dissipates a little more than that; therefore, it's reasonable that two of them would dissipate somewhere between 90 and 100 Watts, total.
The EE Times article you cited is highly inaccurate. They only look at the total number of fans in the G5 machine, and forget the fact that these are low-RPM fans and are software controlled per-zone to regulate temperature. Low RPM means less volume of air moved per unit time. So the design tradeoff that was made, clearly, is to have more fans running slower in order to keep noise levels down and to target cooling for each zone appropriately.
This is why it's a good idea to check multiple sources for your facts. Then again, if your goal was to present a very distorted version of reality to fit your goal of painting the G5 as a power hungry monster, you would very carefully choose your source of information so that it seems to support your assertion.
According to the PDF you cite, only the dual processor configuration has a 600 Watt supply; the single processor G5 machines have a 450 Watt supply.
Most high-end x86 system builders tend to put 400 or 450 Watt power supplies in their single processor machines, so this is not unreasonable.
Don't forget also that the AGP Pro slot of the PowerMac G5 system guarantees almost 80 Watts for use by the video card alone; this means that high end workstation class video cards can be powered directly from the slot. The ATI Radeon 9800 Pro, a build-to-order option, can probably run without connecting a spare power cable to its Molex connector; in fact, I'll bet the Apple OEM version of the 9800 Pro doesn't even have the Molex connector soldered to it, since the AGP Pro slot should provide enough power to run the card.
Horsepower is a bigger number.
Bigger is better.
Wow, it's amazing how well you developed that specious argument. Perhaps I should spend five paragraphs fully detailing how the larger number of general-purpose registers available in RISC CPUs significantly decreases consumed memory bandwidth. Maybe I should point out how increasing the number of registers over the crappy x86 architecture removes a huge number of load and store instructions, so that the actual code size decreases rather than increasing. But any competent computer architect could point out the glaring holes in your argument, so I won't bother here. Go mentally wank somewhere else.
Can it be created as part of the installation? Or deserialized then?
This would work on platforms shaped roughly like a PC (Mac, Sun, etc), but it wouldn't work on some platforms I code for. Many of these platforms have no high-capacity media that's writable by the device and thus have no concept of "installation." One of these platforms is a handheld device that has only a removable 4 MB ROM board on which the program and data are stored, 384 KB of RAM (32 KB on CPU, 256 KB on secondary slow RAM, 96 KB on video chip), and a 64 KB flash chip on the ROM board for storing the state of the simulation between runs. The data, which consist of models of a simulated environment, would need to be stored in ROM in the hardware's native struct format. I guess the answer is to deserialize data in the build process. I knew about that solution; I just wondered if there was a better way.
If what you're doing is truly real-time (a widely misunderstood concept), then you need a real-time OS and architecture.
I understand the difference between hard real time and soft real time. My apps are interactive simulations for training and entertainment purposes. They need only soft real time in the sense that multi-second delays are not acceptable.
then maybe you can agree on a structure that meets both ends' data alignment requirements at the beginning of the session.
For unknown PC-like workstation architectures (Mac, Sun, Itanium, Alpha, etc), can I generally assume that both sides use the so-called "natural" data alignment, that is, 4-byte types are aligned to addresses a multiple of 4, and 8-byte types are aligned to addresses a multiple of 8?
You're almost certain to use autoconf, imake, or something similar
So what do I do for architectures that Autoconf does not support, such as the handheld device I named above?
This is stuff that works fine on remote X11, so you can test it that way.
I have not investigated remote X11. Does remote X11 work well over a residential high-speed Internet connection?
Personally, I left my hometown of San Angelo, Texas and came to the Silicon Valley to find work.
I'm new to this. How do most people finance their first relocation? (Moderators: Relocation is sometimes necessary to gain access to equipment used to test portability of an application.)
Look, I'm not saying that you're a terrible programmer if you ever write anything that isn't portable.
It becomes tough when the question "Does 'portable' mean that it runs on several architectures, or that it runs on handheld devices?" is answered with "Both."
and maybe add something like '#ifndef i386 / #error "See ARCHITECTURE NOTES in the docs" / #endif'.
Thanks. The knowledge that such a last resort (that is, if lead developer has never heard of this architecture then refuse to compile) is not grounds for being ostracized takes a load off my mind.
Will I retire or break 10K?
But Newton-meters of torque is bigger than pounds-foot of torque, yet y'all still use lbs-ft.