计算机系统性能评测综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统性能评测综述
摘要:计算机系统性能评测是计算机科学的一个重要分支。
为了获得计算机系统在执行某类操作的性能,人们构造了各种评测程序,通过这些评测程序来获得计算机系统在运行任务时的性能特征,从而获得计算机在不同情况下的性能测试数据,这些数据就显示了计算机性能的高低。
关键词:性能评测,操作系统,计算性能
前言
随着科学技术的日益进步,计算机得到了快速发展,其中,性能作为计算机最重要的特性之一,一直被受人们的关注。
在现代,计算机各种功能的增加,运行程序的增加,程序需要迅捷,高效的被处理,那么计算机性能就是重中之重。
因此对一个计算机进行系统性能评测就是必须且必要的。
1计算机系统性能评测?
性能代表系统的使用价值。
性能评价技术研究使性能成为数量化的、能进行度量和评比的客观指标,以及从系统本身或从系统模型获取有关性能信息的方法。
前者即测量技术,后者包括模拟技术和分析技术。
性能评价通常是与成本分析综合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机系统(如分布计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。
在20世纪60年代中期,出现了多任务、多用户的计算机系统,随着大家对这种系统的应用,人们发现这些系统表现出来的实际性能并没有预计的好,从而引发了对计算机系统性能评价的研究。
计算机系统性能评价就是采用测量、模拟、分析等方法和工具,研究计算机系统的生产率、利用率、响应特性等系统性能。
这里,性能代表系统的使用价值。
性能评价技术就是将看不见摸不着的性能转换为人们能够数量化和可以进行度量和评比的客观指标,以及从系统本身或从系统模型获取有关性能信息的方法。
前者即测量技术,后者包括模拟技术和分析技术。
性能评价通常是与成本分析结合在一起,以获得各种系统性能和性能价格比的定量值,然后可以指导新型计算机系统(如分布式文件系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。
1.1性能指标
计算机系统性能指标有两类:可用性、工作能力。
可用性:它指计算机能够持续工作时间,一般用平均无故障时间和可恢复性来表示。
工作能力:它指计算机在正常工作状态下所具有的能力。
它们是系统性能评价的主要研究对象。
常用的工作能力指标由:吞吐量、延迟和资源利用率。
吞吐量:单位时间内系统的处理能力,指单位时间内完成的任务数。
对于不同目标可能含义不同。
例如,在评价一个数据库系统时,所指的吞吐量可以是单位时间内交易完成的个数;在评价一个网络系统是,吞吐量指单位时间内传输的字节数等。
延迟:完成一个指定任务所花费的时间。
例如,在评价一个数据库系统时,
可以考察它完成一个查询,或完成一个数据处理所需要的时间;在评价一个网络系统时,可以考察发送一个网络包所需要的时间等。
资源利用率:指完成一个任务所需要花费的系统资源。
例如完成一个数据处理、所占用处理器的时间、占用内存的大小或占用网络带宽的大小等。
吞吐量越高、延迟越少、资源利用率越低则表示系统的性能越好。
1.2性能测试目的
在众多的系统中选择一个最适合系统,即在一定的价格范围内选择性能最好的系统,达到较好的性能/价格比。
2.如何性能测试
2.1性能测试指标
2.1.1应用系统的负载能力
即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。
2.1.2应用系统的吞吐率
即应用系统在单位时间内完成的交易量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的交易数量。
2.1.3系统的响应能力
即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。
2.1.4应用系统的可靠性
即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段内没有出错信息。
2.2性能测试
从广泛意义上讲性能测试包括:压力测试、稳定性测试、负载能力测试和可扩展性测试等。
在不同应用系统的性能测试中,需要根据应用系统的特点和测试目的的不同来选择具体的测试方案。
在性能测试中,压力测试主要是为了获取系统在较大压力状况下的性能表现而设计并实现的,压力测试主要是获取系统的性能瓶颈和系统的最大吞吐率。
压力测试的目的就是检验系统的最大吞吐量,检验现行的业务系统在各种压力交易量下的运行状况,检验系统地运行瓶颈,获取系统的处理能力等等。
稳定性测试就测试系统的长期稳定运行能力。
在系统运行过程中,对系统施压,观察系统的各种性能指标,以及服务器的指标。
负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
通过逐步增加系统负载,确定在满足性能指标的情况下,系统所能承受的最大负载量。
可扩展性测试是否支持可扩展性是指音箱是否支持多声道同时输入,是否有接无源环绕音箱的输出接口,是否有USB输入功能等。
3 计算机性能的主要评测手段
计算机性能的主要评测手段主要包括测量、模拟、分析方法。
3.1测量方法
测量是最基本、最重要的系统性能评价手段。
测试设备向被测设备输入一组测试信息并收集被测设备的原始输出,然后进行选择、处理、记录、分析和综合,
并且解释其结果。
上述这些功能一般是由被测的计算机系统和测量工具共同完成的,其中测量工具完成测量和选择功能。
测量工具分硬件工具和软件工具两类。
硬件测量工具附加到被测计算机系统内部去测量系统中出现的比较微观的事件(如信号、状态)。
典型的硬件检测器有定时器、序列检测器、比较器等。
例如,可用定时器测量某项活动的持续时间;用计数器记录某一事件出现的次数;用序列检测器检测系统中是否出现某一序列(事件)等。
数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执行某些检测程序来实现。
这类检测程序即软件测量工具。
例如,可按程序名或作业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送某个文件的若干个记录的传送时间等特殊信息;或者针对某个程序或特定的设备收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。
硬件监测工具的监测精度和分辨率高,对系统干扰少;软件监测工具则灵活性和兼容性好,适用范围广。
测量方法是最直接、最基本的方法,其他方法也要依赖于测量的量,但是它比较浪费时间,只适合于已经存在并运行的系统。
3.2分析方法
分析方法可为计算机系统建立一种用数学方程式表示的模型,进而在给定输入条件下通过计算获得目标系统的性能特性。
该方法一般应用于系统的设计阶段,这时候因为没有完整的实时系统导致测量方法不能使用,因此,分析方法在系统建模的初期显得尤其重要。
为了使得抽象的模型在数学上能够理解,我们需要对系统进行简化和高度抽象,因此这种模型刻画系统有一定的偏差。
例如,在分析模型中,考虑时间分布的函数的时候只用指数分布函数。
而这一点限制在模拟方法中可以去掉。
一般来说,因为抽象与简化使得分析方法刻画的系统详细程度较低,得出的性能指标精度也相对较为粗糙。
但是它的优点是花费低,并且分析方法的灵活度更高,我们可以分析用户实时配置的系统,而不用去构建系统并运行和测量。
3.3模拟方法
在系统的设计、优化、验证和改进过程中,不可能或不便于采用测量方法和分析方法时,可以构造模拟模型来近似目标系统,进而了解目标系统的特性。
该方法主要是用程序动态的模拟系统及其负载。
模拟模型包括系统模型和工作负载(环境)模型。
工作负载又可分为用户程序负载和系统程序负载,也可按时间划分时、日、周或月工作负载等。
系统模型和工作负载模型是相互联系和相互影响的,它们采用程序语言描述。
科学计算用程序语言(如ALGOL,FORTRAN)没有面向模拟的语法结构,用它建立模拟不够方便。
为系统模拟发展的通用模拟语言(如GPSS,SIMULA)不仅能描述计算机系统,也能适用于一般系统模拟。
为计算机系统模拟发展的专用模拟语言(如ECSS,CSS),使用更方便,但应用范围较窄。
此外,还有计算机模拟程序包可供直接选用。
模拟模型建立后,需要检验它的合理性、准确度等,还要设计模拟试验,对感兴趣的输出值进行统计分析、误差分析等数据处理。
模拟方法能够详细的刻画系统,具有较精确的性能指标,但是它费时并且费用较高。
3.4计算机系统性能测试程序及标准
计算机系统性能测试及标准多种多样,主要有以下几种测试程序及标准。
Linpack:最早的评测系统计算能力的Benchmark之一,linpack(Linear algebra Packages)主要功能是解线性方程组和线性最小二乘问题,最早的矩阵大小为
100x100,300x300,后来以1000x1000为标准;随着MPP、CC-NUMA、Cluster 等大型并行计算机的出现,不再限定矩阵的规模。
Linpack问题在大多数系统上很容易向量化,厂商进行精心优化,提高cache命中率,得到的计算饱和峰值常常是实际应用不可能达到的。
NAS:由美国NASA的NAS(Numerical Aerodynamic Simulation)研究组开发的科学计算性能评价标准,包含8个空气动力学计算类应用,其中含5个核心程序和3个伪应用,核心应用分别是EP、多重网格求解、共轭梯度方程求解、三维FFT、和整数排序。
开始NAS只是纸上标准,由厂商自行按最优方法编制程序,早期的巨型机和向量机都采用NAS Benchmark。
随着并行机的出现,又有了并行版本NPB,厂商需要针对自己系统的体系结构,在并行粒度、数据结构、通信机制、处理器映射、内存分配、底层优化上下功夫。
最近又有了NPB2标准,统一提供MPI语言编制的并行程序。
Perfect:即PerformanceEvaluation for Cost-effective Transformations 评测程序,是由HPCG组织开发的用于评测传统的向量巨型机的标准。
SPLASH:Stanford大学开发的用于评测共享存储系统性能的测试程序。
现在已发展到SPLASH-2,包含7个完整的应用和5个计算核心程序,它们都是科学与工程计算和计算机图形学方面的并行程序,主要用于评价SMP、CC-NUMA、DSM 等共享存储类体系结构的计算机系统的性能。
ParkBench:用于评价大型可扩展系统的科学计算性能,有Fortran加消息传递、HPP多个版本,包括micro-benchmark, Kernel, Compact Application,Compiler四类Benchmark。
底层的micro-benchmark用于测量单节点性能,目的是获取单处理器的有关体系结构和编译器的基本性能参数,以便更好地理解上层测试的结果。
测试内容包括时钟调用、算术运算、内存带宽和延迟、通信延迟和带宽、全局同步操作性能等。
核心测试包括矩阵运算、FFT、偏微分方程、NAS 核心,和一个I/O Benchmark。
简化应用测试包括气候模型、计算流体动力学、财务模型、分子动力学、等离子物理、量子化学、水库模型等。
编译器测试主要是评价HPF编译器优化的效果。
ParkBench很庞大,用于评价计算机系统支持各种具有不同需求的科学计算应用的性能。
3.5其他要求
对计算机的性能评价,除上述的主要技术指标外,还应该考虑其他几个方面:3.5.1系统的兼容性
系统的兼容性一般包括硬件的兼容、数据和文件的兼容、系统程序和应用程序的兼容、硬件和软件的兼容等。
对于用户来说,兼容性越好,则越便于硬件和软件的维护和使用;对机器而言,更有利于机器的普及和推广。
3.5.2系统的可靠性和可维护性
系统的可靠性是指系统在正常条件下不发生故障或失效的概率,一般用平均无故障时间来衡量。
系统的可维护性指系统出了故障能否尽快恢复,一般用平均修复时间来衡量。
3.5.3软件配置
软件配置包括操作系统、工具软件、程序设计语言、数据库管理系统、网络通信软件、汉子软件及其他各种应用软件等。
计算机只有配备了必需的系统软件和应用软件,才能高效地完成相关任务。
3.5.4外设配置
外设包括计算机的输入和输出设备,不同的外设配置将影响计算机性能的发
挥,例如:显示器有高,中,低分辨率之分,若使用分辨率较低的显示器,将难以准确还原显示高质量的图片;硬盘的存储量大小不同,选用低容量的硬盘,则系统就无法满足大信息量的存储需求。
3.5.5性能价格比
性能一般指计算机的综合性能,包括硬件,软件等各方面;价格指购买整个计算机系统的价格,包括硬件的软件的价格。
购买时应该从性能、价格两方面来考虑。
性能价格比越高越好。
此外,评价计算机的性能时,还要兼顾多媒体处理能力、网络功能、信息处理能力,不见的可升级扩充能力等因素。
3.6其他方面
我们要知道没有一个标准能反映计算机系统的全部性能,它们代表的只是性能的一个侧面,只局限于计算机系统的某一层次,不能得到系统整体的性能特征。
评测可以帮助用户判断系统的性能特征,但适用性本身不止是性能,特别是在大型系统中,其它一些因素,包括耗电量、散热、可管理能力等等,直接影响用户的拥有成本及维护难度,应予以充分考虑。
对计算机系统性能的评测并没有统一标准,对待这个问题也是一个见仁见智的过程。
4综述
计算机性能随着现代科学技术的发展而不断发展,计算机性能也越发重要起来.
性能评价是计算机网络和计算机系统研究与应用的重要理论基础和支撑技术,也是当今通信和计算机科学领域的重要研究方法。
计算机系统的评价指标有很多,不同领域和用途的计算机评价时的评价指标侧重点不同。
评价计算机系统主要通过分析、模拟、测量等手段,它们各有不同的优缺点,在真正的性能分析中可以将三种方法结合起来进行性能评价,以期达到最好的评价效果。
性能评价通常是与成本分析综合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机系统的设计和改进,以及指导计算机应用系统的设计和改进,最终达到使计算机系统的设计、制造和使用形成有机的系统工程整体的目的。
参考文献
[1] 张海涛,龚龙庆,用于嵌入式计算机性能评测技术及其方法研究,《现代电子技术》,2008,第31卷第14期:P49-54
[2] 政玮民,高性能计算机的性能评测,《计算机世界(技术与应用)》,2006,第37期:P19-33
[3] 郝淑平,浅析计算机性能评测的方法,《经济技术协作信息》,2004,第33期:P54
[4] 朱秀娟,叶娜,李彪,计算机网络系统的性能评测,《无线互联科技》,2013,第7期:P7
[5] 朱珊毅,计算机系统性能评测模型的研究与实现,西北工业大学,2010,学位论文
[6] 刘力力,计算机系统性能评测与分析,预出版,2000,学位论文
[7] 肖华东,孙婧,魏敏,李娟,沈瑜,高性能计算机系统相对持续性能度量模
型,《计算机工程与应用》,2015,第51卷第7期:33-37
[8]张亚棣,计算机性能评测,《航空计算技术》,1996,第4期:P38-45
[9]谢林川,计算机性能优化技术中存在的问题,《硅谷》,2012,第5期:P170
[10]王维舟,建立计算机性能指标体系的探讨,《现代电子技术》,1997,第2期:P42-44。