微处理器性能评估(100201)
闵应骅
在前面的博文中,我多次说过:高性能计算机的性能评估用多少万亿次是没有说服力的。那么应该怎么评估呢?那当然首先是它所用的微处理器性能的评估。
微处理器的性能不但和时钟频率有关,和它的体系结构设计有关,和IC设计有关,也和它的编译器有关,而其性能的好坏也与应用的问题有关。这么多复杂的因素交织在一起,怎么用简单的数据来表征呢?没有这种表征就无法评定一个处理器的性能是否比另一个更好。这就是工业界为什么要搞Benchmark的原因。
Benchmark是一组计算题目。大家公认这些计算题目既有代表性,又是比较复杂,能够体现处理器的性能。标准性能评估公司(Standard Performance Evaluation Corporation (SPEC:www.spec.org)提供了这样一些计算题目,分为整数运算和浮点运算两类,其应用领域包括计算密集型负载,Java负载,图形学,Web服务,邮件服务器和网络文件系统等。运行这些Benchmark所得到的实验结果对比较商用机器在各种不同类型的负载情况下的应用、制造和处理器分代都有重要意义。
但是,SPEC CPU2000包含很多的Benchmark,就是说有几十个计算题目,如下面的图所示。对某一个CPU,算这道题比较快,但算另一道题就比较慢。有些人拿做的快的去报喜,那是典型的“报喜不报忧”。怎么把这些实验结果公平地融合起来,用较少的数字去标识处理器的性能。这是研究性能评估的人的任务。并且,通过对不同题目运算性能的差异,还能提示我们改进体系结构、编译器和软件的途径。例如你可以发现,提高时钟频率对浮点运算速度的提高就没有对提高整数运算速度那么明显。其他许多结论都可以从运行不同的Benchmark及不同的运行指标得出来,以改进我们的设计。 有兴趣的读者可参看IEEE Computer, Sept.2009,pp.70-76.
https://blog.sciencenet.cn/blog-290937-291852.html
上一篇:
从上海地铁事故想到的(100124)下一篇:
灾难管理(100205)