Benchmarks IBM DB2 8.2: Intel versus AMD

Below, you will find our results for the different platforms of AMD and Intel. At the last moment, the Pentium 4 670 3.8 Ghz arrived in the labs, so we decided to give this CPU a quick test run. In these tests, we enabled the new Asynchronous I/O feature, which gave the Intel Xeon a small performance boost (4 to7%), while it made the Opteron perform only a tiny bit faster (1%).

Concurrency Dual Xeon
Irwindale
Single Xeon
Irwindale
Dual Xeon Nocona Single Xeon Nocona Dual Opteron Dual Opteron Single Opteron Dual Opteron Intel Pentium D Dual Core Intel Pentium 4
3.6 GHz 3.6 GHz 3.6 GHz 3.6 GHz 2.2 GHz 2.4 GHz 2.4 GHz 2.6 GHz 3.2 GHz 3.8 GHz
                   
1 94 90 101 95 97 116 119 124 89 99
2 172 109 164 107 202 219 151 233 141 118
5 207 114 215 110 262 287 156 308 199 123
10 228 115 223 117 268 294 156 320 201 126
20 225 118 207 112 264 306 153 328 202 124
35 232 116 215 116 275 284 153 308 174 120
50 230 114 214 113 275 281 150 307 203 127
                     
AVG 225 115 215 114 269 291 153 314 196 124

All averages are calculated on the concurrency levels from 5 to 50. There is no doubt about it: it pays off big time to invest in a multi-CPU machine in DB2. It is of no use to invest in the fastest single CPU system. A mid-range dual CPU system will easily outperform it.

The table below is an overview of the differences in the CPUs.

Concurrency Dual versus Single Xeon Irwindale Dual versus Single Xeon Nocona Dual Opteron 250 vs Single Dual Opteron 2,6 GHz versus Irwindale 3,6 GHz Xeon Irwindale versus Nocona
1 5% 6% -3% 32% -7%
2 57% 53% 45% 36% 4%
5 82% 96% 84% 49% -4%
10 99% 91% 89% 40% 2%
20 92% 84% 100% 46% 9%
35 99% 86% 86% 33% 8%
50 102% 89% 88% 33% 7%
           
AVG 95% 89% 89% 40% 5%

The performance of DB2 scales almost perfectly on the different platforms. Irwindale scales a little better than two other CPUs, probably thanks to the larger L2-cache. However, this does not save Intel from defeat: the Opteron 2.6 GHz is the champion in these tests. What happened? In our previous test, the fastest Xeon (Nocona 3.6 GHz) was a bit faster than the best Opteron (250, 2.4 GHz). First of all, the Opteron 252 scales very well, and is 8% faster than its older 2.4 GHz brother, as the 252 is clocked at 8.3% higher. But the Xeon Irwindale gets a 5% - 7% performance from its larger L2-cache, so that is not the real issue.

However, when we compared a 64 bit with a 32 DB2 instance, the Opteron gained 13% performance from moving to 64 bit, while the Xeon lost 3 to 4%! Secondly, with the 2.4 kernel, the Xeon gained an additional boost from Hyperthreading, while we could not measure this performance increase anymore. Thirdly, it seems that the Opteron gains more due to the move from the 2.4 kernel to 2.6 kernel than the Xeon.

Benchmarks IBM DB2: Single core versus Dual core

What about our Dual core Opteron 875/275? We managed to get DB2 running on Gentoo, kernel 2.6.12rc5. You can find the results below. All tests have been performed on the MSI K8Master-FAR2.

Concurrency Dual Dual Core AMD Single Dual Core AMD Dual Opteron Quadcore vs Dual Dualcore versus Dual Single
2.2 GHz 2.2 GHz 2.2 GHz
         
1 107 118 111 -9% 6%
2 194 213 162 -9% 32%
5 368 242 222 52% 9%
10 423 256 227 66% 13%
20 448 253 216 77% 17%
35 434 246 213 76% 16%
50 429 251 218 71% 15%
           
AVG 421 250 219 68% 14%

Simply amazing how much punch the Dual core 275/875 has. It offers a 14% performance increase over a completely similar configured dual CPU Opteron 248 setup. Add a second core, and DB2 8.2 rewards you with another 70% performance increase. And all this is happening on our ATX MSI K8Master-FAR2 board.

Benchmarks IBM DB2: Single versus Dual versus Quad

What about the “conventional” quad CPU configuration? The Iwill H4103 was our testing platform.

Concurrency Dual Opteron 848 Quad Opteron 848 Quad versus Dual
2.2 GHz 2.2 GHz  
     
1 102 104 2%
2 184 186 1%
5 212 318 50%
10 218 358 64%
20 212 375 77%
35 223 393 76%
50 208 377 81%
       
AVG 214 364 70%

DB2 continues to scale very well. A 70% performance increase is the result of adding two more CPUs. Notice that the Quad CPU need 20 concurrent connections running many queries to get to the full potential (up to 80% performance increase). The Quad Xeon was unfortunately not available to the lab.

Benchmarks (continued) Analyses and Conclusion
Comments Locked

45 Comments

View All Comments

  • linuxnizer - Tuesday, July 19, 2005 - link

    Late contribution...

    The article mentions that Linux didn't work well with AMD Dual Core. The reason could be this:

    http://www.iwill.net/inews.asp?n_id=35

    it says:

    NVIDIA CK804 does not support dual core under Linux yet, only under Microsoft Windows.
  • Illissius - Saturday, June 18, 2005 - link

    Nice article. I'd also be interested in PostgreSQL, being the "other" major open source database... specifically, whether it's any better at scaling with multiple CPUs. (Not that I have any practical use for this information, I'm just curious.)
  • Viditor - Saturday, June 18, 2005 - link

    Seriously, mickyb and elmo may be correct about the Intel compilers (I frankly don't have a clue what's used in most shops)...

    The real problem is that it's a virtual impossibilty to create a "level playing field", but I have to say to the critiques of the article that Johan has done a stellar job of coming as close as possible!
  • Viditor - Saturday, June 18, 2005 - link

    "They aren't testing compilers"

    Oh sure...just throw REALITY into the mix why don't you...!
    ;-)
  • Icehawk - Saturday, June 18, 2005 - link

    They aren't testing compilers.
  • Viditor - Saturday, June 18, 2005 - link

    mickyb - Thanks for the input! Fair enough...maybe Johan could use both the Pathscale compiler (which is optimized highly for Opteron) and the Intel optimized compiler on his next series of tests?
  • mickyb - Saturday, June 18, 2005 - link

    I dissagree with the comment that a large number of people don't use the Intel compiler. I (other developers and IT shops) only use Intel compiler's for Linux. It is the fastest one out there for x86 and Itanium.

    If you are running a large database that requires a large server (compared with a desktop loaded with RAM to run a personal blog site) like this article is testing, you will be setting up the environment with a trained IT professional that will use the compiler that is fast and stable.

    When we build our product for all the UNIX platforms, we always use the vendor compiler instead of gnu. gnu works great and is free, but it is not optimized nearly as much.

    This is like saying the same audience won't recompile Linux on the platform they are going to install it on. This is the first thing you should do....and with an Intel compiler. There should be no real reason why one vendor Linux is faster than the others except for compile options and loaded modules. You cannot run Linux out of the box, it doesn't come in a box where I get it. :)
  • DonPMitchell - Saturday, June 18, 2005 - link

    We need to see TPC-C benchmark results for MySQL and other new database systems. Why won't they step up and allow themselves to be compared to the major commercial systems?
  • Viditor - Saturday, June 18, 2005 - link

    ElMoIsEviL - "as much as I am un-biased"

    C'mon mate...anybody who has read your posts knows you're heavily biased towards Intel, just as people who have read mine know that I am biased towards AMD. The important thing is to try and set aside the bias to look at things from both sides...I do try, but admittedly don't ALWAYS succeed. :-)

    I imagine you probably posted before you read the explanation of what a query cache is...understandable.

    As to not using an Intel specific compiler, I suppose that if it HAD been used I would be complaining as well. We have to rely on Johan and Anand (who frankly know a Hell of a lot more about this than either of us) to choose based on what the market actually uses...if you can site impartial industry sources that show otherwise, I'm sure we would all (especially the AT staff) would love to see them.
    I do know that over the years, Johan and Anand have shown themselves to be quite unbiased in their articles (you should go read some of them on Aces as well)!

    There are certainly things that I could pick apart as well..e.g. when he states
    "In the second half of 2004, already one million EM64T Xeons were shipped"
    Yes they were shipped, but that doesn't mean they were sold. The majority of those shipments were probably to OEMs for inventory buildup. Remember that Intel had a huge inventory write-off at the same time, and this was most likely a shift in inventory.

    Regardless, none of this has to do with the validity of the article which is excellent and makes sense. If you think about it, it should have been expected...the only for AMD to have increased their marketshare in servers is by performance. They certainly don't have the budget or marketing clout that Intel has!
  • S390 guy - Saturday, June 18, 2005 - link

    About ISAM and DB/2... ISAM (Indexed Sequential Access Method) is NOT a database! It has no referential integrity nor rollback/commit features (although those can be activated on mainframe). ISAM was popular on mainframe when there wasn't any database (or rather when database was a too massive application to run!) and even there they were superseeded by VSAM. They're not much different from DOS random access files (an index file pointing to the relative record number on the main file).
    And it's no suprise that DB/2 scales well: mainframes rarely feature a single CPU, at least as far as I know.... IBM have had some 20 years to practice on multi-cpu machines!

Log in

Don't have an account? Sign up now