Testing the latest x86 rack servers and low power server CPUsby Johan De Gelas on July 22, 2009 2:00 AM EST
- Posted in
- IT Computing
Making Sense of AMD ACP/TDP and Intel TDP
The only thing clear about the TDP numbers of AMD and Intel is that they are confusing and not comparable. It is clear that no power consumption or thermal design point number is going to make much sense to the server buyer unless the method of determining power consumption (or dissipation) is precisely defined by an independent third party. From that point of view, AMD Average CPU Power (ACP) only blurs the picture, even though it offers interesting information to those who are well informed about its purpose.
The idea behind ACP is good: the TDP number is for system builders and the people who design heatsinks, so you need another metric for the data center people. ACP should "reflect the CPU power consumption running typical data center workloads" according to AMD. That sounds like a reasonable goal, but we are less enthusiastic about the methodology. ACP is the geometric mean of what a CPU consumes running TPC-C, SPECcpu2006, SPECjbb2005, and Stream. Stream hardly stresses the CPU at all (it focuses on stressing memory bandwidth) and a geometric mean is always lower than an arithmetic mean. It seems to us that when it comes to power consumption it is better to use a slightly higher estimate than to introduce clever tricks to lower the number. Moreover, if you are running floating-point applications you should expect much higher power draw numbers than ACP suggests.
TDP or Thermal Design Power is defined by AMD as (from AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet, Rev 3.04 - June 2009):
"The maximum power a processor draws for a thermally significant period while running commercially useful software. The constraining conditions for TDP are specified in the notes in the thermal and power tables."
That seems very similar to Intel's TDP, but in practice AMD's TDP is (almost) equal to the maximum electrical power a CPU can draw (current times voltage). Therefore, AMD's own definition is not accurate for the published TDP results. The irony is that the published Intel TDP numbers are more accurately described by AMD's definition. Intel's engineers measure the power draw of hundreds of commercially available software packages and ignore the "not thermally significant" peaks. All those power measurements are averaged and a small percentage (a buffer) is added. Thus, Intel's TDP is lower than the maximum power draw.
In a nutshell:
- AMD's ACP uses a "round down" average of power measurements performed with industry standard benchmarks (usually running at 100% CPU load, with the exception of Stream).
- AMD's TDP is close to the electrical maximum a CPU can draw (when it is operating at its maximum voltage).
- Intel's TDP is a "round up" average of power measurements of processor intensive benchmarks.
If AMD would apply the methodology of Intel to determine TDP they would end up somewhere between ACP and the current "AMD TDP". "There is no substitute for your own power measurements" is a correct but an incredibly lame and unrealistic conclusion. Few IT professionals are going to perform power measurements on all the potentially interesting CPUs systematically. It would be nice if the SPEC committee would step up and determine a realistic power measurement for both integer and floating point loads based upon several industry standard benchmarks (with only basic tuning allowed) and not a flawed SPECjbb based one. Until then, this report should offer you a second opinion. It is worth noting that SPEC has launched their new SPECweb2009, which includes a SPECpower methodology. This is certainly a step in the right direction as SPECweb2009 is a lot more realistic than SPECjbb.
After so much theory, it is time to go hands-on again. Let's meet the server hardware we gathered for this test.