|
知识路径: > 计算机系统基础知识 > 硬件基础知识 > 可靠性与系统性能评测基础知识 > 计算机系统性能评估方法 >
|
相关知识点:17个
|
|
|
|
无论是生产计算机的厂商还是使用计算机的用户,都需要有某种方法来衡量计算机的性能来作为设计、生产、购买和使用的依据。但是,由于计算机系统是一个极复杂的系统,其体系结构、组成和实现都有若干种策略,而且其应用领域也千差万别,所以很难找到统一的规则或标准去评测所有的计算机。
|
|
|
|
|
(1)时钟频率。计算机的时钟频率在一定程度上反映了机器速度,一般来讲,主频越高,速度越快。但是,相同频率、不同体系结构的机器,其速度可能会相差很多倍,因此还需要用其他方法来测定机器性能。
|
|
|
(2)指令执行速度。在计算机发展的初期,曾用加法指令的运算速度来衡量计算机的速度,速度是计算机的主要性能指标之一。因为加法指令的运算速度大体上可反映出乘法、除法等其他算术运算的速度,而且逻辑运算、转移指令等简单指令的执行时间往往设计成与加法指令相同,因此加法指令的运算速度有一定代表性。当时表征机器运算速度的单位是KIPS(每秒千条指令),后来随着机器运算速度的提高,计量单位由KIPS发展到MIPS(每秒百万条指令)。
|
|
|
(3)等效指令速度法。随着计算机指令系统的发展,指令的种类大大增加,用单种指令的MIPS值来表征机器的运算速度的局限性日益暴露,因此很快就出现了改进的办法,称之为吉普森(Gibson)混合法或等效指令速度法。
|
|
|
等效指令速度法统计各类指令在程序中所占比例,并进行折算。设某类指令i在程序中所占比例为wi,执行时间为ti,则等效指令的执行时间为:
|
|
|
|
|
(4)数据处理速率(Processing Data Rate,PDR)法。因为在不同程序中,各类指令的使用频率是不同的,所以固定比例方法存在着很大的局限性,而且数据长度与指令功能的强弱对解题的速度影响极大。同时,这种方法也不能反映现代计算机中高速缓冲存储器(Cache)、流水线和交叉存储等结构的影响。具有这种结构的计算机的性能不仅与指令的执行频率有关,而且也与指令的执行顺序与地址分布有关。
|
|
|
采用计算PDR值的方法来衡量机器性能时,PDR值越大,机器性能越好。PDR与每条指令和每个操作数的平均位数以及每条指令的平均运算速度有关,其计算方法如下:
|
|
|
|
其中,L=0.85G+0.15H+0.4J+0.15K,R=0.85M+0.09N+0.06P。
|
|
|
|
|
|
|
|
|
|
此外,还做了如下规定:G>20位,H>30位;从主存取一条指令的时间等于取一个字的时间;指令与操作数存放在主存,无变址或间址操作;允许有并行或先行取指令功能,此时选择平均取指令时间。PDR值主要对CPU和主存储器的速度进行度量,但不适合衡量机器的整体速度,因为它没有涉及Cache、多功能部件等技术对性能的影响。
|
|
|
(5)核心程序法。上述性能评价方法主要是针对CPU(有时包括主存),它没有考虑诸如I/O结构、操作系统、编译程序的效率等系统性能的影响,因此难以准确评价计算机的实际工作能力。
|
|
|
核心程序法是研究较多的一种方法,它把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序,在不同的机器上运行,测得其执行时间,作为各类机器性能评价的依据。机器软硬件结构的特点能在核心程序中得到反映,但是核心程序各部分之间的联系较小。由于程序短,所以访问存储器的局部性特征很明显,以致Cache的命中率比一般程序高。
|
|
|
|
基准程序法(Benchmark)是测试性能的较好方法,有多种多样的基准程序,如主要测试整数性能的基准程序、测试浮点性能的基准程序等。
|
|
|
(1)整数测试程序。Dhrystone是一个综合性的基准测试程序,它是为了测试编译器及CPU处理整数指令和控制功能的有效性,人为地选择一些“典型指令”综合起来形成的测试程序。
|
|
|
Dhrystone程序测试的结果由每秒多少个Dhrystones来表示机器的性能,这个数值越大,性能越好。VAX11/780的测试结果为每秒1757Dhrystones,为便于比较,人们假设1VAX MIPS=每秒1757Dhrystones,将被测机器的结果除以1757,就得到被测机器相对VAX11/780的MIPS值。有些厂家在宣布机器性能时就用Dhrystone MIPS值作为各自机器的MIPS值。
|
|
|
不过不同的厂家在测试MIPS值时,使用的基准程序一般是不同的,因此不同厂家机器的MIPS值有时虽然是相同的,但其性能却可能差别很大,那是因为各厂家在设计计算机时针对不同的应用领域(如科学和工程、商业管理、图形处理等)而采用了不同的体系结构和实现方法。同一厂家的机器,采用相同的体系结构,用相同的基准程序测试,得到的MIPS值越大,一般说明机器速度越快。
|
|
|
(2)浮点测试程序。在计算机科学和工程应用领域内,浮点计算工作量占很大比例,因此机器的浮点运算性能对系统的应用有很大的影响。有些机器只标出单个浮点操作性能,如浮点加法、浮点乘法时间,而大部分工作站则标出用Linpack和Whetstone基准程序测得的浮点性能。Linpack主要测试向量性能和高速缓存性能。Whetstone是一个综合性测试程序,除测试浮点操作外,还测试整数计算和功能调用等性能。
|
|
|
①理论峰值浮点速度。巨型机和小巨型机在说明书中经常给出“理论峰值速度”的MFLOPS值,它不是机器实际执行程序时的速度,而是机器在理论上最大能完成的浮点处理速度。它不仅与处理机时钟周期有关,而且还与一个处理机里能并行执行操作的流水线功能部件数目和处理机的数目有关。多个CPU机器的峰值速度是单个CPU的峰值速度与CPU个数的乘积。
|
|
|
②Linpack基准测试程序。Linpack基准程序是一个用Fortran语言编写的子程序软件包,称为基本线性代数子程序包,此程序完成的主要操作是浮点加法和浮点乘法操作。测量计算机系统的Linpack性能时,让机器运行Linpack程序,测量运行时间,将结果用MFLOPS表示。
|
|
|
当解n阶线性代数方程组时,n越大,向量化程度越高。其关系如下表所示。
|
|
|
|
|
向量化百分比指的是含向量成分的计算量占整个程序计算量的百分比。在同一台机器中,向量化程度越高,机器的运算速度越快,因为不管n的大小,求解方程时花在非向量操作的时间差不多是相等的。
|
|
|
③Whetstone基准测试程序。Whetstone是用Fortran语言编写的综合性测试程序,主要由执行浮点运算、整数算术运算、功能调用、数组变址、条件转移和超越函数的程序组成。Whetstone的测试结果用Kwips表示,1Kwips表示机器每秒钟能执行1000条Whetstone指令。
|
|
|
(3)SPEC基准程序(SPEC Benchmark)。SPEC(Standard Performance Evaluation Corporation)是由几十家世界知名的计算机大厂商所支持的非营利的合作组织,旨在开发共同认可的标准基准程序。
|
|
|
SPEC基准程序是由SPEC开发的一组用于计算机性能综合评价的程序。以对VAX11/780机的测试结果作为基数,其他计算机的测试结果以相对于这个基数的比率来表示。SPEC基准程序能较全面地反映机器性能,有很高的参考价值。
|
|
|
SPEC 1.0是1989年10月宣布的,是一套复杂的基准程序集,主要用于测量与工程和科学应用有关的数字密集型的整数和浮点数方面的计算。源程序超过15万行,包含10个测试程序,使用的数据量比较大,分别测试应用的各个方面。
|
|
|
SPEC基准程序测试结果一般以SPECmark(SPEC分数)、SPECint(SPEC整数)和SPECfp(SPEC浮点数)来表示。其中,SPEC分数是10个程序的几何平均值,SPEC整数是4个整数程序的几何平均值,SPEC浮点数是6个浮点程序的几何平均值。
|
|
|
1992年,在原来SPECint89和SPECfp89的基础上又增加了两个整数测试程序和8个浮点数测试程序,因此SPECint92由6个程序组成,SPECfp92由14个程序组成。这20个基准程序是基于不同的应用写成的,主要测32位CPU、主存储器、编译器和操作系统的性能。
|
|
|
|
(4)TPC基准程序。TPC(Transaction Processing Council,事务处理委员会)基准程序是由TPC开发的评价计算机事务处理性能的测试程序,用以评测计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。TPC已经推出了4套基准程序:TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时,不再使用。TPC-C是在线事务处理(On-Line Transaction Processing,OLTP)的基准程序,TPC-D是决策支持的基准程序。TPC即将推出TPC-E,作为大型企业信息服务的基准程序。该基准程序的评测结果用每秒完成的事务处理数TPC来表示。TPC基准测试程序在商业界范围内建立了用于衡量机器性能以及性能价格比的标准。但是,任何一种测试程序都有一定的适用范围,TPC也不例外。
|
|
|