1.计算机系统性能评价是指采用测量、模拟、分析等方法和工具,研究计算系统的生产率、利用率、响应特性等系统性能,以便选择或设计具有较高性能价格比的计算机系统。 2.性能代表系统的使用价值。性能评价技术研究使性能成为数量化的、能进行度量和评比的客观指标,以及从系统本身或从系统模型获取有关性能信息的方法。前者即测量技术,后者包括模拟技术和分析技术。性能评价通常是与成本分析综合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机系统(如分布计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。 3.系统性能指标有两类:一是可用性;二是工作能力,即在正常工作状态下系统所具有的能力。表征工作能力的性能指标很多,一般随所评价的系统和目标而异,它们是系统性能评价的主要研究对象。常用的工作能力指标有系统的生产率、利用率和响应特性。系统生产率指在单位时间内系统处理的信息量。系统或其某一部分的利用率,指在一个评价期间内它的实际使用时间所占的比率。系统响应特性用系统从输入到产生响应之间的时间度量。描述生产率的指标有指令执行速度、吞吐率等。 4.对于具有向量操作指令等复杂指令的计算机,一般用单位时间内系统产生的浮点操作结果数代替指令执行速度。还可用高级语言的语句代替指令,或者用有代表性的程序代替语句,可相应形成某种语句混合或程序混合,如用标准检查程序刻画计算机的工作负载特性。在一个评价期间内,计算机系统完成的所有工作负载,称为吞吐量。单位时间内系统的吞吐量称为吞吐率。工作负载的单位依不同的系统而异,如实时处理系统为事务,批处理系统为作业等。吞吐率单位则为每秒事务数或每秒作业数。研究和确定性能评价使用的工作负载是一项重要而困难的任务。响应特性通常用响应时间、周转时间等度量。响应时间指用户输入一个作业或事务结束至输出开始之间的间隔时间。周转时间指用户开始输入一个作业或事务至输出结束之间的间隔时间。响应特性是实时处理和分时处理计算机系统的重要性能指标。此外,还有一些描述计算机系统及其子系统的性能指标,如输入输出子系统数据传输率等。 5.测量是最基本、最重要的系统性能评价手段。测试设备向被测设备输入一组测试信息并收集被测设备的原始输出,然后进行选择、处理、记录、分析和综合,并且解释其结果。上述这些功能一般是由被测的计算机系统和测量工具共同完成的,其中测量工具完成测量和选择功能。测量工具分硬件工具和软件工具两类。硬件测量工具附加到被测计算机系统内部去测量系统中出现的比较微观的事件(如信号、状态)。典型的硬件检测器有定时器、序列检测器、比较器等。例如,可用定时器测量某项活动的持续时间;用计数器记录某一事件出现的次数;用序列检测器检测系统中是否出现某一序列(事件)等。 6.数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执行某些检测程序来实现。这类检测程序即软件测量工具。例如,可按程序名或作业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送某个文件的若干个记录的传送时间等特殊信息;或者针对某个程序或特定的设备收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。硬件监测工具的监测精度和分辨率高,对系统干扰少;软件监测工具则灵活性和兼容性好,适用范围广。 7.在系统的设计、优化、验证和改进(如功能升级)过程中,不可能或不便于采用测量方法和分析方法时,可以构造模拟模型来近似目标系统,进而了解目标系统的特性。模拟模型包括系统模型和工作负载(环境)模型。工作负载又可分为用户程序负载和系统程序负载,也可按时间划分时、日、周或月工作负载等。系统模型和工作负载模型是相互联系和相互影响的,它们采用程序语言描述。科学计算用程序语言(如ALGOL,FORTRAN)没有面向模拟的语法结构,用它建立模拟不够方便。为系统模拟发展的通用模拟语言(如GPSS,SIMULA)不仅能描述计算机系统,也能适用于一般系统模拟。为计算机系统模拟发展的专用模拟语言(如ECSS,CSS),使用更方便,但应用范围较窄。此外,还有计算机模拟程序包可供直接选用。模拟模型建立后,需要检验它的合理性、准确度等,还要设计模拟试验,对感兴趣的输出值进行统计分析、误差分析等数据处理。 8.分析技术可为计算机系统建立一种用数学方程式表示的模型,进而在给定输入条件下通过计算获得目标系统的性能特性。计算机系统由一组有限的资源组成,系统中运行的所有进程共享这些资源必然出现排队现象。因此可以应用排队论来描述计算机系统中的这类现象。例如,可采用单队列、单服务台的排队系统来描述处理机的工作模型。通过求解排队系统的参数获得处理机性能指标,如服务台忙的程度对应处理机利用率,顾客等待服务的平均时间对应处理机响应时间,顾客在排队系统中的平均逗留时间对应处理机周转时间等。计算机系统的分析模型一般是某种网状的排队系统,求解往往是困难的。有些复杂的计算机系统要建立它的分析模型就很困难。因此分析技术的应用是有局限性的。计算机系统性能评价是一项重要工作,其最终目的是使计算机系统的设计、制造和使用形成有机的系统工程整体。 |
本文引用地址: http://www.sciencenet.cn/m/user_content.aspx?id=301779 |
http://www.chinabaike.com/article/baike/wli/2008/200801231139715.html
发展概况 计算机发展初期,人们用简单的技术指标(如加法速度、存储容量)描述计算机性能,用简单的测量方法收集计算机运行信息。随着计算机系统不断更新,系统性能问题日趋复杂,逐步开展硬件和软件监测工具的研究,应用概率论、排队论建立系统分析模型的研究,以及应用数字模拟技术进行计算机系统模拟。60年代初,一些用于描述离散事件的模拟语言问世。从60年代中期起,开始研究计算机系统性能评价的概念、方法和工具,逐渐形成计算机科学技术的一个分支学科。
性能指标 系统性能指标有两类:一是可用性(见计算机系统可靠性);二是工作能力,即在正常工作状态下系统所具有的能力。表征工作能力的性能指标很多,一般随所评价的系统和目标而异,它们是系统性能评价的主要研究对象。
常用的工作能力指标有系统的生产率、利用率和响应特性。系统生产率指在单位时间内系统处理的信息量。系统或其某一部分的利用率,指在一个评价期间内它的实际使用时间所占的比率。系统响应特性用系统从输入到产生响应之间的时间度量。
描述生产率的指标有指令执行速度、吞吐率等。若计算机有类指令,第类指令(=1,2,…,)在使用过程中的出现概率为,其平均执行时间为,则平均指令执行时间为
[446-01]的倒数即指令执行速度,用每秒百万条指令(MIPS)作单位;的集合即指令混合,它取决于计算机的工作负载特性,如反映科学计算工作负载特性的有吉布森混合等。对于具有向量操作指令等复杂指令的计算机,一般用单位时间内系统产生的浮点操作结果数代替指令执行速度。还可用高级语言的语句代替指令,或者用有代表性的程序代替语句,可相应形成某种语句混合或程序混合,如用标准检查程序刻画计算机的工作负载特性。
在一个评价期间内,计算机系统完成的所有工作负载,称为吞吐量。单位时间内系统的吞吐量称为吞吐率。工作负载的单位依不同的系统而异,如实时处理系统为事务,批处理系统为作业等。吞吐率单位则为每秒事务数或每秒作业数。研究和确定性能评价使用的工作负载是一项重要而困难的任务。
响应特性通常用响应时间、周转时间等度量。响应时间指用户输入一个作业或事务结束至输出开始之间的间隔时间。周转时间指用户开始输入一个作业或事务至输出结束之间的间隔时间。响应特性是实时处理和分时处理计算机系统的重要性能指标。
此外,还有一些描述计算机系统及其子系统的性能指标,如输入输出子系统数据传输率等。
测量技术 测量是最基本、最重要的系统性能评价手段。测试设备向被测设备输入一组测试信息并收集被测设备的原始输出,然后进行选择、处理、记录、分析和综合,并且解释其结果。上述这些功能一般是由被测的计算机系统和测量工具共同完成的,其中测量工具完成测量和选择功能。
测量工具分硬件工具和软件工具两类。硬件测量工具附加到被测计算机系统内部去测量系统中出现的比较微观的事件(如信号、状态)。典型的硬件检测器有定时器、序列检测器、比较器等。例如,可用定时器测量某项活动的持续时间;用计数器记录某一事件出现的次数;用序列检测器检测系统中是否出现某一序列(事件)等。
数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执行某些检测程序来实现。这类检测程序即软件测量工具。例如,可按程序名或作业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送某个文件的若干个记录的传送时间等特殊信息;或者针对某个程序或特定的设备收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。
硬件监测工具的监测精度和分辨率高,对系统干扰少;软件监测工具则灵活性和兼容性好,适用范围广。
模拟技术 在系统的设计、优化、验证和改进(如功能升级)过程中,不可能或不便于采用测量方法和分析方法时,可以构造模拟模型来近似目标系统,进而了解目标系统的特性。
模拟模型包括系统模型和工作负载(环境)模型。工作负载又可分为用户程序负载和系统程序负载,也可按时间划分时、日、周或月工作负载等。系统模型和工作负载模型是相互联系和相互影响的,它们采用程序语言描述。科学计算用程序语言(如ALGOL,FORTRAN)没有面向模拟的语法结构,用它建立模拟不够方便。为系统模拟发展的通用模拟语言(如GPSS,SIMULA)不仅能描述计算机系统,也能适用于一般系统模拟。为计算机系统模拟发展的专用模拟语言(如ECSS,CSS),使用更方便,但应用范围较窄。此外,还有计算机模拟程序包可供直接选用。
模拟模型建立后,需要检验它的合理性、准确度等,还要设计模拟试验,对感兴趣的输出值进行统计分析误差分析等数据处理。
分析技术 分析技术可为计算机系统建立一种用数学方程式表示的模型,进而在给定输入条件下通过计算获得目标系统的性能特性。
计算机系统由一组有限的资源组成,系统中运行的所有进程共享这些资源必然出现排队现象。因此可以应用排队论来描述计算机系统中的这类现象。例如,可采用单队列、单服务台的排队系统来描述处理机的工作模型。通过求解排队系统的参数获得处理机性能指标,如服务台忙的程度对应处理机利用率,顾客等待服务的平均时间对应处理机响应时间,顾客在排队系统中的平均逗留时间对应处理机周转时间等。
计算机系统的分析模型一般是某种网状的排队系统,求解往往是困难的。有些复杂的计算机系统要建立它的分析模型就很困难。因此分析技术的应用是有局限性的。
计算机系统性能评价是一项重要工作,其最终目的是使计算机系统的设计、制造和使用形成有机的系统工程整体。
http://zhidao.baidu.com/question/10312132.html
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:即PERFormance Evatuation 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很庞大,用于评价计算机系统支持各种具有不同需求的科学计算应用的性能。