计算机的性能指标是一个综合性的指标。计算机系统性能评估是为了一定的目的,按照一定步骤,选用一定的度量项目,通过建摸、计算和实验,对计算机性能进行测试并对测试结果做出评价的技术。在计算机系统的研制、改进、选型过程中,对计算机系统做出评价是重要的。
1.度量项目
由于计算机系统的复杂性,其性能难以用几个简单的指标来描述。一般包括以下一些度量项目:
1)性能指标。性能指标是反映计算机系统性能和特征的一组参数,分为部件性能指标和综合性能指标。计算机系统的硬件和软件部件的性能指标如加法时间、字长、存储器容量、存取时间、编译速度等,综合性能指标包括以下三类。
① 工作量类:包括吞吐率、指令执行速度、数据处理速率等,如单位时间网络通信量、单位时间事物处理数等。
② 响应特性类:包括各种响应时间,如系统从获得输入到给出相应结果之间的时间。
③ 资源利用率类:即在给定时间内各种资源的使用时间与整个时间之比。
2)可靠性。是一个系统正常工作的能力,一般用平均故障间隔时间来度量。
3)可用性。系统在某一时刻提供有效使用的程度。
4)可维护性。系统失效后在规定的时间内可修复到规定功能的能力。一般用平均修复时间MTTP表示。
5)环境适应性。是系统对不同工作环境的适应能力。
6)兼容性。一个系统与另一个系统在软硬件方面的融合程度。
7)安全保密性。程序和数据等信息的安全程度,确保系统内信息不被非法存取。
8)功耗。系统电能消耗量。
9)可扩充性。系统软硬件饿扩充能力。
不同的用户对系统性能指标的关心不同,对不同方面的关心也不同。例如,科学计算的用户最关心每秒百万条指令数MIPS、每秒百万浮点操作次数MFLOPS等指标;军事用户可能最关心系统的可靠性和环境适应能力;过程控制人员可能最关心系统的实时性和可靠性;系统维护人员则可能最关心系统的可用性和可维护性。
2.性能设计
性能设计主要是围绕计算机与网络系统的性能指标来对系统进行调整,使其获得更好的性能。
(1)吞吐率的调整
吞吐率是指单位时间内系统的总的通信量,表示系统处理和传输数据的能力,影响吞吐率的主要因数有:
1)处理数据的硬件容量和速率;
2)处理数据的软件效率;
3)源系统和目的系统的负载;
4)网络通信量。
为了改善网络吞吐率特性,一般可以采用这几种方法:调整系统的负载以减少高峰时的通信与处理速度;调整缓冲器大小来优化性能;提高通道频宽;提高CPU的处理速度;减少线路差错;增加结点之间的通路数。
(2)响应特性的调整
对一个计算机网络系统来说,影响响应时间的因素主要来源结点和目的结点的处理能力以及网络的传输能力。
影响响应时间的主要因素有以下几个:
1)CPU的处理能力;
2)系统的类型;
3)网络结点的终端线速度;
4)I/O处理能力;
5)缓冲区大小;
6)内存访问优先调度和存取速度;
7)协议处理的开销;
8)网络负载;
9)传输时间。
改善系统响应特性的主要方法有:调整负载,调整应用,采用分布式处理,升级系统硬件等。
(3)资源利用率的调整
资源利用率度量资源忙时间所占的百分比,有CPU利用率和网络利用率等。
改善资源利用率的常用方法如下:
1)提高CPU的吞吐率;
2)采用效率高的通信协议;
3)采用适当的流控机制;
4)使用多路复用器和集中器。
值得注意的是,不同的用户对系统的性能有不同的需求,我们根据我们自己的情况选取性能设计方案。
3.性能评估
系统性能评价的主要任务是研究系统配置、系统负载、性能指标之间的相互关系。性能评价的方法从大的方面可以分成模型法和测量法两类
模型法首先对要评价的系统建立一个适当的模型,然后求出模型的性能指标,以便对系统进行性能评价。模型中一般包括许多参数,这些参数的确定往往依赖与对实际系统的测试结果和对系统的性能评价。主要优点一是可以应用已有的系统的性能评价,而且也可以应用于尚未存在系统的性能预测;二是它的工作量较小,费用也相对抵。缺点是不直接,所得结果为理论值,有待实际系统的检验。
测量法提高一定的测量设备或一定的测量程序,直接从系统测得各项性能指标或与之密切相关的性能指标。这是最直接也是最基本的方法。常用的方法有时钟频率法、指令执行速度法、吉普森混合法、数据处理速率PDR法、综合理论性能CTP法、基本程序法等。
(1)时钟频率法
计算机的时钟频率法在一定程度上反映了机器速度,一般说,主频越高,速度越快,但是相同频率、不同体系结构的机器,其速度可能回有很大的差异,因此还需要用其他方法来测定机器性能。
(2)指令执行速度法
在计算机发展的初期,曾用加法指令的运算速度来衡量计算机的速度,速度是计算机的主要性能之一,因为加法指令的运算速度大体上可反映出乘法、除法等其他算术运算的速度,而且逻辑运算、指令转移等简单指令的执行时间往往设计成与加法指令相同。因此,加法指令的运算速度具有一定的代表性。
常用的表示机器运算速度的单位MIPS(每秒百万条指令数)。MIPS的计算方式如下:
MIPS=FZ/CPI
式中,FZ表示为处理机的工作主频,CPI(指令时钟数)为没条指令执行所需要的平均时钟周期数。
由于不同指令的速度差异很大,而且指令使用的频率差别也很大,加上有相当多的非功能性指令,因此,指令执行速度法往往不能正确反映系统执行实际程序的速度。
(3)等效指令速度法(吉普森混合法)
随着计算机指令系统的发展,指令的种类大大增加,用单位指令的MIPS值来表示机器的运算速度的局限性日益暴露,因此很快出现了改进的办法,称之为等效指令速度法。其统计各类指令在程序中所占百分比,并进行折算。
(4)数据处理速率PDR法
由于各类指令的使用频率是不同的,所以固定比例方法存在着很大的局限性,而且数据长度与指令功能的强弱对处理速度的影响也很大。
数据数据处理速率PDR法采用"数据处理速率"PDR值的方法来衡量机器性能。PDR与每条指令和每个操作数的平均位数以及每条指令的平均运算速度有关,主要是对CPU和主存数据处理速度进行计算而得出的。PDR没有涉及到高速缓冲存储器和多功能等,因此不能度量系统的整体速度。
PDR已经在1991年9月停止使用,改为用综合理论性能CTP计算。
(5)综合理论性能CTP法
CTP法是美国政府为限制较高性能计算机出口所设置的性能指标估算方法。CTP以每秒百万次理论运算MTOPS表示。
CTP的估算方法首先算出处理部件每一计算单元的有效计算率R,再按不同字长加以调整,得出该计算单元的理论性能TP,所有组成该处理部件的计算单元TP的总和即为综合理论性能CTP.
(6)基准程序法
上述性能评价方法主要针对CPU,没有考虑如I/O结构、操作系统、编译程序的效率等对系统性能有影响的因素,难以准确评价系统的实际工作能力。
基准程序法把一些已编制好了的典型程序作为评价计算机性能的基准程序,在不同的机器上运行,测得其执行时间,作为各类系统性能评价的依据。
基准程序法是目前一致承认的测试计算机系统性能的较好的办法。目前常见的基准程序有:
1)Dhrystone基准程序。Dhrystone是一个综合性的基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。
2)TPC(Transaction Processing Performance Council,事务处理性能委员会)是由数10家会员公司创建的非盈利组织,总部设在美国。该组织对全世界开放, TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。TPC基准测试程序在商业界建立了用于衡量系统性能和性能价格比的标准。生产厂家根据TPC基准程序进行测试,并向TPC提交详细的完全公开的报告,且经审查通过后才能正式公布测试结果。
3)Whetstone基准测试程序。Whetstone是用Fortran编写的综合性测试程序。此基准测试程序包括整数运算,又包括浮点运算,涉及到数组下标索引,子程序调用,参数传递,条件转移和三角、超越函数等。Whetstone适用于评估小型的科学、工程应用系统,除可以测试硬件性能外,还可以用来评估系统数学程序集、语言编译器及处理效率。但不预测用户程序性能。
4)SPEC(Standard Performance Evaluation cooperation,系统性能评估协作组织)基准测试程序。SPEC基准测试程序都是从实际的应用中优选出来的,重点测试计算机的CPU、存储结构和编译器的性能,SPEC对计算机系统性能的测试有两种不同的方法:一中是测量一台计算机完成单个任务有多快,称为速度测试;另一种是测试一台计算机在一定能够时间内完成多少个任务,称为吞吐量或速率测试。
5)Linpack基准程序。Linpack基于Fortran语言的求解线性代数方程组的软件包,因为线性代数方程组在各个领域中应用甚广,所以该软件包就很自然地称为测试各种机器性能的测试程序。Linpack测试的基准是用全精度的64位字长的子程序求解100阶线性方程组的速度,测试的结果以Mflops(每秒百万次浮点运算)作为单位给出。Linpack基准程序常用来衡量向量机和高性能机器的性能,适应性很强,在标量机、向量机和并行机上都可以方便地移植,并能得到满意的效率。
计算机系统性能是整体的综合性能。包括所有软硬件的有机结合,而所有的基准测试都有局限性,只能反映系统某些方面的性能。因此,要想全面反映系统的性能,必须综合应用各种技术。
扫码咨询 领取资料