Why Doesn't the Itanium Get the Respect It's Due?
happycorp wonders: "As in recent years the Itanium does well, easily beating x86 processors even at its low clockspeed (1.4Ghz). The supercomputer people are serious about benchmarking (no easily tricked microbenchmarks or reliance on closed-source
commercial apps), so the discrepancy between the performance and perception of this chip is serious.
With a single-CPU Itanium2 system at
around $2000 their price is already reasonable, and the price would come down
(and software would be ported) if the Itanium ever became a mass market chip. Having an affordable chip one step above a Xeon or Opteron in floating-point performance would not be such a bad thing for gaming enthusiasts (or 3D artists). So, the recent
article
on the
Top 500 supercomputers list brings up a question I've been meaning to ask:
Why do we see so many disparaging opinions of the Itanium processor (all those 'Itanic' jokes, etc.)?"
"It seems computing enthusiasts' sentiment is set against this processor, and its likely that it's going to be abandoned sooner or later. We'll be paying for x86 compatibility indefinitely (recall the Xeon has roughly
three times the number of transistors of the ppc970 for example; but we hardly get three times the performance).
These are a couple scores from the top 20, with the total gigaflops divided by the number of processors to obtain a per-processor speed:
rank processor ghz (gflops / #procs) speed #5 ppc970 2.2 (27910 / 4800) 5.81 #7 itanium2 1.4 (19940 / 4096) 4.86 #10 opteron 2.0 (15250 / 5000) 3.05 #20 xeon 3.06 (9819 / 2500) 3.92
Given this, consider what a 2 or 3 Ghz Itanium could do.
(fine print: I am not affiliated with the Itanium or the top500 list in any way)."
These are a couple scores from the top 20, with the total gigaflops divided by the number of processors to obtain a per-processor speed:
rank processor ghz (gflops / #procs) speed #5 ppc970 2.2 (27910 / 4800) 5.81 #7 itanium2 1.4 (19940 / 4096) 4.86 #10 opteron 2.0 (15250 / 5000) 3.05 #20 xeon 3.06 (9819 / 2500) 3.92
Given this, consider what a 2 or 3 Ghz Itanium could do.
(fine print: I am not affiliated with the Itanium or the top500 list in any way)."
Because Intel tried to force everyone to jump on the 64bit bandwagon at once, while windows didn't even support it yet, without backwork compatibility to existing 32bit software. It's a good design, just doesn't (didn't ?) fit well with the mass market at the time of the release.
I have certainly noticed a general move away from Intel in the past few years. I think they may have had a run of bad press and serious competition from other manufacturers lately.
They just aren't the juggernaut they used to be. There was a time when they built it and people came. I presume choice is what's keeping the sales down.
Why do we see so many disparaging opinions of the Itanium processor (all those 'Itanic' jokes, etc.)?
Because people repeat what they hear. Many people here only know what has been said on Slashdot about the Itanium. They've never used one. MrDicker64 said it was crap, so it must be!
I think the big problem is that it cannot run x86 software very quickly. Most software that people want to run in the mass market is precompiled, binary x86 software. That stuff just does not run well on the Itanic. That, combined with the fact that the mass market still doesn't really benefit from a 64-bit address space means that the Itanium was a more expensive, slower processor. It's no wonder that it didn't sell.
Early versions also had problems with heat. Where I work we have some Itanic workstations and in the winter, if we were chilly, we literally turned them on to help warm up our offices.
Hundreds and hundreds of products have been killed or permanently crippled because their first versions were terrible. Itanium is the same thing. With the public perception of the Itanium still the same as it was for the first (pathetic) iteration of it, how are you going to convince your manager to spend the money to get it? Benchmarks only go so far.
-Daniel
Its easier to harness the power of many horses than grow one 100 times as powerful.
No, it is easier to grow 100 horses than one horse 100 times as powerful, and yet we've gone ahead and done it anyway, because, in point of fact, it is easier to harness and control one horse than 100.
See The Wheel of Reincarnation.
KFG
Microsoft apps are nonexistent, and open-source apps tend to have crappy performance due to the fact that IA-64 depends overwhelmingly on compiler optimization. Developers can use Intel's compiler, but it requires work to use with most Linux systems (the only other platform that supports IA-64 besides MS, AFAIK).
Net result: no applications => no uptake, QED.
Egg, chicken, all that.
Lacking <sarcasm> tags,
You have floating-point listed there, which is great for science I'm sure, but where are the integer numbers?
I have seen the future, and it is inconvenient.
The itanium is an amazing architecture with so many performance boosting upgrades that it would have blown everything out of the water.
If it came out on time.
It was so late that by the time it came out it was still better than existing processors, but not by a large enough margin to justify its cost.
As the clock speed goes up, and as the other processors find their limitations and drop out of the race, the Itanium will look better and better. There is, however, a large investment in time and software that must be made before it becomes truly useful. It is unlikely that MS is going to support more than one architecture simultaneously for the desktop or server as it tried to do for x86/alpha.
The big marketing push and the number of companies signing on to the good ship itanic coupled with the constant pushback of the release date caused Intel to lost a lot of the press attention they should have received when it did come out.
It'll be interesting to see what happens over time, especially as Intel wants it to be a server chip.
Of course, this could all be a big leadup to the announcement that Apple is going with the Itanium.
-Adam
When Itanium started, Intel was absolutely nowhere in 64 bit and high-end computing. Thanks to Itanium, over half Intel's competitors simply walked away from the market with little more than a few press releases from Intel.
Consider that at the time, you had Alpha (Dec), PA-RISC (HP), MIPS (SGI), and Sparc as leading 64-bit computing platforms.
HP in it's infinite wisdom was suckered the worst - giving up their own leadership position just to be strung along for many years in Intel's PR bluff. However Wall Street loved the "ooh, intel's story's so aWsUM that even HP is giving up" that SGI spun off and MIPS gave up on the high-end space; and Dec->Compaq->HP undervalued Alpha and it went away.
This has to be the most successful come-from-zero-to-wipe-out-half-the-market story in the history of computing. How can it be considered a failure.
Intel figured it was big enough to set the trend by making a radical change. It was wrong and paid the price when the market didn't follow. IBM thought it was big enough to set the trend by making a radical change with Micro Channel Architecture (replacement for the ISA Bus). It went nowhere and helped kill IBM's dominance of the X86 PC world it created. The fact that Intel didn't bet the farm and loose everything is either good planning or dumb luck on thier part.
*** Sigs are a stupid waste of bandwidth.
2. x86 is bad/ugly/dirty/whatever, however Itanium is not exactly clean either. The stacked register file is a good example of that. I personally prefer x86-64, which takes the evolutionary approach: fixes quite a few of the problems of x86, while still retaining the core features.
3. x86 chips do out-of-order execution; Itanium, OTOH relies on the compiler to schedule instructions and bundle them together. The main problem here is that doing instruction scheduling statically is much, much harder than doing it dynamically. An average program has a basic block size that is less than 10 instructions. It's very hard to find parallelism within such small basic blocks, so to be efficient at all, you need to do profiling to build traces/hyperblocks. In fact, profiling on the Itanium can give you a performance boost of 30%. However, profiling is hardly desirable from a software developer's perspective
The Raven
Let me tell y'all a little story.
Back in '94-'95 i was doing the third grade of the Computer Science course at the Royal Institute of Technology, which meant I had to choose a specialization. I chose "Computer Systems", ie. processors, busses, caches and what-not.
This was a very exiting time to be studying processors since (for a fleeting moment) Intel processors where the absolutely worst processors among the serious combatants.
Yes, you read that right. The Alpha was (of course) and unstoppable juggernaut, but through a freak act of development schedules the new MIPS had managed to outstrip the latest Alpha.
After MIPS and Alpha we had PA-RISC, SPARC, PPC and then finally the pathetic, lowly Intel x86.
Alpha had strong plans of totatlly replacing the x86 by offering Alpha based x86 emulations that were faster than the fastest x86 in running x86 code.
But now, Intel announced the Itanium.
Apparently, all the CPU makers sat down and discussed this, and agreed that "They may be last right now, but they have piles of cash. They could do this. They really could."
So, what did the competiton do?
Because of aquisitions, they also happened to be saddled with the best processor ever made, the Alpha.
Stick with dying Intel... Develop best processor. Hmm...
Well, you all know where HP is going.
And then what happend?
Intel didn't deliver... and didn't deliver... and didn't deliver some more.
Year after year passes...
When the Itanium was finally delivered, it was obvious that every other platform could have kept up, if they would just have kept developing their processors!
But they didn't and now they sleep with the fishes.
Conclusion: By making their Itanium announcement, Intel slew four out five serious competitor. It doesn't relly matter if the Itanium sucks. In fact, the Itanium would be Intels greatest success even if they had never delivered it.
I choose to remain celibate, like my father and his father before him.
Well, after you take the "Compilers" course maybe your love for IA-64 will have, uh, dimished a bit.
The VLIW architecture is beautiful in many ways, but creating a compiler that creates fast code for an in-order VLIW processor is a seriously difficult undertaking.
But seriously, it gets no respect because its a complete dog on anything other than vectorizable Fortran codes. Its inherent in the design.
The compiler has to do a LOT of work to pack instructions in to the VLIW(Very long instruction word). To get max performance I think you need to schedule 4? instructions in each word. You can do that with carefully written vectorizable Fortran with the help of a talented supercomputing class code tuner.
When you get to C and C++ it is nearly impossible. Pointers and pointer aliasing completely frustrate the compiler, and in general most C and C++ code don't have the vectorized nature of the class vectorized Fortran codes.
The IA32 emulation is inherently much slower than a Pentium or Athlon at the same clock and they have much higher clocks than the Itanic. So any application you carry a binary over from an IA32 box is a real dog. It takes advantage of none of the chips strengths and hits all its weaknesses.
IA64 has a place on some supercomputing applications that exloit its strenghts. On others I wager x386_64 is both cheaper(higher sales volume and easier to manufacture), faster and easier to develop code for. On any C or C++ code IA32 and x86_64 will win hands down.
With Itanium Intel was betting bumping up the clock on chips would run out of gas sooner than it did. They thought you would have to go to VLIW to keep increasing performance. Unfortunately clocks kept going up enough that the high end AMD and Penitum left it in the dust. AMD also developed x86_64 which gave people 64 bit address space which is needed for some apps, but PC prices and high clocks.
IA64 is doomed in any place other than niche supercomputing apps and its struggling there against Power, x86_64 etc.
@de_machina