评估和测试PC的性能有BenchMark,而对高性能计算系统而言,其评估和测试的
BenchMark是什么呢?
计算机的性能评估与测试就是我们通常所说的BenchMark,普通的计算机用户对于
BenchMark并不陌生。相比较而言,HPC的性能评估与测试要复杂得多,需要加上专
家的知识才能真正地对一个系统进行客观、公正的综合评价。
随着HPC系统的逐渐普及、体系结构的统一和并行程序设计环境的标准化,已经有
几个经过多年开发和改进的Benchmark软件包逐渐获得厂商、用户和研究者的认可,
这些软件包或测试程序是Linpack测试、NAS Parallel Benchmark、SPEC HPC测
试、IDC Balanced Rating等。这些测试软件包能从3个方面推动高性能计算的发展:
在机器采购过程中扮演不可替代的角色;帮助应用科学家对生产用软件在特定高性
能计算系统上可能达到的性能水平进行估计;帮助计算机科学家对不同计算机硬件、
软件和算法的改进方案进行定量的评估。
目前,根据所测试的层次不同,通常把测试程序分成以下几个层次,对应HPC系统
的不同性能水平,所测得的性能从高到低为:机器峰值;Linpack测试,核心测试,
机器实际可达到的性能的上限;NASA NPB,紧凑应用程序测试,8类实际应用核心
和模拟应用程序,分辨机器适应的应用种类;SPEC HPC测试,机器在运行大型应用
程序时的性能;用户的实际应用程序测试。
Linpack
由Jack Dongarra教授编写的Linpack是在高性能计算领域最出名和使用最广泛的基
准测试。Linpack使用线性代数方程组,利用选主元高斯消去法在分布式内存计算
机上按双精度(64 bits)算法,测量解线性方程的稠密系统所需的时间。Linpack的
结果按每秒浮点运算次数(flops)表示。第一个Linpack测试报告出现在1979年的
Linpack用户手册上。
Linpack原始版本的问题规模为100×100的矩阵,目前的Linpack测试分成三个层次
的问题规模和优化选择:
● 100×100的矩阵 在该测试中,不允许对Linpack测试程序进行任何哪怕是注释
行的修改。
● 1000×1000的矩阵 在该测试中,允许对算法和软件进行修改或替换,并尽量利
用系统的硬件特点,以达到尽可能高的性能。但是所有的优化都必须保持和标准算
法如高斯消去法相同的相对精度,而且必须使用Linpack的主程序进行调用。
● 针对大规模并行计算系统的测试,其名称为High Performance Linpack
(HPL) HPL 1.0版于2000年9月发布,是第一个标准的公开版本并行Linpack测试软
件包,一般用于TOP500超级计算机上的并行超级计算机。HPL与其前辈不同,使用
者可以选择矩阵的规模(问题规模)。
很多人把用Linpack基准测试出的最高性能指标作为衡量机器性能的标准之一。这
个数字可以作为对系统峰值性能的一个修正。通过测试求解不同问题规模的实际得
分,我们不仅可以得到达到最佳性能的问题规模,而且可以得到达到最佳性能值的
一半的求解问题规模,这些数字与理论峰值性能一起列在TOP500列表中。总体来说,
Linpack是一个比较成熟的测试标准。
NAS并行基准测试
数值空气动力学模拟 (NAS)并行基准测试NPB (NAS Parallel Benchmark)已经广泛
地应用于并行计算机的测试和比较中。NPB是由NASA Ames于1991年研究开发的,并
在当年发布NPB 1.0版本,于1996年发布了带有具体MPI实现的NPB2软件包。目前
NPB2的最新版本是2002年11月19日发布的2.4 beta版本和NPB3 alpha版本。
NPB是应用核心基准测试。NPB套件由8个程序组成,它来源于计算流体动力学
(CFD)的代码。这8个不同的程序从不同的方面反映了CFD计算的特点。8个程序中的
每一个——5个核心和3个模拟CFD应用,代表航空、物理学应用高性能并行计算的
全貌。5个核心(EP、FT、MG、CG和IS)代表在CFD应用中使用的5种不同数值方法的
计算核心。目前每个基准测试有4类问题规模:A、B、C、D,其中的Class D是最近
增加的。A是规模最小的,D是最大的。
NPB2的测试结果报告可以有3种形式:0%(无任何改变)、小于5%(小于5%的源代
码修改)和大于5%(大于5%的源代码修改)模式。
SPEC HPC测试
SPEC成立于20世纪80年代末,它的目的就是“建立、维持和认证相关的基准测试以
应用于新一代的高性能计算机”,它的主要工作有两个:开发测试计算机性能的测
试工具,这些工具以代码的形式发布;在SPEC网站(http://www.spec.org )上发
布通过认证的测试结果。
High Performance Computing Group (HPG)是其一个分组织,主要测试高性能计算
机。主要测试程序有SPEC HPC96、SPEC HPC2002和SPEC OMP 2001系列,其中的
SPEC HPC96已经于2003年2月被SPEC HPC2002取代。
SPEC HPC软件包有三大组成部分:SPEC CHEM(化学)、 SPEC ENV(环境)、
SPEC SEIS(地震)。
SPEC HPC2002软件包支持MPI和OpenMP并行程序设计环境,包含3个测试程序,每个
都有小规模和中规模测试数据集。
(1)SPEC ENV2002: 该程序基于气象研究和预报模型WRF之上,有SPECenvM2002和
SPECenvS2002两个评价指标;
(2)SPEC CHEM2002:基于量子化学计算软件GAMESS,有SPECchemM2002和
SPECchemS2002两个评价指标;
(3)SPEC SEIS2002: 基于寻找天然气和石油工业过程的时间和空间叠前偏移计算,
有SPECseisM2002和 SPECseisS2002两个评价指标。SPEC HPC2002的评价指标说
明了一个系统在24小时能运行的性能测试次数。
SPEC HPG计划发布一个更为全面的HPC测试软件包。该软件包将包括新版本的地震
资料处理和量子化学计算程序,并考虑增加其他领域的测试程序。
IDC 平衡评价指标
IDC新推出的平衡评价指标(Balanced Rating)通过测试计算系统的处理器、内存和
可扩展性能来评定系统的性能。该系统只能对已安装在客户场地运行的系统进行测
试,而不是在厂家那里进行测试。对于处理器,该系统使用
Specfp_rate_base2000基准来测试其浮点运算能力,使用SPECint_rate_base2000
来测试整数计算能力,而使用“Linpack Rmax”来测试解决密集线性方程的能力。
内存系统容量测试包括在给定期间内可以将多少数据移入和移出内存;可扩展性能
测试则通过使用全部处理器计算、全部系统内存和连接的带宽来确定。 该系统目
前包括6项测试,但是IDC希望在未来几年将测试数目增加到12项。
IDC平衡评价指标排行包括4个独立的排行:一个综合排行;另外3个按处理器、存
储系统和可扩展性进行的排行。
IDC 平衡评价指标测试的目标并不是完全替代为了某种特定购买目的而进行的专门
测试。IDC已经和San Diego超级计算机中心联合开始了一个更加综合并面向用户需
求的测试软件包的研究工作,以便用户可以根据自己的特定需要对计算机进行满足
需要的个性化排名。
BenchMark是什么呢?
计算机的性能评估与测试就是我们通常所说的BenchMark,普通的计算机用户对于
BenchMark并不陌生。相比较而言,HPC的性能评估与测试要复杂得多,需要加上专
家的知识才能真正地对一个系统进行客观、公正的综合评价。
随着HPC系统的逐渐普及、体系结构的统一和并行程序设计环境的标准化,已经有
几个经过多年开发和改进的Benchmark软件包逐渐获得厂商、用户和研究者的认可,
这些软件包或测试程序是Linpack测试、NAS Parallel Benchmark、SPEC HPC测
试、IDC Balanced Rating等。这些测试软件包能从3个方面推动高性能计算的发展:
在机器采购过程中扮演不可替代的角色;帮助应用科学家对生产用软件在特定高性
能计算系统上可能达到的性能水平进行估计;帮助计算机科学家对不同计算机硬件、
软件和算法的改进方案进行定量的评估。
目前,根据所测试的层次不同,通常把测试程序分成以下几个层次,对应HPC系统
的不同性能水平,所测得的性能从高到低为:机器峰值;Linpack测试,核心测试,
机器实际可达到的性能的上限;NASA NPB,紧凑应用程序测试,8类实际应用核心
和模拟应用程序,分辨机器适应的应用种类;SPEC HPC测试,机器在运行大型应用
程序时的性能;用户的实际应用程序测试。
Linpack
由Jack Dongarra教授编写的Linpack是在高性能计算领域最出名和使用最广泛的基
准测试。Linpack使用线性代数方程组,利用选主元高斯消去法在分布式内存计算
机上按双精度(64 bits)算法,测量解线性方程的稠密系统所需的时间。Linpack的
结果按每秒浮点运算次数(flops)表示。第一个Linpack测试报告出现在1979年的
Linpack用户手册上。
Linpack原始版本的问题规模为100×100的矩阵,目前的Linpack测试分成三个层次
的问题规模和优化选择:
● 100×100的矩阵 在该测试中,不允许对Linpack测试程序进行任何哪怕是注释
行的修改。
● 1000×1000的矩阵 在该测试中,允许对算法和软件进行修改或替换,并尽量利
用系统的硬件特点,以达到尽可能高的性能。但是所有的优化都必须保持和标准算
法如高斯消去法相同的相对精度,而且必须使用Linpack的主程序进行调用。
● 针对大规模并行计算系统的测试,其名称为High Performance Linpack
(HPL) HPL 1.0版于2000年9月发布,是第一个标准的公开版本并行Linpack测试软
件包,一般用于TOP500超级计算机上的并行超级计算机。HPL与其前辈不同,使用
者可以选择矩阵的规模(问题规模)。
很多人把用Linpack基准测试出的最高性能指标作为衡量机器性能的标准之一。这
个数字可以作为对系统峰值性能的一个修正。通过测试求解不同问题规模的实际得
分,我们不仅可以得到达到最佳性能的问题规模,而且可以得到达到最佳性能值的
一半的求解问题规模,这些数字与理论峰值性能一起列在TOP500列表中。总体来说,
Linpack是一个比较成熟的测试标准。
NAS并行基准测试
数值空气动力学模拟 (NAS)并行基准测试NPB (NAS Parallel Benchmark)已经广泛
地应用于并行计算机的测试和比较中。NPB是由NASA Ames于1991年研究开发的,并
在当年发布NPB 1.0版本,于1996年发布了带有具体MPI实现的NPB2软件包。目前
NPB2的最新版本是2002年11月19日发布的2.4 beta版本和NPB3 alpha版本。
NPB是应用核心基准测试。NPB套件由8个程序组成,它来源于计算流体动力学
(CFD)的代码。这8个不同的程序从不同的方面反映了CFD计算的特点。8个程序中的
每一个——5个核心和3个模拟CFD应用,代表航空、物理学应用高性能并行计算的
全貌。5个核心(EP、FT、MG、CG和IS)代表在CFD应用中使用的5种不同数值方法的
计算核心。目前每个基准测试有4类问题规模:A、B、C、D,其中的Class D是最近
增加的。A是规模最小的,D是最大的。
NPB2的测试结果报告可以有3种形式:0%(无任何改变)、小于5%(小于5%的源代
码修改)和大于5%(大于5%的源代码修改)模式。
SPEC HPC测试
SPEC成立于20世纪80年代末,它的目的就是“建立、维持和认证相关的基准测试以
应用于新一代的高性能计算机”,它的主要工作有两个:开发测试计算机性能的测
试工具,这些工具以代码的形式发布;在SPEC网站(http://www.spec.org )上发
布通过认证的测试结果。
High Performance Computing Group (HPG)是其一个分组织,主要测试高性能计算
机。主要测试程序有SPEC HPC96、SPEC HPC2002和SPEC OMP 2001系列,其中的
SPEC HPC96已经于2003年2月被SPEC HPC2002取代。
SPEC HPC软件包有三大组成部分:SPEC CHEM(化学)、 SPEC ENV(环境)、
SPEC SEIS(地震)。
SPEC HPC2002软件包支持MPI和OpenMP并行程序设计环境,包含3个测试程序,每个
都有小规模和中规模测试数据集。
(1)SPEC ENV2002: 该程序基于气象研究和预报模型WRF之上,有SPECenvM2002和
SPECenvS2002两个评价指标;
(2)SPEC CHEM2002:基于量子化学计算软件GAMESS,有SPECchemM2002和
SPECchemS2002两个评价指标;
(3)SPEC SEIS2002: 基于寻找天然气和石油工业过程的时间和空间叠前偏移计算,
有SPECseisM2002和 SPECseisS2002两个评价指标。SPEC HPC2002的评价指标说
明了一个系统在24小时能运行的性能测试次数。
SPEC HPG计划发布一个更为全面的HPC测试软件包。该软件包将包括新版本的地震
资料处理和量子化学计算程序,并考虑增加其他领域的测试程序。
IDC 平衡评价指标
IDC新推出的平衡评价指标(Balanced Rating)通过测试计算系统的处理器、内存和
可扩展性能来评定系统的性能。该系统只能对已安装在客户场地运行的系统进行测
试,而不是在厂家那里进行测试。对于处理器,该系统使用
Specfp_rate_base2000基准来测试其浮点运算能力,使用SPECint_rate_base2000
来测试整数计算能力,而使用“Linpack Rmax”来测试解决密集线性方程的能力。
内存系统容量测试包括在给定期间内可以将多少数据移入和移出内存;可扩展性能
测试则通过使用全部处理器计算、全部系统内存和连接的带宽来确定。 该系统目
前包括6项测试,但是IDC希望在未来几年将测试数目增加到12项。
IDC平衡评价指标排行包括4个独立的排行:一个综合排行;另外3个按处理器、存
储系统和可扩展性进行的排行。
IDC 平衡评价指标测试的目标并不是完全替代为了某种特定购买目的而进行的专门
测试。IDC已经和San Diego超级计算机中心联合开始了一个更加综合并面向用户需
求的测试软件包的研究工作,以便用户可以根据自己的特定需要对计算机进行满足
需要的个性化排名。