计算机系统知识之系统性能评价

计算机系统知识之系统性能评价


  无论是生产计算机的厂商还是使用计算机的用户,都需要有某种方法来衡量计算机的性能,作为设计、生产、购买和使用的依据。但是,由于计算机系统是一个极其复杂的系统,其体系结构、组成和实现都有若干种策略,而且其应用领域也千差万别,所以很难找到统一的规则或标准去评测所有的计算机。

1、性能评测的常用方法

  (1)时钟频率。计算机的时钟频率在一定程度上反映了机器速度,一般来讲,主频越高,速度越快。但是,相同频率、不同体系结构的机器,其速度可能会相差很多,因此还需要用其他方法来测定机器性能。
  (2)指令执行速度。在计算机发展初期,曾用加法指令的运算速度来衡量计算机的速度,速度是计算机的主要性能指标之一。因为加法指令的运算速度大体上可反映出乘法、除法等其他算术运算的速度,而且逻辑运算、转移指令等简单指令的执行时间往往被设计成与加法指令相同,因此加法指令的运算速度有一定的代表性。但是表征机器运算速度的单位是KIPS(每秒千条指令),后来随着机器运算速度的提到,计量单位发展到MIPS(每秒百万条指令)。
  另一种描述计算机指令执行速度的指标是每秒钟执行浮点数的百万次操作的数量MELOPS。
  (3)等效指令速度法。随着计算机指令系统的发展,指令的种类大大增加,用单种指令的MIPS值来表征机器的运算速度的局限性日益暴露,因此出现了吉普森(Gibson)混合法或等效指令速度法等改进的办法。
  等效指令速度法统计各类指令在程序中所占的比例,并进行折算。设某类指令i在程序中所占的比例为wi,执行时间为ti,则等效指令的执行时间为
T = Σ i = 1 n ( w i × t i ) T= {\huge\Sigma}^n_{i=1}(w_i×t_i) T=Σi=1n(wi×ti)
其中,n为指令的种类数。
  (4)数据处理速率(Processing Data Rate,PDR)法。因为在不同的程序中,各类指令的使用频率是不同的,所以固定比例方法存在着很大的局限性,而且数据长度与指令功能的强弱对解题的速度影响极大。同时,这种方法也不能反映现代计算机中高速缓冲存储器、流水线和交叉存储等结构的影响。具有这种结构的计算机的性能不仅与指令的执行频率有关,而且与指令的执行顺序与地址分布有关。
  PDR法采用计算PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。PDR与每条指令和每个操作数的平均位数以及每条指令的平均运算速度有关,其计算方法如下:
         PDR=L/R
其中,L=0.85G+0.15H+0.4J+0.15K, R=0.85M+0.09N+0.06P。
式中: G —— 每条定点指令的位数;
    M —— 平均定点加法时间;
    H —— 每条浮点指令的位数;
    N —— 平均浮点加法时间;
    J —— 定点操作数的位数;
    P —— 平均浮点乘法时间;
    K —— 浮点操作数的位置;
  此外,还做了如下规定:G>20位,H>30位;从主存取一条指令的时间等于取一个字的时间;指令与操作数存放在主存,无变址或间址操作;允许有并行或先行取指令功能,此时选择平均取指令时间。PDR值主要对CPU和主存储器的速度进行度量,但不适合衡量机器的整体速度,因为它没有涉及Cache、多功能部件等技术对性能的影响。
  (5)核心程序法。上述性能评价方法主要是针对CPU(有时包括主存),它没有考虑诸如I/O结构、操作系统、编译程序的效率等系统性能的影响,因此难以准确评价计算机的实际工作能力。
  核心程序法是研究较多的一种方法,它把应用程序中用的最频繁的那部分核心程序作为评价计算机性能的标准程序,在不同的机器上运行,测得其执行时间,作为各类机器性能评价的依据。机器软硬件结构的特点能在核心程序中得到反映,但是核心程序各部分之间的联系较小。由于程序短,所以访问存储器的局限性特征很明显,以至于Cache的命中率比一般程序高。

2、基准测试程序

  基准程序法(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越大,向量化程度越高。其关系如下表:

矩阵规模100×100300×3001000×1000
向量化百分比80%95%98%

  向量化百分比值含向量成分的计算量占整个程序计算量的百分比。在同一台机器中,向量化程度越高,机器的运算速度越快,因为不管n的大小,求解方程时花在非向量操作上的时间差不多是相等的。
  ③Whetstone基准测试程序。Whetstone使用FORTRAN语言编写的综合性测试程序,主要由执行浮点运算、整数算术运算、功能调用、数组变址、条件转移和超越函数的程序组成。Whetstone的测试结果用Kwips表示,1Kwips表示机器每秒钟能执行1000条Whetstone指令。
  (3)SPEC基准程序(SPEC Benchmark)。SPEC(System Performance Evaluation Cooperation)是由几十家世界知名的计算机厂商所支持的非盈利的合作组织,旨在开发共同认可的标准基准程序,目前已更名为Standard Performance Evaluation Cooperation。
  SPEC最初于1989年建立了重点面向处理器性能的基准程序集(现在称为SPEC89),主要版本有SPEC CPU89、SPEC CPU92、SPEC CPU95、SPEC CPU2000、SPEC CPU2006等,SPEC CPU2006包括12个整数基准程序集(CINT2006)和17个浮点基准程序集(CFP2006)。CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元模型结构化网格法、分子动力学质点法、流体动力学稀疏线性代数法等。
  为了简化测试结果,SPEC决定使用单一的数字来归纳12种整数基数程序。具体方法是将被测计算机的执行时间标准化,即将被测计算机的执行时间除以一个参考处理器的执行时间,结果称为SPECratio。SPECratio值越大,表示性能越快(因为SPECratio是执行时间的倒数)。CINT2006或CFP2006的综合测试结果是取SPECratio的几何平均值。
  SPEC原来主要测试CPU性能,现在则强调开发能反映真实应用的基准测试程序集,并已推广至测试高性能计算机系统、网络服务器上商业应用服务器等。
  (4)TPC基准程序。TPC(Transaction Processing Council,事务处理委员会)基准程序是由TPC开发的评价计算机事务处理性能的测试程序,用于评测计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。其中,TPC-C是在线事务处理(On-line Transaction Processing,OLTP)的基准程序,TPC-D是决策支持的基准程序。TPC-E作为大型企业信息服务的基准程序。与TPC-C一样,TPC-E的测试结果也主要有两个指标:性能指标(tpsE,transactions per second E)和性价比(美元/tpsE)。其中,前者是指系统在执行多种交易时,每秒钟可以处理多少交易,其指标值越大越好;后者则是指系统价格与前一指标的比值,数值越小越好。
  TPC基准测试程序在商业界范围内建立了用于衡量机器性能以及性能价格比的标准。但是,任何一种测试程序都有一定的使用范围,TPC也不例外。

  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值