什么是基准性能?
基准性能是指使用一组整数和浮点程序(统称为基准),这些程序旨在测试被测计算的不同性能方面system(s)。基准程序应设计为在高性能计算系统之间提供公平和有效的比较。为了使基准测试有意义,它应该忠实地评估系统预期用途的性能。
基准的示例是Dhrystone和Whetstone基准。这些是旨在衡量真实机器性能的综合(非真实)基准测试。
Dhrystone基准测试解决了整数性能问题。它由100条语句组成,不使用浮点运算或数据。从Dhrystone获得的比率用于计算MIPS指数作为性能度量。这使得Dhrystone作为性能测量的来源相当不可靠。
另一方面,Whetstone是一个内核程序,用于解决算术运算、数组索引、条件分支和子例程调用的浮点性能问题。使用Whetstone获得的执行速度仅用于确定系统性能。这导致性能的单一数字度量,这使得它不可靠。
综合基准被几个反映真实工程和科学应用的应用软件部分所取代。其中包括PERFECT(成本效益转换的性能评估)、数据库I/O性能的TPC测量和SPEC(标准性能评估公司)测量。
SPEC是一家非营利性公司,旨在“建立、维护和认可一套可应用于最新一代高性能计算机的标准化相关基准”。
第一个SPEC基准测试套件于1989年发布(SPEC89)。它由十个工程/科学项目组成。两项措施源自SPEC89。SPECmark测量十个程序的执行率和SPECthruput,后者检查系统的吞吐量。由于结果不尽人意,1992年SPEC89被SPEC92取代。
SPEC92由CINT92和CFP92两个套件组成。CINT92由六个整数密集型C程序组成。CFP92,由14个浮点密集型C和FORTRAN程序组成。
在SPEC92中,度量SPECratio表示给定程序的实际执行时间与预定参考时间的比率。此外,SPEC92使用度量SPECint92作为CINT92中程序的SPECratio的几何平均值。
类似地,度量SPECfp92是CFP92中程序的SPECratio的几何平均值。在使用SPEC进行性能测量时,必须采取三个主要步骤:构建工具、准备辅助文件和运行基准测试套件。这些工具用于编译、运行和评估基准。
诸如优化标志和对备用源代码的引用之类的编译信息保存在所谓的makefile包装器和配置文件中。然后使用工具和辅助文件来编译和执行代码并计算SPEC指标。