Linus Has Harsh Words For Itanium 825
Anonymous Coward writes "As a follow up to the earlier story "Intel: No Rush to 64-bit Desktop"... In words that Intel are likely to be far from happy with, the Finnish luminary has stuck the boot into Itanium. His responses to some questions on processor architecture are sure to be music to AMD's ears. Linus, in an Inquirer interview concludes: "Code size matters. Price matters. Real world matters. And ia-64... falls flat on its face on ALL of these."" Of course, Linus works for a chip maker ;)
But it's still a year away, isn't it? (Score:3, Insightful)
Re:But it's still a year away, isn't it? (Score:5, Insightful)
Most home users are going to see a performance drop from 64 bits. 64-bit code needs 8 bytes to hold every pointer. This will serve to eat up more cache and memory bandwidth, which are already major bottlenecks for any CPU.
Unless you have a program that actually needs to work on more than 2G of data at one time, 64 bits buys you nothing but extra time waiting to move around millions extra of zeroed out upper bytes.
Some people need that much data in memory at once, but the average home user today doesn't. People typically mention video, but if there's one thing that's easy to stream in and out of a smaller memory space, it's multimedia data.
Re:But it's still a year away, isn't it? (Score:5, Informative)
The only thing this eats up is cache; because the system has a correspondingly wider data bus, there isn't a hit in memory bandwidth (unless the designers are trying to be cheap bastards and give a 64-bit CPU the same data bus width you'd use for a 32-bit CPU). And most 64-bit CPUs have a lot of cache.
And as for what kind of applications you potentially need several gigabytes worth of memory for, there's scientific processing and the like.
Re:But it's still a year away, isn't it? (Score:5, Informative)
Ever since the 8086/8088 duo, the bus width of a CPU has been decoupled from its word size. For a long time, the external bus width of (non Rambus) 32-bit CPUs has been wider than 32 bits. This works because the memory unit fetches entire cache lines. The CPU designers could be less cheap bastards today and bring out 32-bit CPUs with 256-bit wide busses if they wanted to.
And most 64-bit CPUs have a lot of cache.
You could put a lot of cache in a 32-bit CPU. You could put a small cache in a 64-bit CPU. In fact, the biggest difference between high-end and low-end CPUs is just the size of their caches.
To be fair, the current Itanium has an enormous cache that uses the vast majority of the die size and dicates its price and power consumption. It's logic core really isn't that big. If you embedded an X86 core in all of that cache, you'd get a very fast chip. If you teamed up an Itanium core in a Celeron cache, you'd get Celeron-level performance. 64 bits has little to do with it; you're mostly paying for cache and bandwidth when you buy high end CPUs.
Re:But it's still a year away, isn't it? (Score:5, Informative)
The pentium architecture has been loading 64 bits of memory at a time since the PII. They have to because that is the only way the RAM has a chance in hell of keeping up with the processor. Basically they load 2 instructions at once, and have them execute at double the speed of the RAM. (That's also part of why you get such a kick in the pants when you optimize with the -mcpu=i686 flag in gcc.)
Re:Most home users run Windows. (Score:5, Funny)
I did. There was so much less time in between crashes that I learned to move quickly!
Well, that fud filled anti-MS joke should earn me a Karma point or two.
Re:Most home users run Windows. (Score:3, Insightful)
Re:Most home users run Windows. (Score:3, Informative)
Don't forget that Itaniums are clocked far lower than P4's. The difference is that Intel doesn't plan on marketing 64bit chips to the consumer for a couple years, while AMD has their sights set earlier due to the expected lifespan on the Athlon-family and that their future is bet on 64bits.
I guess the main thing to note is that the P4 will be around for a least two years longer, where you can't say the same thing about Athlon family, at least at the high end.
Also coming into the picture is that Apple may have 64 bit workstations in ~ a year.
Obsessive (Score:3, Insightful)
It'll probably still make it into the kernel, though. I mean, alpha and sun architectures are in there, so
Re:Obsessive - You've got it wrong (Score:5, Insightful)
Re:Obsessive (Score:5, Interesting)
He works for a company that doesn't build chips with the i386 architecture. Its emulated in firmwear, "code morphing" is what they call it. Its slightly slower than hardware but its worth the trade for power consumption.
I am betting he has worked with plenty of morph code, creating virtual cpus, subsets of the i386 chip, or different completely. This is akin to designing hardware, in software.
I can't see how him working for Transmeta hurt his understanding of processors. Seems like it would actually enhance his understanding.
Re:Obsessive (Score:3, Informative)
But you can always download Debian [debian.org] for the ia-64 architecture for free...
--
Libation.com [libation.com] - Fine wine and beer
Re:Obsessive (Score:4, Informative)
RedHat does as well, but their installer would lock up at the end of the install every time, with no errors in the install log. I installed Mandrake after I could not get RedHat to install.
This was on a first generation (lion) itanium.
Re:Obsessive (Score:5, Informative)
[linuxia64.org]
http://www.linuxia64.org/
Working distributions date back from 03/2000
Straight from their page:
IA-64 Linux Distributions
# Caldera Systems (initial release 8/4/00) Download at ftp.caldera.com/pub/OpenLinux64
# Debian (initial release 8/10/01) Download at www.debian.org/ports/ia64
# Red Hat (initial release 5/17/00) Download at ftp.redhat.com/pub/redhat/ia64
# SuSE (initial release 6/13/00) Download at ftp.suse.com/pub/suse/ia64
# TurboLinux (initial release 3/13/00) Download at www.turbolinux.com/ia64.html
Their short list of representative companies include: Caldera Systems, CERN, Debian, Hewlett Packard, IBM, Intel, Linuxcare, NEC, Red Hat, SGI, SuSE, TurboLinux, and VA Linux Systems.
If you search their site, you'll see a few emails from Linus in their mailing list archives, so he's obviously involved at least to a degree (I couldn't imagine him not being involved). I dare say he's educated in the matter, and would know all the in's and out's of say putting together an OS.
I'm sure support will be included eventually.. Well, maybe not.. I know Linux will run on SGI, DEC Alpha, ARM (I'm running Linux on a Compaq iPaq with an ARM CPU), so maybe they'll leave it as a patch and let folks do seperate distributions.
I guess it's all in how widely used a processor is.. Not the average Joe has an SGI, Alpha, or Itanium at their house. (I'll keep quiet about the 150Mhz SGI Indy that we use as a doorstop).
Re:the reason the Itanic is a bomb.. (Score:4, Informative)
MS did this to make their new OS more or less platform independant. They didn't want to get 'stuck' on the x86.
Slashdot story here [slashdot.org]. Article here
Comment removed (Score:5, Informative)
Re:Linus holding on to his security blanket? (Score:5, Insightful)
There are a couple of mitigating factors here. First, compilers are usually not very good at using some of the more complicated combined instructions, so they go unused, inflating CISC code to match RISC code. Second, careful optimization of RISC code can identify repeated or unecessary memory operations, and eliminate them. When the memory operations are tied to the arithmetic (or other) operation, that is not possible. Finally, since RISC archetectures generally have large register files and all registers are equivelent, fewer operations are needed to shuffle bits around to where they can be worked on, whereas i386 has a lot of operations that only work on certain registers (though far less than earlier incarnations).
I used to be a big fan of Intel cutting life support on the 386 archetecture, because RISC is so obviously cleaner and nicer. However, I have started to believe the AMD hype about x86-64, which is basically along the lines Linus talks about here. RISC vs. CISC doesn't really matter any more, and the i386 archetecture is not so bad. If you A) add some more general purpose registers, B) eliminate most of the remaining register usage restrictions, and C) Ditch the worst (looking and performing) FPU on the market in favor of almost anything else, you have yourself a very servicable archetecture. Extend the registers and addressing to 64 bits, and you have something that has a lot more room to grow. That is what the x86-64 is, and despite all the rumors that Intel has their own 64 bit extension to x86, if they don't actually release soon people will start to adopt x86-64 and they will be in the unenviable posistion of having AMD dictate the future of their product line.
I have heard frequently that something like only 5% of the transistors on the PPro core were tied to the "i386ness" of the core. I assume with the P4 that number is even less. It seems then that the instruction set is not as big of a deal as we would like to think.
The thing that puzzles me about ia64 is: if the whole point is to "make the compiler do it", and none of the fancy instruction reordering is done in silicon, why is it so expensive?
Re:Linus holding on to his security blanket? (Score:4, Informative)
But the x86 has evolved a lot since the bad old days. You could regard the ugly stuff as vestiges of a primitive form and stick to saner modes.
A larger code size can be a significant disadvantage nowadays. Imagine CISC as compressed RISC opcodes. The current situation is the CPU is VERY much faster than the RAM or even the 2nd level cache. So it's not a big deal to have to decompress (decode/expand to RISC) instructions in the CPU. You gain overall processing throughput that way.
As long as that situation remains, larger code size is a significant issue. It means fewer programs in memory.
True RISC processors you talk about are declining. Most are becoming more pragmatic. Which is what Linus is talking about.
... AND FOR THE RECORD (Score:3, Informative)
Linus too Harsh (Score:4, Insightful)
But, isn't one of those situations he mentions in the interview (namely, running a large database server) what this chip is designed to be doing?
As I recall, the IA64 isn't designed for the desktop user... In fact, desktop users probably don't even need 64 processing for a number of years still....
Yet we're attacking Intel for making the chip to fit it's niche?
Perhaps we need to be more fair in the context of the usefulness of the chip, instead of considering it in all contexts and criticizing it based on that?
Re:Linus too Harsh (Score:5, Interesting)
I need more than 4GB RAM (3.5 if I want it stable) for video editing and 3D rendering.
AMD is developing their 64bit chipsets with the desktop market in mind, as well as the server market. Intel has forgone the desktop, which will turn out to be a huge blunder. Especially when its already a determined fact that the 32bit emulation mode on AMDs line slaughters the 32bit mode on the Itanium.
Re:Linus too Harsh (Score:5, Funny)
It's hard to believe you *really* need all of that RAM. Then again, I haven't done 3D in years.
When I was a CG guy, we dreamt of bus speeds above 66MHz. We couldn't even imagine having more than 32M RAM. And we thought it was reasonable to wait two days for a 2k image to render...
Re:Linus too Harsh (Score:5, Funny)
preview, preview, preview...
Re: *I* need 64-bit to use more RAM for... (Score:5, Interesting)
Sorry while I rant, but you just stomped on one of my nerves. (Unless your comment about neededing that much RAM was a complaint about Adobe or their direct *cough* compeitors -- sucks to be you.)
<Old Geezer Mode> In one case, not long ago, a fellow lab-rat Eric Mortenson [byu.edu] had sold his research and tools to Adobe, but part of the poorly-written agreement said that he couldn't upgrade his work station. So he finished his Ph.D on a 386 with 32-MB of RAM, while the rest of us in the lab were using Pentium 3's, DEC Alpha's, and various SGI boxs. Eric's algorithms ran great on the newer PC's even though he couldn't develop them on the new boxes. Other with Adobe (NOT on that web site interestingly enough) needed the DEC Alphas (64-bit machines) with scads of memory and much more running time to do a similar implementation of Eric's algorithms. </Old Geezer Mode>
3D rendering doesn't take that much RAM. As a 3D graphics researcher and developer, I have worked with models where individual objects were multi-gigabytes (meshes+textures and volumes) but even then, having 1GB of RAM was more than enough for us to reach 20-30 FPS realtime on a box with NT4 and first- and second-generation 3D cards. Software rendering with very realistic detail was a little slower (3-5 fps) but was fine for writing movies. Progressive geometry & texture transmission, continuously calculated view-dependant detail levels, and other current and not-so-current research would solve the memory problems in 3D. Don't believe me? Go to Visualization 2003 [computer.org] and see if the leading researchers are finding RAM as their primary bottleneck. It is a bottleneck of course, but processing speed, caches, and the system BUS limitations are far more troubling.
As for video editing, you only need enough memory for the tools, a few frames, and whatever operations you are performing. In every case that I've had to do video editing, I've seen two classes of tools -- those that take gobs of memory and try to copy the entire video clip into RAM and end up thrashing for memory -- and those that intellegently figure out what is needed and use only the memory needed for the app.
An example of the first, an Adobe AfterEffects rendering a simple math function over time was only able to render 30-seconds because it wanted to buffer the AVI file in memory and ran out of RAM (2GB) after a several-hour rendering. An example of the second, a simple home-brew compositor that used the Windows multimedia API to write the AVI to disk -- the same machine and the same set of images required about 45 minutes to render the entire clip.
So instead of saying:
I would suggest you say " I need to buy tools that are properly designed and implemented for my class of computer. "
Frob.
Re:Linus too Harsh (Score:4, Insightful)
Good marketing beats good engineering!
Re:Linus too Harsh (Score:3, Informative)
Re:Linus too Harsh (Score:5, Interesting)
Sure, but it doesn't really do it significantly better than some of the more common RISC architectures (Sparc, Power, Alpha), and it's a lot more expensive.
As I recall, the IA64 isn't designed for the desktop user... In fact, desktop users probably don't even need 64 processing for a number of years still....
Probably not, but a lot more desktops get sold than high-end servers. If AMD manages to get a toe-hold on the desktop with their 64-bit solution, the chances are a lot better x86-64 will migrate up the food chain than ia64 will migrate down.
Perhaps we need to be more fair in the context of the usefulness of the chip, instead of considering it in all contexts and criticizing it based on that?
Well, that's the point. How useful is it really? What compelling reasons are there for using it in place of a x86-64 on the low end, or something like Power or Sparc on the high-end? All things considered, it really isn't a bad chip. But it is a solution in search of a problem.
Re:Linus too Harsh (Score:4, Insightful)
Re:Linus too Harsh (Score:4, Informative)
wow (Score:5, Funny)
reading between the lines (Score:3, Insightful)
in the article AMD was said to be "reading between the lines" for "X86-64 is the way to go." I think it's really more like "please hire me AMD."
*ducks*
Re:reading between the lines (Score:5, Informative)
Probably not for much longer. My company recently got some Compaq Tablet PC's in to demonstrate our product. They had (iirc) 900Mhz Transmeta processors in. And they ran our product really well - espically when it activated a machine via bluetooth and collected it's data
But the thing about a tablet is power - they've gotta be carried around and used for a fair portion of a working day. As such, the Transmeta chips are a god-send due to very low power consumtion.
I see good things for Transmeta in this market segment
Re:reading between the lines (Score:5, Interesting)
moreover, a PDA can do pretty much everything a tablet PC can, at 1/4 the size and three times the battery longevity. Okay so the screen resolution is not as high - but I think the other parts (and did I mention they cost (a lot) less and are generally more rugged?) of the equation more than balances it out.
I mean, don't get me wrong - transmeta has cool stuff and I would love to see them succeed, but damn I just can't imagine myself plopping down that kind of money for their products, especially since there are alternatives.
p.s. small side note on battery: construction workers have problem with their tool running out of batteries too - that's why they get two and have one charge while using the other one. In most places where tablet PCs are trying to market themselves (hospitals, say), this is a perfectly acceptable stratedy of remaining indefinitely mobile. Heck Apple can do battey swap during standby - I don't see why PCs can't implement the same thing if somebody just went out and did it.
Re:reading between the lines (Score:3, Interesting)
Now, I'm no zealot, and I don't really care what kind of chips are in the tablet PCs, but Transmeta is a good company that makes a great product, and I'd hate to see Intel kill them purely because of greater market power and brand recognition.
Re:reading between the lines (Score:4, Insightful)
1 hour and this puppy would be in a box back to the store.
My biggest beef is the fact that I they don't have a side mounted heat sink so I could use it to keep my coffee cup warm. This puppy is only 800Mhz, and the fan never shuts up. I can't imagine this thing with a faster processor!
The advantage of the Transmeta chip over other designs is that it is a) smaller and b) smarter. Smaller means that you aren't powering millions of gates that aren't being used. Smarter in that it can shut down what few parts it isn't using.
As a result it uses a LOT less power, and it runs cooler.
Code size matters (Score:5, Funny)
It's what you do with the code, not how small it is
Re:Code size matters (Score:4, Funny)
Of course, gcc isn't known for its tricks but for doing it with lots of different processors.
How to improve x86 (Score:5, Interesting)
Re:How to improve x86 (Score:5, Informative)
Well, the only reason why the other registers aren't GP on x86 is that there are instructions that use them implicitly. If you don't care about these instructions you can use them as regular registers.
As an example the EDI register is used by the SCAS* instructions as a pointer to memory. If you don't care about the instructions that use this register like that you're free to do regular operations on the EDI register, it has no limitations on what you can do with it.
You're right to say that there are few registers though. Before I learned x86 I learned MIPS and there you got all the glory of 28+ GP registers. In the simple examples we did I never needed to push and pop from the stack.
Re:How to improve x86 (Score:3, Interesting)
Linus spends a lot of time debunking the "more registers is better" myth. X86 implementations have been addressing this issue for a long time, both by register renaming and by having extremely fast L1 data caches (esp. on P4). Adding more registers will not help speed up code much at all - and anyways requires a recompile and won't help improving legacy code.
Re:How to improve x86 (Score:5, Informative)
Re:How to improve x86 (Score:4, Informative)
They would've liked to have 32 registers, but it simply couldn't be done in a backward-compatible way.
If you want more information on this, and more than a guess, AMD has much information up on its website.
VAX is definitely the best (Score:5, Funny)
Re:VAX is definitely the best (Score:5, Insightful)
You can snicker at the CISC VAX architecture, but it ran multi-user in less RAM than many processors today have CACHE. Remember 2 MB of RAM was a lot when the 11/780 was introduced. 600 MB drives were considered HUGE and were the size of washing machines.
Its scalable architecture let a copy of VMS from the lowliest processor be physically mounted on the most capable and boot just fine.
It had BCD instructions too, not just string.
But Gorden Bell got a lot more right than he got wrong. And the compact and orthogonal instruction set of the VAX looks pretty good today.
the return of "worse is better" (Score:5, Insightful)
although the original essay talks about Unix and the LISP machines, it just keeps being true. Linus talks about the "charming oddities", well there you go: worse is better. Try for perfection, and the real world will eat you alive.
I also think he's right about the masses being what matter; I think Intel is still thinking about the data centre, not Joe Sixpack, with Itanium.
Re:the return of "worse is better" (Score:5, Interesting)
One of my favorite all-time quotes from a flame war was about this topic.
"While they sit in ivory towers, the mongols are multiplying in the hills. Soon, the towers will lay waste and the hordes will have moved on victorious."
Of course he was talking about the ivory tower of PERL, and how the TCL was going to become the dominant force in scripting language. But I've loved the allegory ever since.
--------------------
OnRoad [onlawn.net]: Becuase hacking funner with a hacksaw.
Re:the return of "worse is better" (Score:3, Insightful)
PERL is an ivory tower? Wow, that must've been some flame war. Last I checked Perl stood for "Practical Extraction and Report Language", and I'm pretty sure that "Practical" is not a member of the set "Ivory Tower". It's a great quote, I just wouldn't every guess is was about Perl and Tcl. x86 vs. RISC maybe. But not Perl, unless you consider it one of the hordes.
Re:the return of "worse is better" (Score:5, Insightful)
Perl IS the "worse is better" language.
Tcl goes so far to the "worse" end, it comes back around the circle at "utterly fucking miserable".
Intel is irrelevant anyway (Score:3, Interesting)
Chip Maker (Score:5, Funny)
And if trends continue, it could be Old Dutch.
Of course, Linus works for a chip maker... (Score:5, Interesting)
So he is more likely to know what he's talking about.
Personally, I'm getting a bit tired of all the inane cynicism that passes for reflective commentary in modern society. While it's true that the world has its villians, it is more true that people often just hold opinions irrespective of their economic interest. I for one, trust that Linus is among these favored many.
(Not joking this time)
That's just the beginning. (Score:4, Insightful)
Itanium is a pain to optimize (Score:5, Interesting)
Sun has an interesting( biased) peace [sunmicrosystems.com]on Itanium. If I were buying a server I would avoid Itanium like the plauge. It is possible that Intel could even cancel the whole project and leave customers high and dry. Not to mention software availability is a problem.
I prefer the risc architecture. I like the idea of keeping things simple and efficient which is alot like structured programming. VLIW does not follow this ethic.
And Itanium prices are just insane! (Score:5, Interesting)
1. The CPU's are insanely expensive. They make the majority of x86-architecture Intel Xeon CPU's look like a bargain.
2. Where are the server applications that take advantage of the Itanium CPU? They're not exactly widely available, to say the least.
3. Programming for Itanium is still a somewhat iffy proposition.
Meanwhile, AMD's Athlon 64/Opteron offers these advantages:
1. The CPU will definitely NOT be insanely expensive to purchase.
2. Programming for the AMD x86-64 architecture is not going to require kiboshing a bunch of legacy programming tools and starting from scratch--it is a straightforward process to convert today's programming tools to take full advanratge of the x86-64 native mode.
3. Because the programming tools are so readily available, both operating systems and applications for the Athlon 64/Opteron will be available widely by the time the new AMD CPU's are finally released for sale. Already, UnitedLinux is porting Linux to run in x86-64 native mode, and Microsoft is very likely readying versions of Windows XP Home/Professional and Windows 2003 Server that will run in x86-64 native mode.
Meanwhile, Intel supposedly has a 64-bit x86-architecture CPU codenamed Yamhill that has developed. However, given we don't know how Yamhill implements 64-bit x86 instructions Intel will have to do some VERY serious convincing to Linux kernel programmers and to Microsoft to write Yamhill-native code--and Intel is far behind the AMD efforts.
x86-64 is not a simple recompile (Score:4, Insightful)
It is still a port, with all that is included in that awful word.
Do you understand how little 64-bit safe code there is that runs on 32-bit x86 systems? Most of the linux kernal is already 64-bit safe, because it has been ported to so many other 64-bit architectures already. And it still wasn't a simple "just recompile it".
Speaking specifically to C programs here, porting from 32-bit to 64-bit is not a fun process. A variable declared as "int" switches in allocation size. This is good and bad.
fread (fp, sizeof(int), &var);
Congratulations, you just killed all your existing data files. And if you happened to read a 32-bit pointer from that data file (any structures that you write directly that contain a pointer write a pointer... you'll throw the pointer value away when you read the structure back in, but you still have to read the proper data size), and then assign a pointer to it... Oh, you're going to have all sorts of fun playing with that.
Yes, this may only be an issue with "bad" C code that assumes it will ever only run on a 32-bit platform... That probably covers 99% of all x86 C code out there, for any OS you care to name.
Don't pretend it will be easy moving from 32-bit x86 to x86-64. For most programs, I assure you, it will be non-trivial. Anything that does direct memory allocation will have to be checked very carefully. Anything that does binary file i/o will have to be checked very carefully. Oh, and anything that uses "magic" numbers will have to be checked... Have you ever used an if conditional for an int of the form
if (i == 0xFFFFFFFF)
congrats, you just assumed 32-bit for your architecture.
64-bit clean code is the exception, not the rule.
Re:And Itanium prices are just insane! (Score:3, Insightful)
Remember, the Pentium CPU runs x86 architecture code natively, so it did not require an expensive starting-from-scratch mentality to take fully advantage of the CPU like you have to do with the Itanium CPU. In short, programs that ran on the 80486 CPU could run on the Pentium CPU with no modifications.
Take it with a boulder of salt. (Score:3, Interesting)
It doesn't look like an interview took place at all. It looks like they took some choice quotes out of context from the kernel development mailing list to spur some pageviews.
You know it. (Score:5, Funny)
Netcraft confirms it: Itanium is dying.
One more crippling bombshell hit the already beleagured Itanium community when Slashdot confirmed that Linus thinks Intel dropped the ball with Itanium. Itanium now powers 0.00% or all servers. Coming on the heels of a Netcraft survey which plainly states that Itanium has gained absolutely NO market share. This reenforces what we've known all along: Itanium is collapsing in complete disarray.
You don't need to be a Kreskin to predict Itanium's future. The writing is on the wall: Itanium faces a bleak future, in fact there won't be any future at all because Itanium is dying. Intel has dumped millions into Itanium, red ink flows like a river of blood.
All major surveys show that Itanium has steadily held its ground at 0.00% use while millions of other processors are produced daily. If Itanium is to survive at all it will be among CPU dilettante dabblers and hangers-on. Nothing short of a miracle could save Itaniu, at this point in time. For all practical purposes, Itanium is dead.
Re:You know it. (Score:5, Funny)
0% * 10,000% = 0%
Therefor, the Itanium grew 10,000% last month. The Itanium is a major hit! Get your numbers straight man. Geeze.
:)
but the chip is a BARGAIN! (Score:5, Funny)
pricewatch [pricewatch.com]
almost $3000 for the chip. wow, and for so many mhz, too...
Even better... (Score:3, Funny)
what matters (Score:4, Funny)
If only on-chip instruction set morphing mattered...
(sorry, but it's true...he's living in a glass house on this one.)
Itanium2 is the fastest floating-point processor (Score:5, Informative)
Re:Itanium2 is the fastest floating-point processo (Score:4, Insightful)
In five years, if the Itanium isn't a huge success, will you eat your words?
Inquirer does not do the post justice (Score:5, Informative)
http://www.ussg.iu.edu/hypermail/linux/kernel/0
Now, I agree with Linus on the PPC MMU issue. Can anyone tell me what he means by "baroque instruction encoding"? I have been doing x86 and 68k assembler for a long time, I have never heard of this.
Enjoy,
Re:Inquirer does not do the post justice (Score:4, Funny)
well, you know what they say: if it ain't baroque, don't fix it.
i am going straight to hell for that one.
Re:Inquirer does not do the post justice (Score:5, Informative)
Now, granted, that rather large number probably includes different target registers, but compared to (to use your example) the 68k, the x86's encoding format is just -weird-:
16-Bit:
-An opcode. Either 1 or 2 bytes.
-Some flags and/or target register. 1 byte, optional
-Displacement. 0-2 bytes.
-Immediate. 0-2 bytes.
32-Bit:
-Optional address size prefix byte.
-Optional operand size prefix byte.
-Like above, but with 0-4-byte displacement/immediate and optional scaled index byte.
Now consider the fact that many opcodes implicitly reference registers. Decoding this instruction set by hand would be a royal bitch, and it's exactly the sort of configuration that RISC targeted for demise.
However, Linus makes a good point in the e-mail, which is (paraphrased) that the x86 encoding is basically a very good compression algorithm for its code. While the RISC machines that use 32 or 64-bits for every instruction may be more regular, their code does tend to be larger.
The ironic thing, in my mind, is that the IA-64's encoding is in many ways -more- baroque than the x86s! Instructions in bundles, bundles in groups (or is it the other way around? I never remember), flags at the end to specify how to interpret the instructions before -- it's an interesting take on VLIW, in that it doesn't specify the number of execution units, but YUCK.
Any of you read Fortune? (Score:5, Insightful)
AMD is the wildcard. If x86-64 is the bomb and takes off like AMD is betting on it. Intel lost the 64bit war for many years. IBM and maybe even Sun will quietly (well sun doesn't do jack shit quietly) push x86-64 for the low end while IBM POWER4 and POWER5 and POWER6 down the road run the big end.
Basically Intel needs something like Sun to jump on it IA64 to really give it some credibility and they don't sound real eager to. IBM sounds like they are down for the fight. Alpha, MIPS, PARISC are all pretty dead; long term and relatively speaking. Meanwhile, if Intel doesn't get on the shit quick then they'll have to support x86-64 too and that's the real death blow to IA64.
Anyone remember the Pentium Pro? (Score:3, Interesting)
Well, the PPro turned out to be one of the best chips of its day, and the 200Mhz version performed within 5% of the Pentium II 300mhzs that were released 18 months later. I still have dual-PPro system running my CVS/MP3/print/etc. server.
Linus may be a god in the linux software universe, but I wouldn't discount Intel on this just yet.
Re:Anyone remember the Pentium Pro? (Score:4, Interesting)
Let x86 go! Live in the now! Itanium is a great CPU. Sure, the first iteration sucked, but look at it in the same light that you view electric automotive designs. Now take a step back and look at Itanium II. Itanium II is currently the leading performance CPU for floating point code by a small margin over Power 4 ( which, I might add, costs 2-4x more than an Itanium system ). In four months time Intel is said to be releasing a frequency bump to Itanium II with even more L2 cache. IA-64 performance scales almost linearly with frequency! (and no, you don't even have to recompile to reap the benefits of increased frequency) When Dell saw that the Itanium II performance rumours were true, they did a 180 and are now playing catchup to other vendors. IBM has hedged their bets by building Itanium II systems, Sun is dying, and Opteron will be DOA.
x86 will win...and that's too bad (Score:5, Interesting)
That doesn't mean it's the best solution. Merely the one that's going to win. Architecturally speaking, x86 is one of the biggest loads of crap to come along since...well...hmmm...I can't think of anything crappier off the top of my head.
Extreme register pressure. Segmentation models that make you want to retch. Hacks (PAE, anyone?) that leave any sane designer gibbering incoherently.
If you read the thead, Linus' main argument seems to be "to get good performance, all the other architectures have had to do complex things in hardware, so there's no real hardware simplification in going with a 'better' architectural design. Plus variable length opcodes are a natural cache optimization!"
I respect Linus a great deal, but he's talking out of his ass here. I agree that IA-64 may be best relegated to some academic's wet dream, but just about any of the major RISC architectures are big wins over x86. Intel and AMD have worked miracles with x86 to get it to run fast, but at a staggering engineering cost. The teams working on RISC chips tend to be a fraction of the size to come out with a high-performance chip. If the RISC houses had an engineering team of comperable size (and access to the same bleeding edge lithography processes) it would easily be worth an extra 25% in performance, minimum.
If you look in the embedded world, just about anything that requires serious embedded performance is RISC based (MIPS/ARM, mostly), simply because it decreases the engineering work involved by an order of magnitude. Plus, writing low level software for just about any RISC chip is loads easier than for x86.
Unfortunately, x86 is here to stay for the foreseeable future. Intel killed Alpha, not by buying it, but by doing a great job of pushing cheap x86 performance to the same level as Alpha, often surpassing it in later years. The same thing is happening to the other workstation-class RISC vendors, and, honestly, to Itanium, too. I don't see any reason to believe the march to x86 hemogeny outside the embedded world is likely to slow anytime soon.
TPC would say differently (Score:3, Informative)
http://www.tpc.org/tpcc/results/tpcc_perf_resul
Listen to Torvalds about making money (Score:5, Interesting)
Linux made him ... oh wait nevermind.
Transmetta makes a lot of ... oops there I go again.
Intel is a company that time and time again proves it knows how to make money. It may not always support the crowds it should (like /. readers and superusers) but they are still making money.
Sure there are lots of difficulties going to a new ISA. Especially at the server level. And yes Itanium has had some performance problems, especially in its first revision, but then again when was the last time you saw a company produce a 1st generation microprocessor and have it do well?
IA64 offers tons of advanced ILP concepts and OS concepts that, when correctly implemented, can increase performance drastically. (if your looking for examples, data speculation, control speculation, predication, registers with kernel access only, rotating register files, a much larger register set, etc).
The problem may be, it puts a lot of complexity into the Compilers, and compiler technology isn't good enough for Itanium yet.
But then again, what do I know, Linus has made more money than I have. I just like arguing the other side while everyone else screams about how the Itanium will die.
I completely disagree (Score:5, Insightful)
A succesfull architecture may be used for 20 years, and there is no way you can know which complex instructions will be most usefull/popular in several years. And when you start making upgraded chips for a design, these complex instructions will be a real pain in the ass.
The x86 architecture is a perfect example - it is a mess and many of its instructions are not used at all. The x86 is succesful because the way history played out - it was put on the first pcs, and the incredible numbers of precessors sold allowed intel to put more development money into that architecture than any body else was able to put into theirs. And large initial investments, and large sales numbers mean that individual chip prices can be lower.
Nevertheless, the alpha and some of sun's chips can still compete with intel in the server environment, with much smaller investments and worse production technology. That basicly shows the weakness of the x86 architecture.
When you have multiple pipelines and multiple stages per pipeline the size of your chip will grow exponentially to the number and complexity of your instuctions. Eventually adding more pipelines will be pointless and then you are reduced to adding cache as the only way you can improve your architecture.
For a Risc architecture, multiple pipelines will cost less overhead and more can be used. Processor performance can be increased by adding more pipelines without having to increase speed.
Intel has the money and the clout to make a succesful risc architecture. It is brave of them to do it, but from an engineering point of view it is the only right thing to do.
AMD will support x86 because they do not have the clout to force a new architecture on the world. It is a completely understandable policy, but then again will result in worse performance (unless their engineers are somehow much more brilliant than intel's).
Of course the real world matters and in the real world almost everyone uses x86. But if someone can change that it is intel.
Microsoft will decide the outcome of this battle (Score:5, Insightful)
Linus is too young to remember (Score:4, Informative)
Torvalds wrote that Intel had made the same mistakes "that everybody else did 15 years ago"
when RISC architecture was first appearing.
RISC first showed up on the commercial radar screen almost twenty years when MIPS Computer Systems [pmc-sierra.com]
was formed. But people at Stanford (and Berkeley, IIRC) had been publishing papers about
RISC for four or five years before that, and people at IBM were working on it even before that.
And the CDC 6600 was a RISC machine in the 1960s. If you don't believe me, ask Cray's Chief Scientist Burton Smith [cray.com].
In seeking the unattainable, simplicity only gets in the way. -- Alan Perlis
Depends on your point of view if Itanium sucks (Score:5, Interesting)
It will probably never be very good for most C and C++ apps. Pointer aliasing in particular will give the Itanium compiler fits. Unless you manually tell the compiler there are no two pointers accessing the same memory the compiler can't safely or effectively pack the parallel instructions in the VLIW and that is the essential to good performance in VLIW.
You do have to really question the sanity of some execs at Intel and HP for spending the staggering sums they've spent on Itanium. Supercomputing just isn't big enough a market for them to have any chance to recoup their investment in our lifetime and they aren't going to sell it in to the mass market as Linus said.
For a general purpose 64 bit processor to run existing C and C++ applications AMD is going to win hands down. But as many have noted its not likely most people are going to really need a 64 bit processor anytime soon so Intel will probably do just fine selling 32 bit x86 processors for a while.
Re:Itanium 2 is great (Score:5, Insightful)
I think that was his point. It's great technically but it sucks in the real world. If its not practical its a shitty architecture IMHO.
I also think the x86-64 is a more viable solution as well.
Re:Itanium 2 is great (Score:3, Informative)
What the hell are you smoking? I want some.
Every risc archeticture with the exception of the sparc3 performs better. Especially IBM's power4 and the upcomming power5.
Also there is more then speed when comparing architectures. Itanium is a terrible platform to write compilers for. Alot of optimizations which are tradionally done in the chip at runtime itself must be set by compiler options. Not all of it can be done efficiently like this.
Speedwise Alpha is getting old now but still is the fastest chip around untill the power5 comes out this fall. For coding and optimization, Mips is the best cpu around.
Re:Itanium 2 is great (Score:5, Insightful)
Optimizations done at compile time are far better than optimizations done at runtime. At compile time, more is known about the structure of the program, where the flow of the program will be going, and more time intensive optimizations can be done than ones done in realtime in the cpu.
Itanium is slower right now, but as compilers with optimizations tailored to it come out, it has the potential to kick every RISC processor's ass. The reason for this is that RISC processors are bogged down by doing the optimizations at runtime that Itanium doesn't have to care about. This means the Itanium will have the same or less stalls and more efficient use of the processor.
Go read up on compiler optimizations to see why cutting out the middleman of instruction sets is a good thing.
Re:Itanium 2 is great (Score:5, Insightful)
As time goes by, computer languages are trending towards more dynamic behavior. This tends to favor things like JIT compiling and linking into already running programs. Fewer people are going to be able to afford the luxury of spending hours to preprocess their code to fit into an extremely static ("explicitly parallel") hardware model. This will be especially true when chip makers treat their rocket science static compilers as a separate profit center.
Not to mention, the CPU is the one that is actually in the position to know what optimization is needed right now based on the currently running data set. Given that there is usually a several year lag between the latest CPU developments and widespread compiler support, I'd go for a CPU that knows how to do its own tricks. (Hasn't the Itanium architecture been nailed down for almost a decade now? And we're still waiting on better compilers for it?)
Re:Itanium 2 is great (Score:4, Insightful)
That's the key isn't it? Itanium demands breakthroughs in compiler technology. Will this happen?
I dunno.
Re:Itanium 2 is great (Score:4, Interesting)
the damn things have THOUSANDS of pins (like 8000+ on some iterations, iirc?), and drains MASSIVE current - as in, the kind that makes your dual O/C'd athlon look like an LCD clock.
I think IBM's power4/5 chips are as well "unsuitable for real world" as well, but for some different reasons. That's not to say they won't be put into some niice servers though - and that's the point, itanium2 wasn't meant for desktop (for at least a while) anyway, and I think in their world they play some different rules.
Re:which architectures? (Score:4, Insightful)
Re:Itanium 2 is great (Score:3, Insightful)
Makes ya curious why anyone should care about what he says, duddn't it?
I'd rather hear about what people can do than hear people complain about what they can't do. Why? Because you buy hardware to suit your needs, not suit your needs to your hardware.
Re:Where's the Harsh Words for Transmeta? (Score:3, Insightful)
It's not 'revolutionary', if there is no revolution.
People toss this word about like it means 'incremental change'. The Industrial Revolution was a revolution because it entirely changed the way people live and work. How is anything Transmeta done even remotely close to something of this level? It's not.
Re:When is the... (Score:4, Informative)
Re:When is the... (Score:4, Interesting)
This is probably a troll, but... (Score:4, Informative)
Mickey-mouse == poor quality, inconsistent
Outfit == organization, company.
Re:the benifits of 64bit processors? (Score:5, Insightful)
Re:the benifits of 64bit processors? (Score:3, Informative)
Re:Why 64 bit (Score:5, Funny)
Actually that's a good question. I think chipmakers should slow down a bit and enjoy life. Perhaps meet halfway with a 48 bit chip...
Re:Why 64 bit (Score:4, Insightful)
Would you really want to return to the dos himem.sys, memmaker, extended and expanded memory, and autoexec.bat hacks again? Sure they were not needed for the first several years of DOS when people had only 512 kb of ram but the situation changed quickly. Its this is what first turned me off from Microsoft. If I had 8 megs of ram and had 6 free why couldn't I run dune2? Do I not have a 32-bit chip? I had to create a custom boot disk with autoexec.bat just to run the game. That is screwed up.
A Hammer is nice just like a 386 was nice to have run 16-bit software. They were particularly usefull in Windows3.11 since it actually had 32-bit disk access while everything else was 16-bit. The hammer is fast at running 32-bit software and is easily upgradable if customers want to add ram. They do not understand techno mumble jumbo. Its not like you can explain the base of 2 math when Joe just wants to purchase a 4 gig ram stick and wonders why Windows wont recognize all the ram.
Re:Why 64 bit (Score:3, Funny)
Wha? I would have given my right arm for 512kb. Mine had 128k. Next step up had 256k. Geeze, 512k? We'd have been in happyland...
Re:Code size? (Score:5, Informative)
Re:Code size? (Score:3, Insightful)
This is irrelevant with the trace cache in the Pentium4. Instructions are decoded into micro-ops, by "traces" which are sequences of executed ops, and stored in the cache. Compact x86 CISC instructions are not stored in the trace cache.
Re:Code size? (Score:3, Informative)
Re:Code size? (Score:3, Insightful)
Yeah, RISC workstations always seemed sluggish to me for interactive use. Not sure if it's really due to the increased time to load binaries, or some other optimization issue.
Re:AMD (Score:3, Informative)
Uh.. what? AMD can't leave the CPU business. That would leave them with.. Flash memory. We all know how much revenue that brings in for them.
You have any links to support this claim?
Re:AMD (Score:3, Informative)
Um when was that? The only thing I recall was a Slashdot article with a misleading headline...