计算机硬件的不断的升级带来了系统处理性能持续的提高,如何的对平台的性能作出正确的判断就是性能测试的主要目标,业界也有多种测试基准,有的是基于实际的应用种类如TPC-C,有的是测试系统的某一部分的性能,如测试硬盘吞吐能力的IOmeter,测试内存带宽的stream。本文将对几个常见且权威的测试基准以及其使用方法作一下介绍。
一、Linpack的起源及原始用途
LINPACK是线性系统软件包(Linear system package) 的缩写, 主要开始于 1974 年 4 月, 美国 Argonne 国家实验室应用数学所主任 Jim Pool, 在一系列非正式的讨论会中评估,建立一套专门解线性系统问题之数学软件的可能性。 后来便提出了 LINPACK 计划案送到国家科学基金会 (National Science Foundation ) 审核, 经国家科学基金会同意并提供经费。
LINPACK主要的特色是:
v 率先开创了力学 (Mechanics) 分析软件的制作。
v 建立了将来数学软件比较的标准。
v 提供软件链接库, 允许使用者加以修正以便处理特殊问题, (当然程序名称必须改写, 并应注明修改之处, 以尊重原作者, 并避免他人误用。)
v 兼顾了对各计算机系统的通用性, 并提供高效率的运算。
至目前为止, LINPACK 还是广泛地应用于解各种数学和工程问题。 也由于它高效率的运算, 使得其它几种数学软件例如 IMSL、 MATLAB 纷纷加以引用来处理矩阵问题, 所以足见其在科学计算上有举足轻重的地位。
二、Linpack性能测试基准
Linpack现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。
Linpack测试包括三类,Linpack100、Linpack1000和HPL。Linpack100求解规模为100阶的稠密线性代数方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得修改。Linpack1000要求求解规模为1000阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上做优化。HPL即High Performance Linpack,也叫高度并行计算基准测试,它对数组大小N没有限制,求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其它任何优化方法。前两种测试运行规模较小,已不是很适合现代计算机的发展,因此现在使用较多的测试标准为HPL,而且阶次N也是linpack测试必须指明的参数。
HPL是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可以调节问题规模大小N(矩阵大小)、使用到的CPU数目、使用各种优化方法等来执行该测试程序,以获取最佳的性能。HPL采用高斯消元法求解线性方程组。当求解问题规模为N时,浮点运算次数为(2/3 * N^3-2*N^2)。因此,只要给出问题规模N,测得系统计算时间T,峰值=计算量(2/3 * N^3-2*N^2)/计算时间T,测试结果以浮点运算每秒(Flops)给出。
三、计算机计算峰值简介
随着产品硬件的不断的升级,整个的计算能力也以数量级的速度提升。衡量计算机性能的一个重要指标就是计算峰值,例如浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值:
理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数,它主要是由CPU的主频决定的,
理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算的次数×系统中CPU数目
实测浮点峰值是指Linpack测试值,也就是说在这台机器上运行Linpack测试程序,通过各种调优方法得到的最优的测试结果。实际上在实际程序运行过程中,几乎不可能达到实测浮点峰值,更不用说达到理论浮点峰值了。这两个值只是作为衡量机器性能的一个指标,用来表明机器处理能力的一个标尺和潜能的度量。
四、测试过程
1、硬件准备
准备硬件平台的配置
升级到最新的BIOS、BMC等版本
调整对性能有影响的参数设置
2、软件准备
操作系统的准备。由于OS自身也会占用系统资源,因此一般会使用linux作为linpack测试的OS平台,采用最新的内核版本的linux,这样可以充分的发挥出硬件的新的特性,发挥出平台的计算性能;在系统启动后,将一些没有必要的系统守护进程去掉,可以运行ntsysv命令,关闭除了irqbalance 和 messagebus.之外的系统服务进程,也可以节省系统的资源;并且将操作系统启动到第3级,不要进入图形方式。
| 共2页: 1 [2] 下一页 | ||
|