How to sell IA64
How to sell IA64
- What is the problem?
What's the answer?
- What do I need 64 bits for?
- But the clock rate is so slow
- But the feature size is so big
- It's only as fast as a P4. I'll just buy one of them
- Well, I'll just buy an Alpha, Sparc, MIPS or something else that has proven itself
- AMD's Hammer X86-64 idea is much better
- Legacy code lasts for ever
- It sounds too hard to write IA64 asm
What is the problem?
Thanks to articles like http://www.theregister.co.uk/content/archive/26248.html and http://www.theregister.co.uk/content/archive/25890.html the Itanic (so named for its almost homonym's disastrous maiden voyage) has managed to get itself some bad press. This will, without doubt, be mentioned to you should you give any presentation relating to your work on IA64.
What's the answer?
Here's some suggestions. Please contribute.
What do I need 64 bits for?
You probably don't need 64 bits, for now. But there are people who are finding a 32 bit address space too cramped for the applications they want to perform today. Limits like 64GB RAM are not big enough for large databases and scientific and research applications.
Into the future, a single address space operating system isn't practical without at least a 64 bit address space, if not more. SASOS promise to redefine the way we think about distribution, security and performance of our computing environments.
But the clock rate is so slow
Even a few years into the future, the IA64 clock rates don't go much past 2GHz, which current P4's have already broken. But the Itanium has been designed from the ground up to be a high performance superscalar architecture, which means it can extract more performance from every cycle.
The speeds are comparable with similar architectures.
But the feature size is so big
For now, yes. But there is no technical reason why they are, so we can only assume it has to do with Intel and their plans for fabrication into the future. Certainly the road maps show the feature sizes coming down and the processor clock going up.
It's only as fast as a P4. I'll just buy one of them
For the foreseeable future, there is no reason for home users to have IA64 boxes sitting on their desk to surf the web. But I don't think anyone was suggesting this was its target market (see above notes on address space).
Well, I'll just buy an Alpha, Sparc, MIPS or something else that has proven itself
True, but in the long term Alpha has been bought by HP and is being merged into Itanium. If you buy Sparc, then you're going to be running Solaris. If you buy MIPS/SGI, you're going to be running IRIX. What if you want to run Linux? Linux IA-64 support is great, and only getting better.
It seems that IA-64 will, for now, fill this high performance Linux niche.
If you buy Sparc, then you're going to be running Solaris.
The sparc under my desk runs Linux. In additon to be able to run Solaris and two flavours of BSD.
My general point was how many production sun servers do you think run Linux? What about how many e10k's run linux? There are a number of linux itanium cluster offerings. -i
AMD's Hammer X86-64 idea is much better
I don't really know much about Hammer, so I can't answer this. I might suggest that adding a 64 bit extension to a 32 bit extension of a 16 bit extension of an 8 bit processor is not as clean as implementing it from scratch.
Legacy code lasts for ever
True, and IA64 can emulate it, with considerable hardware support. This should provide enough cross-over -- just as the virtual 16 bit emulation of Windows NT/2002/XP/.NET provides enough support for those who really need it.
It sounds too hard to write IA64 asm
You're probably just too used to writing i386 asm. That is horrible jungle of legacy twists and turns with many traps for new players (e.g. why did you just use the load effective address instruction to add?).
And besides, why are you writing ASM? As time goes on and new approaches to code optimisation are found, the EPIC instruction format means it's the compiler and assembler's job to work out the best way to optimise your code. Largely gone are the days of having to drop into ASM to optimise that fast-path loop.
But IA64 asm, when you need to write it, is (in comparison) simple. You just have to keep in mind dependencies so you know what can run in parallel. Some might say it's somewhere in between SPARC, which is a little too RISC, and much much better than i386.