If you'd asked me a year ago about processor architecture, I would have told you that it is not my area of interest and wouldn't have had much else to say about it. I think it all started with my two undergrad architecture classes, I hated them. I suppose I should have known better than to give up so fast. I had the same thing happen to me with terrible 7th grade history teacher and it took until my first college history class before I realized it was an interesting topic after all.
When I started the class I knew I'd have to do a research paper. I have been mildly interested in the Niaraga processor since it came out a few months ago so I decided I would find some way to incorporate it into my research. What I ended up doing was a comparison of the architecture of the 64-bit processors you will find in current computers (current being anything released in the last 2-3 years) and their performance on some of the SPEC benchmarks.
When I started I was pretty clueless about the subject. I had no idea Intel had EMT64 in the Pentium line, that there was an Itanium 2 (and a 3rd generation on the way), or that the Power5 was being used anyplace but in Apple's computers. I realized, if I am this clueless about all of this, then likely other people (both computer-geeks and regular consumers) are too. As I started to talk to other computer-savvy friends of mine, I found they were. It seems computers are like cars, most people know a fair amount about the model car they have, but only a small percent of the population are true gear-heads. I knew my two 3.0Ghz Xeon processors in my Dell were dual-core and had threading. I had no idea the Power5 did that as well, or even that the UltraSPARC IV+ was dual-core (and I work for Sun).
So, I am not an architecture expert. I will probably make mistakes. I didn't take all of these processors apart and look inside, so whatever I know is based on what has been published by the hardware manufacturer or other people doing hardware research. If I make a mistake, please correct it! With that in mind, let's get started.
The processors I'll be focusing on:
- Alpha 21364
- Itanium 2
- Opteron
- Pentium D
- Power5
- UltraSPARC IV+
- UltraSPARC T1
- Xeon (Nocona and Paxville)
You will notice there are a few processor families missing, such as the MIPS line of processors. I wanted to focus on processors you are likely to find in a machine you could buy today. I tried to be as fair as I could with my analysis, but I admit I had some bias going into this. I have never been a big Intel fan. For me, Windows and x86 were always "ew". I do have an of x86 box at home and love it (it is screamin' fast) so I am not totally against them anymore. I also wanted to see the Sun processors do well. I think working for Sun, it is expected I might be cheering for the home team. I can say that many things I found surprised me, others disappointed me, and my opinion of most of these processors is very different than when I started.
Working Backwards
Rather than go through all the analysis and then write a conclusion, I am going to start this off with my conclusion and then we can look at how I got there.
If I had to pick the best overall processor (based on the research I did and the specs I looked at), it would have to be the Power5. The T1 blows it away (and every other processor) in benchmarks like
SPECweb2005 and
jAppServer2004 but the Power5 tops all other processors in these benchmarks and also shows great performance on the CPU2000 benchmarks as well. The T1 has no published CPU2000 results. It is not a data crunching machine so I doubt we'll ever see CINT2000 or CFP2000 results for it. Based on processor only, if I wanted to buy a web server, I'd pick the T1, for anything else, I'd choose the Power5.
The Opteron would make it to my number two place. It was in the top two for overall processor speed (CINT2000) and was a close second to the Power5 for throughput for up to four processors (CINT2000Rate). It is too bad there are not 8-way and higher Opterons so we could get a really good look at its throughput scalability.
The Itanium 2 and the UltraSPARC IV+ both fall in the middle. Neither processor is very fast but they both have decent thoughput and both scale fairly well. Even though neither of them are the top performers, they are the most common processors for benchmark results for machines with 36 or more processors. The next generation Itanium, Montecito, makes some movement in design in the same directions as the T1. It will be interesting to see how it performs once it is released.
The Pentium family processors fall at the bottom. The single-core Xeon is fast. It had the second highest average score on the CINT2000 benchmark. The Pentium D fell in the middle for speed. Both of them have good throughput for a single processor machine. After that, things start to fall apart for the Pentiums. There are no published results for the Pentium D for more than single-CPU machines. The Xeon's throughput drops noticably at two processors and pretty much falls off a cliff above four processors. Neither machine performs very well on the SPECweb2005 or jAppServer2004 benchmarks.
You might ask, but what about the T1 and the Alpha, where do they fit in? It is not really fair to put the T1 in this ranking, at least not directly. It really is not the same type of processor as the rest of these. The processors above were designed to be all-purpose processors. The T1 was designed with a specific type of application in mind, "network-facing". The T1 would be at the top for these types of applications, and would not do as well for others. Without published results, the best I could do is speculate and I want to discuss facts, not play guessing games. With the Alpha, I didn't find out until after my paper was done that there was chip released recently (2003). I have not had a chance to take a close look, but I will.
I know that by putting this up, someone is going try to argue that I have not provided the details. As I said, this is the conclusion, not the whole of my research. I can only fit so much into a single blog entry. Have no fear, the details, more than you probably want, are coming in future blog entries.
Tom pointed out it might look bad that I didn't put a Sun processor in the #1 place. Well, if telling the truth gets me in trouble, I can live with that. The reality is that anyone can look at these results, they are all published on
SPEC's web page. I only had time to look at the integer CPU2000 benchmarks, SPECweb2005 and jAppServer2004. There are so many more to look at (and I plan to) that by the end of this, those rankings will likely change.
That is all for now. Stay tuned for next time when I take a look into some of the architecture designs for these processors.
Greetings, fellow architecture geek. I'll point you to this article. It covers more ground on the economics of mpu development, important ground in my mind. While it doesn't explicitly talk much about Sun or the sparc ISA, you can extrapolate some trends.
Other than that, I pretty much agree with your ranking of existing chips. I agree that the T1 is a hard critter to rank....it excels in some workloads and sucks in others. Of more interest will be Rock and how it compares to other TLP-focused designs in 2007. Frankly, despite the way everyone (justifiably) rips on Itanium2, I think EPIC has the best technical potential in TLP-focused designs. Assuming that Intel can fix its org problems in the Itanic group and start meeting deadlines, which at this point seems a long shot.
Posted by Steve on March 17, 2006 at 11:23 AM PST #
As for the Itanium, I read a good paper on the Montecito in IEEE Computer (by C. McNairy and R. Bhutia) and what they are doing sounds intriguing if they can pull it off. I think the Itanium was a big disappointment to a lot of people and left little motivation for folks to drop their legacy 32-bit x86 applications and hardware.
Posted by Kristin on March 17, 2006 at 11:39 AM PST #