电脑系统性能分析与评价
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈计算机系统性能评价的认识和理解
随着科学技术的日益进步,计算机也得到快速发展,计算机性能成为人们关注的重点。计算机性能评价不仅是计算机网络和计算机系统研究与应用的重要理论基础和支撑技术,也是当今通信和计算机科学领域的重要研究方向。因此,进行计算机系统性能评价成为当务之急。
计算机性能评价是指对系统的动态行为进行研究和优化,包括对实际系统的行为进行分析、测量和模拟按照一定的性能要求对方案进行选择,对现有系统的性能缺陷和瓶颈进行改进,对未来系统的性能进行预测,以及在保证一定服务质量的前提下进行设计。性能评价技
术研究使性能成为数量化的、能进行度量和评比的客观指标,以及从系统本身或从系统模型获取有关性能信息的方法。性能评价通常是与成本分析综合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机系统(如分布式计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。
1 计算机系统性能评测指标
计算机系统性能指标有两类:可用性、工作能力。
可用性:它指计算机能够持续工作时间,一般用平均无故障时间和可恢复性来表示。
工作能力:它指计算机在正常工作状态下所具有的能力。它们是系统性能评价的主要研究对象。常用的工作能力指标由:吞吐量、延迟和资源利用率。
吞吐量:单位时间内系统的处理能力,指单位时间内完成的任务数。对于不同目标可能含义不同。例如,在评价一个数据库系统时,所指的吞吐量可以是单位时间内交易完成的个数;在评价一个网络系统是,吞吐量指单位时间内传输的字节数等。
延迟:完成一个指定任务所花费的时间。例如,在评价一个数据库系统时,可以考察它完成一个查询,或完成一个数据处理所需要的时间;在评价一个网络系统时,可以考察发送一个网络包所需要的时间等。
资源利用率:指完成一个任务所需要花费的系统资源。例如完成一个数据处理、所占用处理器的时间、占用内存的大小或占用网络带宽的大小等。
吞吐量越高、延迟越少、资源利用率越低则表示系统的性能越好。
2 计算机性能的主要评测手段
计算机性能的主要评测手段主要包括测量、模拟、分析方法。
测量方法:测量是最基本、最重要的系统性能评价手段。测试设备向被测设备输入一组测试信息并收集被测设备的原始输出,然后进行选择、处理、记录、分析和综合,并且解释其结果。上述这些功能一般是由被测的计算机系统和测量工具共同完成的,其中测量工具完成测量和选择功能。测量工具分硬件工具和软件工具两类。硬件测量工具附加到被测计算机系统内部去测量系统中出现的比较微观的事件(如信号、状态)。典型的硬件检测器有定时器、序列检测器、比较器等。例如,可用定时器测量某项活动的持续时间;用计数器记录某一事件出现的次数;用序列检测器检测系统中是否出现某一序列(事件)等。数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执行某些检测程序来实现。这类检测程序即软件测量工具。例如,可按程序名或作业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送某个文件的若干个记录的传送时间等特殊信息;或者针对某个程序或特定的设备收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。硬件监测工具的监测精度和分辨率高,对系统干扰少;软件监测工具则灵活性和兼容性好,适用范围广。测量方法是最直接、最基本的方法,其他方法也要依赖于测量的量,但是它比较浪费时间,只适合于已经存在并运行的系统。
分析方法:分析方法可为计算机系统建立一种用数学方程式表示的模型,进而在给定输入条件下通过计算获得目标系统的性能特性。该方法一般应用于系统的设计阶段,这时候因
为没有完整的实时系统导致测量方法不能使用,因此,分析方法在系统建模的初期显得尤其重要。为了使得抽象的模型在数学上能够理解,我们需要对系统进行简化和高度抽象,因此这种模型刻画系统有一定的偏差。例如,在分析模型中,考虑时间分布的函数的时候只用指数分布函数。而这一点限制在模拟方法中可以去掉。一般来说,因为抽象与简化使得分析方法刻画的系统详细程度较低,得出的性能指标精度也相对较为粗糙。但是它的优点是花费低,并且分析方法的灵活度更高,我们可以分析用户实时配置的系统,而不用去构建系统并运行和测量。
模拟方法:在系统的设计、优化、验证和改进过程中,不可能或不便于采用测量方法和分析方法时,可以构造模拟模型来近似目标系统,进而了解目标系统的特性。该方法主要是用程序动态的模拟系统及其负载。模拟模型包括系统模型和工作负载(环境)模型。工作负载又可分为用户程序负载和系统程序负载,也可按时间划分时、日、周或月工作负载等。系统模型和工作负载模型是相互联系和相互影响的,它们采用程序语言描述。科学计算用程序语言(如ALGOL,FORTRAN)没有面向模拟的语法结构,用它建立模拟不够方便。为系统模拟发展的通用模拟语言(如GPSS,SIMULA)不仅能描述计算机系统,也能适用于一般系统模拟。为计算机系统模拟发展的专用模拟语言(如ECSS,CSS),使用更方便,但应用范围较窄。此外,还有计算机模拟程序包可供直接选用。模拟模型建立后,需要检验它的合理性、准确度等,还要设计模拟试验,对感兴趣的输出值进行统计分析、误差分析等数据处理。模拟方法能够详细的刻画系统,具有较精确的性能指标,但是它费时并且费用较高。
三种评测手段各有优缺点,它们的对比如表2-1所示。
表2-1 三种评测手段对比
3计算机系统性能测试程序及标准
计算机系统性能测试及标准多种多样,主要有以下几种测试程序及标准。
Linpack:最早的评测系统计算能力的Benchmark之一,linpack (Linear algebra Packages)主要功能是解线性方程组和线性最小二乘问题,最早的矩阵大小为100x100,300x300,后来以1000x1000为标准;随着MPP、CC-NUMA、Cluster等大型并行计算机的出现,不再限定矩阵的规模。Linpack 问题在大多数系统上很容易向量化,厂商进行精心优化,提高cache命中率,得到的计算饱和峰值常常是实际应用不可能达到的。