Sun recently entered the SPECpower fray with the publication of three results on the SPECpower_ssj2008 benchmark. Strangely, the three publications documented results on the same hardware platform (Sun Netra X4250) running identical software stacks, but the results were markedly different. What exactly were we trying to get at?
Sun produces robust industrial-grade servers with a range of redundancy features we believe benefit our customers. These features increase reliability, at the cost of additional power consumption. For example, redundant power supplies and redundant fans allow servers to tolerate faults, and hot-swap capabilities further minimize downtime.
The benchmark run and reporting rules require the incorporation within the tested configuration of all components implied by the model name. Within these limitations, the first publication was intended to be the best result (that is, the lowest power consumption per unit of performance) achievable on the Sun Netra X4250 platform, by minimizing the configured hardware to the greatest extent possible.
All tested configurations had the following components in common:
- System: Sun Netra X4250
- Processor: 2 x Intel L5408 QC @ 2.13GHz
- 2 x 658 watt redundant AC power supplies
- redundant fans
- standard I/O expansion mezzanine
- standard Telco dry contact alarm
And the same software stack:
- OS: Windows Server 2003 R2 Enterprise X64 Edition SP2
- Drivers: platform-specific drivers from Sun Netra X4250 Tools and Drivers DVD Version 2.1N
- JVM: Java HotSpot 32-Bit Server VM on Windows, version 1.6.0_14
In addition to the common hardware components, the tiny configuration was limited to:
- 8 GB of Memory (4 x 2048 MB as PC2-5300F 2Rx8)
- 1 x Sun 146 GB 10K RPM SAS internal drive
This is called the tiny configuration because it seems unlikely that most customers would configure an 8-core server with only one disk and only 1 GB available per core. Nevertheless, from a benchmark point of view, this configuration gave the
The other two results were both produced on a configuration we considered much more typical of configurations that are actually ordered by customers. In addition to the common hardware, these typical configuration included:
- 32 GB of Memory (8 x 4096 MB as PC2-5300F)
- 4 x Sun 146 GB 10K RPM SAS internal drives
- 1 x Sun x8 PCIe Quad Gigabit Ethernet option card (X4447A-Z)
Nothing special was done with the additional components. The added memory increased the performance component of the benchmark. The other components were installed and configured but allowed to sit idle, so consumed less power than they would have under load.
One Other Thing: Tuning for Performance
So one thing we're getting at is the difference in power consumption between a small configuration optimized for a power-performance benchmark and a typical configuration optimized for customer workloads. Hardware (power consumption) is only half of the benchmark--the other half being the performance achieved by the System Under Test (SUT).
In all three publications the identical tunings were applied at the software level: identical java command-line arguments and JVM-to-processor affinity. We also applied, in the case of the better results, the common (but usually non-default) BIOS-level optimization of disabling hardware prefetcher and adjacent cache line prefetch. These optimizations are commonly applied to produce optimized SPECpower_ssj2008 results but it is unlikely that many production applications would benefit from these settings. To demonstrate the effect of this tuning, the final result was generated with standard BIOS settings.
And just so we couldn't be accused of sand-bagging the results, the number of JVMs was increased in the typical configurations to take advantage of the additional memory populated over and above the tiny configuration. Additional performance was achieved but sadly it doesn't compensate for the higher power consumption of all that memory.
So in summary we tuned:
- Tiny Configuration: non-default BIOS settings
- Typical Configuration 1: non-default BIOS settings; additional JVMs to utilize added memory
- Typical Configuration 2: default BIOS settings; additional JVMs to utilize added memory
At the OS level, all tunings were identical.
The results are summarized in this table:
The measurement and reporting methods of the benchmark encourage small memory configurations. Comparing the first and second result, adding additional memory yielded minimal performance improvement (from 244832 to 251555) but a large increase in power consumption, 68 watts at peak.
In our opinion, unrealistically small configurations yield the best results on this benchmark. On the more typical system, the benchmark overall metric decreased from 600 overall ssj_ops per watt to 478 overall ssj_ops per watt, despite our best effort to utilize the additional configured memory.
On typical configurations, reverting to default BIOS settings resulted in a significant decrease in performance (from 25155 to 229828) with no corresponding decrease in power consumption (essentially identical for both results).
Configurations typical of customer systems
(with adequate memory, internal disks,
and option cards) consume more power than configurations which are
commonly benchmarked, while providing no corresponding improvement in SPECpower_ssj2008 benchmark performance. The result is a lower overall
power-performance metric on typical configurations and a lack of published benchmark results on robust systems with the capacities and redundancies that enterprise customers desire.
Fair Use Disclosure
SPEC, SPECpower, and SPECpower_ssj are trademarks of the Standard Performance Evaluation Corporation. All results from the SPEC website (www.spec.com) as of June 5, 2009. For a complete set of accepted results refer to that site.