每瓦特性能测试
尽管总的功耗使用情况也是值得关注的,但现在几乎所有人都特别关心每瓦特性能(performance-per-watt,PPW)上。我们知道,要测定总功耗使用量是比较容易的,但要在平台或系统的层面上来量化PPW就相当困难了。因为决定PPW的因素很多,而且结果会随着工作负载和实际应用的不同而变化。
SPEC目前正在开发可以获得全面PPW的新的基准测试工具。相信这一工具在比较不同系统时会有所帮助,但为了有效地量化PPW,你还是需要对自己的(或类似的)应用进行测试,并考虑自己的使用水平。这样一来,比如,在100%的CPU负载下运行SQL Server,跟在40%的负载下运行JAVA应用,系统的功耗肯定是不一样的,也就没有了可比性。
在下面的测试中,我自己编写了一个批处理文件,可以跑我们自编的Black & Scholes kernel。我使用了跟正常测试时一样的steps数目(1,000,000,000),但我改变了线程的数目,以模拟25, 50, 75和 100%的 CPU负载(Opteron 和Woodcres的线程数是1, 2, 3, 4;Clovertown 和 Dempsey 的线程数是2, 4, 6, 8),最后我得出了阶梯状的曲线,如下图。如果我们分析每一步负载的功耗和完成时间,就能得出被测系统的PPW结论。
![]() |
在Black & Scholes kernel测试中,Woodcrest至强在各种负载水平下的PPW都比较低,但看看Woodcrest比Opteron和Dempsey节省的总功耗(在各种负载水平),你会发现,从长远来看,Woodcrest有助于节省长期电耗成本。很显然,在这次测试中,Clovertown的PPW表现是非常好的的。
值得讨论的是,在这篇文章中,Black & Scholes kernel 的测试结果与其他每项测试都有所矛盾。仅仅通过这一测试来阐述PPW的结论可能有失偏颇。我之所以做这项测试,目的是希望能引发讨论——PPW实际上如何体现?测试PPW的基础是什么(应用、负载水平等等)?是否需要对每种应用负载都做类似的功耗测试?SPEC的工业标准测试工具是否能解决所有问题?对这些,我也没有答案。但我相信我们的方向是正确的,还需要进行更多的大量的探讨。
平台总功耗测试
为了了解测试平台的总功耗使用情况,我使用了Extech380803功率表来测量机器空闲和满负载状态下的电耗情况。在测试中,功率表仅连接到主机上(不含显示器和其他设备)。用CINEBENCH 9.5 (x64)的 多CPU渲染测试作为负载。Intel和AMD平台在测试中都打开了电源省电模式。
![]() |
三个Intel平台使用完全相同的配置,因此,功耗变化完全取决于处理器本身以及额外增加的散热风扇。由于Opteron平台采用更少的风扇(2x 80mm和2x active HSF)和510W的低功耗电源,而Intel系统采用700W电源、120mm和92mm的风扇,所以Opteron平台在启动时应该具有较大的功耗优势。
