SQL Server Processor Performance, 2006
SPEC CPU 2000 Integer Performance Comparisons
The SPEC CPU 2000 Integer suite (http://www.spec.org/) is a reasonable benchmark for server applications. It averages 12 individual applications that cover a broad range of code patterns, making it difficult to generate disproportionate performance gains using special features that do not have broad applicability. A database benchmark is more relevant for SQL Server based applications. For this, the TPC-C benchmark is appropriate, but there is not as broad a range of results available as for SPEC CPU. So it is helpful to examine results for both benchmarks, each of which exposes certain differences not evident in the other benchmark.
Figure 1 shows SPEC CPU 2000 Integer base performance for representative IA-32 processors from 2000 to 2006. The selected processors span three architecture and three process generation transitions. The architecture transitions are from Pentium III to the first Pentium 4 (Willamette) to the second Pentium 4 (Prescott) and finally to Core 2 (Woodcrest). The process transitions are from 180nm (Coppermine and Willamette) to 130nm (Tualatin and Northwood) to 90nm (Prescott/Irwindale) to 65nm (Cedar Mill and Woodcrest). The range constitutes three doublings of performance by Moore’s Law. Each process generation contributes one-half and each architecture generation contributes one-half, for a target gain of 8x. By this metric, it might seem that Woodcrest is slightly under performing the 8x Pentium III, 1.0 GHz target 3,600.
Figure 1: SPEC CPU 2000 Integer performance for Intel IA-32 line from 2000-2006.
The primary explanation is that SPEC CPU 2000 Integer is a single threaded benchmark while Woodcrest relies on dual-cores to meet the performance progression objective. TPC-C on the other hand is a multi-threaded benchmark and will properly show the benefit from multi-core processors. The Willamette to Northwood transition significantly exceeded the expected 1.4x gain, the details of which will be discussed later.
Figure 2 shows performance on the 12 individual applications that make up the SPEC CPU 2000 Integer benchmark (details on the SPEC Web site). Regardless of the overall composite score, individual applications can have widely varying results. Woodcrest shows strong gains in all areas. This is a very difficult achievement and a good indicator that a broad range of applications will realize performance gains with Woodcrest.
Figure 2: SPEC CPU 2000 Integer performance by application.
Figure 3 shows the performance gain for each of the SPEC CPU 2000 Integer component applications by processor relative to the 180nm Pentium III 1.0 GHz/256 KB cache. The relative gain for Woodcrest on mcf is 15.41, which is off the scale.
Figure 3: Performance gain by application relative to Pentium III 1.0 GHz/256 KB.
Figure 4 shows the SPEC CPU 2000 Integer 12 component applications for the Pentium III and Pentium 4 processors on 180nm. On the same compiler (Intel C/C++ 5.0), the Pentium 4 shows a 41% gain over the Pentium III at the top frequency for each processor on 180nm. On the newer Intel C/C++ 6.0 compiler, the Pentium 4 shows a 50% gain over Pentium III. In the early days, outside contributions were sufficient to warrant revising Moore’s Law to 2x in 18 months, but with maturity, the original projection is probably more appropriate. The Pentium 4 processor requires a compiler aware of its internal architecture to take full advantage of its capabilities. Some applications not recompiled and tuned for the Pentium 4 did not show much gain.
Figure 4: SPEC CPU 2000 Integer by application for Pentium III and Pentium 4 on 180nm.
Figure 5 shows a comparison of Pentium III on 130nm against Pentium 4 on 180nm. The process shrink of the Pentium III from 180 to 130nm shows a comparable gain to the advance of one architecture generation on the same process (Pentium III to Pentium 4 on 180nm) on average. Each of the two foundations of Moore’s Law makes approximately equal contribution when averaged over multiple applications, even though there are variations by application.
Figure 5: SPEC CPU 2000 Integer for Pentium III on 130nm and Pentium 4 on 180nm.
Figure 6 shows the SPEC CPU 2000 Integer base performance for a range of the 130nm Pentium 4 processors from 2.0 GHz to 3.4 GHz with reference to Willamette at 2.0 GHz.
Figure 6: SPEC CPU 2000 Integer for Pentium 4 on 180 and 130nm.