HP ran its latest TPC-H test on a 64-way Integrity server using Intel’s 1.6 GHz/9 MB Itanium 2 chips. The Integrity machine was configured with 256 GB of main memory and over 40 TB of disk. This server ran HP-UX 11i v2 and the just-announced Oracle 10g R2, which is not going to be available on HP-UX until January 2006, according to the TPC report.
On the 3 TB data warehouse test, this box was able to process 71,848 queries per hour (QPH) at a cost of just over $4 million, or $56 per QPH. In December 2003, HP tested a 64-way Integrity machine using 1.5 GHz/6 MB Itanium 2 chips and with 256 GB of main memory running HP-UX 11i v2 and Oracle 10g Release 1; this machine was capable of handling 45,248 QPH at a cost of $109 per QPH.
That’s a 59 percent improvement in performance and a 49 percent improvement in price/performance with a minor change in processor speed and no major change in operating system.
You might think that HP was able to boost performance on the most recent TPC-H test by employing a technique called horizontal partitioning. With horizontal partitioning, you take a big database with potentially millions, hundreds of millions, or even billions of rows and possibly dozens to hundreds of columns, and you break the data up into chunks based on some relevant key–time, customer name, or whatever. To do transactions or queries, you have to steer requests to the appropriate table, which is a bit of a pain, but smaller tables are a lot easier to manipulate than larger ones, so performance can improve radically.
The trouble comes when you need to run a transaction or a query that spans all of the tables, which means you need to do the mother of all joins. Such horizontal partitioning is absolutely permitted by the TPC-H benchmark, and is required on clusters of servers, in fact. Doing such partitioning on a big Superdome SMP box may seem a bit strange, but then again, HP probably did it to goose performance. To HP’s credit, it did not try to hide this fact, either.
If you look at the detailed report on the TPC-H test, you can see that it partitioned the database based on item number and date. Moreover, HP use database partitioning on the prior TPC-H test on the Integrity box and on an HP-9000 server it tested in August 2002 running Oracle 9i. So the performance gains this time around seem to have mostly to do with L3 cache, tuning, and performance tweaks in 10g R2.
In February, Sun Microsystems Inc demonstrated that a Sun Fire E25K server with 72 of its dual-core UltraSparc-IV processors, running at 1.2 GHz, was able to crank through 59,436 QPH on the TPC-H test with a 3 TB data warehouse. This system was configured with 288 GB of main memory (only half of the maximum on the system, oddly enough) and over 84 TB of disk capacity.
This machine cost $11.1 million, and Sun gave a 42 percent discount on the system. This yielded a price/performance of $114 per QPH after the discount (which is in the same ballpark as those given by HP on the Integrities).
In March 2004, a Fujitsu-Siemens PrimePower 2500 was able to handle about 34,354 QPH at a cost of $147 per QPH (that price includes a 29 percent discount). The PrimePower 2500 used Fujitsu’s 1.3 GHz Sparc64 V processors, 256 GB of main memory, and 53 TB of disk. IBM Corp has tested a cluster of its Power5-based p5 575s on the 10 TB TPC-H test, but has not tested its big p5 SMP boxes on the 3 TB test so far. In May of this year, IBM did test a cluster of 64 of its Xeon-based xSeries 346 servers running Novell’s SUSE Linux Enterprise Server 9 and its own DB2 8.2 clustered database, and was able to do 54,466 QPH at a cost of $32 per QPH.