Intel Woodcrest, AMD's Opteron and Sun's UltraSparc T1: Server CPU Shoot-out
by Johan De Gelas on June 7, 2006 12:00 PM EST- Posted in
- IT Computing
MySQL Results: Scaling
Back to our main subject, our astute readers have probably already noticed a weird anomaly. Let us analyze this further. If you look closely at both our measurements, Quad-core and Dual-core x86, you'll notice that the scaling is negative. To make it more clear, we made an average of all concurrency numbers from 5 and higher.
This is nothing short of amazing. It seems like an anomaly, but this is not the case. These benchmarks have been checked, verified and checked again. They are accurate. The x86 cores running on Linux perform better with two cores than with four cores, but the T1 running Solaris actually improves performance going from 4 to 8 cores.
So who is guilty? Linux or the Opteron system? We had to test with Solaris on the Opteron to be sure. However, the Serverworks chipset of our MSI 1U server was not supported by x86 Solaris. So we went back to our homebuilt server, based on the MSI K8N Master2-FAR.
And this puts the performance of our UltraSparc T1 in a whole different perspective. First of all, it is clear that while MySQL might not be the most scalable database, the current kernel of Linux is not helping matters. We did tweak the Linux kernel two ways: the 2.6.15 kernel was optimized for either Intel's or AMD's architecture and the AMD architecture also got NUMA support.
So what is going on here? After talking to our MySQL guru (P. Zaitsev), it turns out that in some circumstances, MySQL might cause trouble for the Linux mutex (mutual exclusion) implementation: "mutex ping-pong". The mutex implementation makes sure that two threads cannot access data in the main memory that is locked by another thread.
It seems however more a MySQL problem than a Linux one, as other databases like DB2 scale very well in Linux. For DB2 under the same load we noticed a performance increase of no less than 80-85% when going from two to four cores. Also, with some loads, the bad scaling kicks in later than our "Select dominated" load. Intel's performance labs told us that they also ran into the same problem.
These issues are not as severe as the problems we encountered with MySQL in Mac OSX. Note that Apple seems to have recognized the problem and seems to offer a workaround. We'll report back with other MySQL workloads to investigate the MySQL scaling problem further.
PostGreSQL Results
PostgreSQL 8.0.7, another open source database, uses processes and not threads to deal with connections. The consequence is that the benchmark numbers are a lot more stable: once each core is busy with it's process, you almost get maximum performance. In other words, the results didn't change much from 5, 10 or 25 concurrent users. To keep things simple, we only list the numbers with 20 users, which results in peak performance. The queries per second numbers at 5 and 25 were only a few percent lower. We did not include the T2000 Sun Server as the optimal PostGreSQL configuration is still under investigation.
Another clear victory for Woodcrest. On the Opteron, every 10% in clockspeed increase seems to result in a 7% performance increase. So if we extrapolate, an Opteron 3 GHz would arrive at 616 queries per second.
Back to our main subject, our astute readers have probably already noticed a weird anomaly. Let us analyze this further. If you look closely at both our measurements, Quad-core and Dual-core x86, you'll notice that the scaling is negative. To make it more clear, we made an average of all concurrency numbers from 5 and higher.
MySQL Linux (Queries/s) | |||||
Sun T1 4/8 cores 1 GHz |
MSI K2-102A2M Opteron 275 |
Xeon 5160 Woodcrest 3 GHz |
MSI K2-102A2M Opteron 280 |
||
Average Dual-core (T1: quad-core) |
362 | 749 | 996 | 805 | |
Average Quad-core (T1: octal-core) |
433 | 590 | 904 | 622 | |
Speedup Dual to Quad | 20% | -21% | -9% | -23% |
This is nothing short of amazing. It seems like an anomaly, but this is not the case. These benchmarks have been checked, verified and checked again. They are accurate. The x86 cores running on Linux perform better with two cores than with four cores, but the T1 running Solaris actually improves performance going from 4 to 8 cores.
So who is guilty? Linux or the Opteron system? We had to test with Solaris on the Opteron to be sure. However, the Serverworks chipset of our MSI 1U server was not supported by x86 Solaris. So we went back to our homebuilt server, based on the MSI K8N Master2-FAR.
MySQL Solaris (Queries/s) | |||
Sun T1 4/8 cores 1 GHz | Opteron 280 Solaris | Opteron 280 Linux | |
Average Dual-core (T1: quad-core) |
362 | 456 | 799 |
Average Quad-core (T1: octal-core) |
433 | 605 | 625 |
Speedup Dual to Quad | 20% | 33% | -22% |
And this puts the performance of our UltraSparc T1 in a whole different perspective. First of all, it is clear that while MySQL might not be the most scalable database, the current kernel of Linux is not helping matters. We did tweak the Linux kernel two ways: the 2.6.15 kernel was optimized for either Intel's or AMD's architecture and the AMD architecture also got NUMA support.
So what is going on here? After talking to our MySQL guru (P. Zaitsev), it turns out that in some circumstances, MySQL might cause trouble for the Linux mutex (mutual exclusion) implementation: "mutex ping-pong". The mutex implementation makes sure that two threads cannot access data in the main memory that is locked by another thread.
It seems however more a MySQL problem than a Linux one, as other databases like DB2 scale very well in Linux. For DB2 under the same load we noticed a performance increase of no less than 80-85% when going from two to four cores. Also, with some loads, the bad scaling kicks in later than our "Select dominated" load. Intel's performance labs told us that they also ran into the same problem.
These issues are not as severe as the problems we encountered with MySQL in Mac OSX. Note that Apple seems to have recognized the problem and seems to offer a workaround. We'll report back with other MySQL workloads to investigate the MySQL scaling problem further.
PostGreSQL Results
PostgreSQL 8.0.7, another open source database, uses processes and not threads to deal with connections. The consequence is that the benchmark numbers are a lot more stable: once each core is busy with it's process, you almost get maximum performance. In other words, the results didn't change much from 5, 10 or 25 concurrent users. To keep things simple, we only list the numbers with 20 users, which results in peak performance. The queries per second numbers at 5 and 25 were only a few percent lower. We did not include the T2000 Sun Server as the optimal PostGreSQL configuration is still under investigation.
PostgreSQL 8.0.7 (Queries/s) | |
DL385 1 x Opteron 280 | 517 |
Intel 2 x Xeon "Irwindale" 3.6 GHz | 448 |
MSI 1U 1 x Opteron 275 | 490 |
MSI 1U 1 x Opteron 280 | 524 |
Intel 1 x Xeon 5160 WC 3 GHz | 673 |
Another clear victory for Woodcrest. On the Opteron, every 10% in clockspeed increase seems to result in a 7% performance increase. So if we extrapolate, an Opteron 3 GHz would arrive at 616 queries per second.
91 Comments
View All Comments
zsdersw - Thursday, June 8, 2006 - link
I'm not saying the board is particularly stellar.. I'm saying that it's referred to by MSI as a "server" product.ashyanbhog - Thursday, June 8, 2006 - link
Irespective of what MSI says,fact is there were better mainstream boards for Anandtech to choose from if a honest, independent review was their intention
zsdersw - Thursday, June 8, 2006 - link
I.E., your comment belongs under someone else's.. not mine.zsdersw - Thursday, June 8, 2006 - link
And that's completely irrelevant to what I was saying.ashyanbhog - Thursday, June 8, 2006 - link
all I was saying is, its nice to see Intel finally making a comebackbut Anandtech seems have conducted a skewed benchmark that favours Intel, that unfairly increases the performance gap between Opteron and Woodcrest
In the final summary of the review he says
"In one word: Woodcrest rocks!"
There are quite a few holes in the review, the motherboard is just on of them,
I quoted MySQL number errors in my posts above,
just search for "ashyanbhog" in the page and read my earlier comments if you are interested.
AnandThenMan - Thursday, June 8, 2006 - link
What you're saying in general is irrelevant. Intel calls their integrated graphics "high performance" but that doesn't make it so.
MSI calling that a server board is just marketing, it does not represent what a true, high performance server class mobo is all about. Not that it's a bad piece of hardware, it is good for the price to be sure. But it is NOT a server class product.
zsdersw - Thursday, June 8, 2006 - link
At a certain price point, it could certainly be a nice entry-level server board.Performance alone isn't what makes a server-class motherboard a server-class motherboard.
ashyanbhog - Thursday, June 8, 2006 - link
One of the motherboards used in this review is a cheap piece that trades performance to keep price low.
Why was that motherboard selected over mainstream server/workstation boards that are proven to offer slightly better performance? Why pick a 250$ MSI board for opteron over $500 boards from Tyan, Iwill, Supermicro or others. The Intel Xeon "Inderwale" gets a $500 board, so price could not have been the issue.
So what's the point in using a Single Channel board for this benchmark, when price was not a limitation?
Single memory channel boards like the one from MSI, are known to offer lower performance than dual / dedicated memory channel boards when used in 2P Opteron configurations. Dual Channel boards are the mainstream boards for 2P Opteron systems. There are plently Server boards available in Dual / dedicated memory lane configuration. There are enough reviews on the net to show the performance diff b/w single memory channel boards and dual memory channel boards
The issue is not about the MSI or its class, the issue is why did Anandtech pick a Single memeory channel board instead of a more mainstream dual memory channel board.
Hope that clears up "zsdersw"'s query
zsdersw - Thursday, June 8, 2006 - link
I'm not making excuses for the choices that were made regarding this comparison test. I'm talking about what constitutes a "server-class" motherboard.ashyanbhog - Thursday, June 8, 2006 - link
Game PC review link for the above commenthttp://www.gamepc.com/labs/view_content.asp?id=tig...">http://www.gamepc.com/labs/view_content.asp?id=tig...