1、电脑系统性能分析与评价浅谈计算机系统性能评价的认识和理解随着科学技术的日益进步,计算机也得到快速发展,计算机性能成为人们关注的重点。计算机性能评价不仅是计算机网络和计算机系统研究与应用的重要理论基础和支撑技术,也是当今通信和计算机科学领域的重要研究方向。因此,进行计算机系统性能评价成为当务之急。计算机性能评价是指对系统的动态行为进行研究和优化,包括对实际系统的行为进行分析、测量和模拟按照一定的性能要求对方案进行选择,对现有系统的性能缺陷和瓶颈进行改进,对未来系统的性能进行预测,以及在保证一定服务质量的前提下进行设计。性能评价技术研究使性能成为数量化的、能进行度量和评比的客观指标,以及从系统本身
2、或从系统模型获取有关性能信息的方法。性能评价通常是与成本分析综合进行的,借以获得各种系统性能和性能价格比的定量值,从而指导新型计算机系统(如分布式计算机系统)的设计和改进,以及指导计算机应用系统的设计和改进,包括选择计算机类型、型号和确定系统配置等。1 计算机系统性能评测指标计算机系统性能指标有两类:可用性、工作能力。可用性:它指计算机能够持续工作时间,一般用平均无故障时间和可恢复性来表示。工作能力:它指计算机在正常工作状态下所具有的能力。它们是系统性能评价的主要研究对象。常用的工作能力指标由:吞吐量、延迟和资源利用率。吞吐量:单位时间内系统的处理能力,指单位时间内完成的任务数。对于不同目标可
3、能含义不同。例如,在评价一个数据库系统时,所指的吞吐量可以是单位时间内交易完成的个数;在评价一个网络系统是,吞吐量指单位时间内传输的字节数等。延迟:完成一个指定任务所花费的时间。例如,在评价一个数据库系统时,可以考察它完成一个查询,或完成一个数据处理所需要的时间;在评价一个网络系统时,可以考察发送一个网络包所需要的时间等。资源利用率:指完成一个任务所需要花费的系统资源。例如完成一个数据处理、所占用处理器的时间、占用内存的大小或占用网络带宽的大小等。吞吐量越高、延迟越少、资源利用率越低则表示系统的性能越好。2 计算机性能的主要评测手段计算机性能的主要评测手段主要包括测量、模拟、分析方法。测量方法
4、:测量是最基本、最重要的系统性能评价手段。测试设备向被测设备输入一组测试信息并收集被测设备的原始输出,然后进行选择、处理、记录、分析和综合,并且解释其结果。上述这些功能一般是由被测的计算机系统和测量工具共同完成的,其中测量工具完成测量和选择功能。测量工具分硬件工具和软件工具两类。硬件测量工具附加到被测计算机系统内部去测量系统中出现的比较微观的事件(如信号、状态)。典型的硬件检测器有定时器、序列检测器、比较器等。例如,可用定时器测量某项活动的持续时间;用计数器记录某一事件出现的次数;用序列检测器检测系统中是否出现某一序列(事件)等。数据的采集、状态的监视、寄存器内容的变化的检测,也可以通过执行某
5、些检测程序来实现。这类检测程序即软件测量工具。例如,可按程序名或作业类收集主存储器、辅助存储器使用量、输入卡片数、打印纸页数、处理机使用时间等基本数据;或者从经济的角度收集管理者需要的信息;或者收集诸如传送某个文件的若干个记录的传送时间等特殊信息;或者针对某个程序或特定的设备收集程序运行过程中的一些统计量,以及发现需要优化的应用程序段等。硬件监测工具的监测精度和分辨率高,对系统干扰少;软件监测工具则灵活性和兼容性好,适用范围广。测量方法是最直接、最基本的方法,其他方法也要依赖于测量的量,但是它比较浪费时间,只适合于已经存在并运行的系统。分析方法:分析方法可为计算机系统建立一种用数学方程式表示的
6、模型,进而在给定输入条件下通过计算获得目标系统的性能特性。该方法一般应用于系统的设计阶段,这时候因为没有完整的实时系统导致测量方法不能使用,因此,分析方法在系统建模的初期显得尤其重要。为了使得抽象的模型在数学上能够理解,我们需要对系统进行简化和高度抽象,因此这种模型刻画系统有一定的偏差。例如,在分析模型中,考虑时间分布的函数的时候只用指数分布函数。而这一点限制在模拟方法中可以去掉。一般来说,因为抽象与简化使得分析方法刻画的系统详细程度较低,得出的性能指标精度也相对较为粗糙。但是它的优点是花费低,并且分析方法的灵活度更高,我们可以分析用户实时配置的系统,而不用去构建系统并运行和测量。模拟方法:在
7、系统的设计、优化、验证和改进过程中,不可能或不便于采用测量方法和分析方法时,可以构造模拟模型来近似目标系统,进而了解目标系统的特性。该方法主要是用程序动态的模拟系统及其负载。模拟模型包括系统模型和工作负载(环境)模型。工作负载又可分为用户程序负载和系统程序负载,也可按时间划分时、日、周或月工作负载等。系统模型和工作负载模型是相互联系和相互影响的,它们采用程序语言描述。科学计算用程序语言(如ALGOL,FORTRAN)没有面向模拟的语法结构,用它建立模拟不够方便。为系统模拟发展的通用模拟语言(如GPSS,SIMULA)不仅能描述计算机系统,也能适用于一般系统模拟。为计算机系统模拟发展的专用模拟语
8、言(如ECSS,CSS),使用更方便,但应用范围较窄。此外,还有计算机模拟程序包可供直接选用。模拟模型建立后,需要检验它的合理性、准确度等,还要设计模拟试验,对感兴趣的输出值进行统计分析、误差分析等数据处理。模拟方法能够详细的刻画系统,具有较精确的性能指标,但是它费时并且费用较高。三种评测手段各有优缺点,它们的对比如表2-1所示。表2-1 三种评测手段对比分析模拟测量适用范围任意系统任意系统已有系统所需时间短中长所需工具模型程序语言设备精确性低中不确定参数之间的折中容易适中困难费用低中高3计算机系统性能测试程序及标准计算机系统性能测试及标准多种多样,主要有以下几种测试程序及标准。Linpack
9、:最早的评测系统计算能力的Benchmark之一,linpack (Linear algebra Packages)主要功能是解线性方程组和线性最小二乘问题,最早的矩阵大小为100x100,300x300,后来以1000x1000为标准;随着MPP、CC-NUMA、Cluster等大型并行计算机的出现,不再限定矩阵的规模。Linpack 问题在大多数系统上很容易向量化,厂商进行精心优化,提高cache命中率,得到的计算饱和峰值常常是实际应用不可能达到的。 NAS:由美国NASA的NAS(Numerical Aerodynamic Simulation)研究组开发的科学计算性能评价标准,包含8个
10、空气动力学计算类应用,其中含5个核心程序和3个伪应用,核心应用分别是EP、多重网格求解、共轭梯度方程求解、三维FFT、和整数排序。开始NAS只是纸上标准,由厂商自行按最优方法编制程序,早期的巨型机和向量机都采用NAS Benchmark。随着并行机的出现,又有了并行版本NPB,厂商需要针对自己系统的体系结构,在并行粒度、数据结构、通信机制、处理器映射、内存分配、底层优化上下功夫。最近又有了NPB2标准,统一提供MPI语言编制的并行程序。 Perfect:即Performance Evaluation for Cost-effective Transformations评测程序,是由HPCG组织
11、开发的用于评测传统的向量巨型机的标准。SPLASH:Stanford大学开发的用于评测共享存储系统性能的测试程序。现在已发展到SPLASH-2,包含7个完整的应用和5个计算核心程序,它们都是科学与工程计算和计算机图形学方面的并行程序,主要用于评价SMP、CC-NUMA、DSM等共享存储类体系结构的计算机系统的性能。 ParkBench:用于评价大型可扩展系统的科学计算性能,有Fortran加消息传递、HPP多个版本,包括micro-benchmark, Kernel, Compact Application,Compiler四类Benchmark。底层的micro-benchmark用于测量单
12、节点性能,目的是获取单处理器的有关体系结构和编译器的基本性能参数,以便更好地理解上层测试的结果。测试内容包括时钟调用、算术运算、内存带宽和延迟、通信延迟和带宽、全局同步操作性能等。核心测试包括矩阵运算、FFT、偏微分方程、NAS核心,和一个I/O Benchmark。简化应用测试包括气候模型、计算流体动力学、财务模型、分子动力学、等离子物理、量子化学、水库模型等。编译器测试主要是评价HPF编译器优化的效果。ParkBench很庞大,用于评价计算机系统支持各种具有不同需求的科学计算应用的性能。4排队论基本知识排队论也称为随机服务理论,即通过对服务对象的到来及服务时间的统计研究,得出一些性能指标(
13、等待时间、队列长度、利用率、吞吐量等)的统计规律,然后根据这些规律来改进服务系统的结构或重新组织被服务对象,使得服务系统既能满足服务对象的需要,又能使系统的费用最低或某些指标最优。排队论是用来模拟和分析系统性能的传统方法. 它是由丹麦数学家爱尔朗在1909年的时候最先提出来的,后来英国科学家肯达尔对排队论进行了系统的研究。目前,排队论的理论基础已经非常成熟,而且被应用到很多领域中,它被广泛应用于计算机网络、生产、运输、 库存等各项资源共享的随机服务系统。 排队论研究的内容有3个方面:统计推断,根据资料建立模型;系统的性态,即和排队有关的数量指标的概率规律性;系统的优化问题。其目的是正确设计和有
14、效运行各个服务系统,使之发挥最佳效益。排队论模型图3-1 排队论模型如图3-1所示,各个顾客从顾客源出发,随机地来到服务机构,按一定的排队规则等待服务,直到按一定的服务规则接受服务后离开排队系统。凡要求服务的对象统称为顾客,为顾客服务的人或物称为服务员,由顾客和服务员组成服务系统。对于一个服务系统来说,如果服务机构过小,以致不能满足要求服务的众多顾客的需要,那么就会产生拥挤现象而使服务质量降低。 因此,顾客总希望服务机构越大越好,但是,如果服务机构过大,人力和物力方面的开支也就相应增加,从而会造成浪费,因此研究排队模型的目的就是要在顾客需要和服务机构的规模之间进行权衡决策,使其达到合理的平衡。
15、排队模型的表示(六要素):X/Y/Z/A/B/CX顾客相继到达的间隔时间的分布,即到达模式;Y服务时间的分布,即服务模式。两种模式主要有:M负指数分布、D确定型、Ek k阶爱尔朗分布,G一般分布;GI一般独立的分布,还有泊松分布等。Z服务台个数;A系统容量限制(默认为);B顾客源数目(默认为);C服务规则 ,即排队规则(默认为先到先服务FCFS)。一般的排队过程都是由输入过程、排队过程、服务过程三部分组成。输入过程输入过程是指顾客到来时间的规律性,可能有以下几种情况。顾客的组成可能是有限的,也可能是无限的;顾客到达方式可能是一个一个的,也可能是成批的;顾客到达方式可能是独立的,也可能是相关的;
16、输入过程可以是平稳的,即相继到达的时间间隔分布及其数学期望、方差等数字特征都与时间无关,否则是非平稳的。排队规则排队规则是指到达排队系统的顾客按怎样的规则排队等待,可分为损失制、等待制、混合制。损失制(消失制):当顾客到达时,所有的服务台均被占用,顾客随即离去。等待制:当顾客到达时,所有的服务台均被占用,顾客就排队等待,直到接受服务才离去。例如出故障的机器排队等待维修就是这种情况。混合制:介于损失制和等待制之间的是混合制,即既有等待又有损失。有队列长度有限和排队等待时间有限两种情况,在限度以内就排队等待,超过一定限度就离去。服务过程服务机构主要有以下几种类型:单服务台、多服务台并联(每个服务台
17、同时为不同顾客服务)、多服务台串联(多服务台依次为同一顾客服务)、混合型。服务规则按为顾客服务的次序采用以下几种规则:先到先服务、后到先服务、随机服务、优先服务。先到先服务:即先到的客户首先被服务,这是排队论中默认的服务规则。后到先服务:如情报系统中,最后到的情报信息往往最有价值,因而常被优先处理。随机服务:服务台从等待的顾客中随机地取其一进行服务,而不管到达的先后。优先服务:按照某种优先权进行服务,如医疗系统对病情严重的病人给予优先治疗。排队系统运行指标为了研究排队系统运行的效率,估计其服务质量,确定系统的最优参数,评价系统的结构是否合理并研究其改进的措施,必须确定用以判断系统运行优劣的基本
18、数量指标,这些数量指标通常是:平均队长、平均排队长、平均逗留时间、平均等待时间、平均忙期。平均队长:指系统内顾客数(包括正被服务的顾客与排队等待服务的顾客)的数学期望。平均排队长:指系统内等待服务的顾客数的数学期望。平均逗留时间:顾客在系统内逗留时间(包括排队等待的时间和接受服务的时间)的数学期期望。平均等待时间:指一个顾客在排队系统中排队等待时间的数学期望。平均忙期:指服务机构连续繁忙时间(顾客到达空闲服务机构起,到服务机构再次空闲止的时间)长度的数学期望。5计算机性能评价详解及应用计算机系统性能评价的三种方法各有优缺点。但因为分析方法具有最省时、费用最低,的特点,这里重点讲解分析方法。传统
19、的计算机分析方法来建模大致分为以下几种:排队网络模型、马尔科夫链模型、半马尔科夫链模型、Petri网模型、随机过程代数模型。排队网络模型排队网络模型已经成为用于量化系统性能分析的最普遍最有效的数学方法之一。作为一种分析模型,相对其它性能评测方法排队网络模型能在准确度与效率之间取得很好的平衡,能以较小的代价简捷、快速地获得相对准确的性能评价结果。排队网络模型是在排队论基础上构建的一种模型。排队网络中,以服务节点来表示各种共享资源,并模拟客户的到达、等待服务、接受服务、最后离开排队系统的全过程。为了构建一个特定的排队网络模型,需要确定以下6方面信息:(1)整个网络中客户到达时间间隔的概率密度函数。
20、(2)每个服务节点的服务时间的概率密度函数。(3)服务节点数量及其网络结构。(4)服务节点对应的排队队列的容量(可能是无限的)。(5)网络中,客户数量的规模(可能是无限的)。(6)排队规则(如先到先服务,按优先级服务等)。我们用简单的缩写A/S/m/B/K/SD来描述以上6方面。一般情况下,队列容量与客户规模是无限的,而排队规则往往是先到先服务,所以常简写为A/S/m/。对于A,S的概率分布常缩写为以下3种情况:M指数分布(马尔可夫分布)。D常数分布,具有相同的确定值。G一般的,任意随机分布。例如,M/M/1表示客户到达时间,服务时间遵循指数分布,网络中只有1个服务节点。排队网络中,我们以各个
21、服务节点的客户数量情况作为状态。在排队系统的分析中关键在于确定各种状态出现的概率,表示为P(n1,n2,.,nm ),它被称为平衡状态概率。我们将看到,一旦我们得到它,也就得到了各服务节点中客户数的平均值,于是其它性能参数便可迎刃而解。平衡状态概率常常通过马尔可夫链来计算,在这里,我们考虑一个服务率与到达率满足马尔可夫生灭过程的单队列排队网络,图5-1为它的马尔可夫链,状态k表示服务队列中恰有k个客户,与分别表示状态k下客户的到达率与离开率。图5-1 单队列派对网络马尔科夫链对于状态n的出现概率即平衡状态概率,根据马尔可夫理论我们有: 在M/M/1中我有 ,所以有,其中。于是可以得到服务队列的
22、平均客户数为,接着根据3.1.2的运算定律可以立即得到其它性能参数。在M/M/m中,有,同理可得到它的状态平衡概率。上面描述了单队列排队模型,然而实际系统中远比它复杂,表现为一个复杂的网络拓扑结构,客户在一个队列中完成服务后将进入到另一个队列。我们可以把排队网络模型分为以下2种:开环排队网络与闭环排队网络。开环排队网络模型允许客户在任意服务节点从系统外进入,或在任意节点离开到系统外,而闭环排队网络模型与之相反。这些排队网络模型的状态概率常常有着乘积形式(product form)的结果,如,其中G(N)是一个常数,使得总概率和为1。然而在很多情况下,我们并不关心具体的排队系统的状态概率分布,我
23、们只需要主要的系统性能参数。这时可以用更加简单的平均性能分析(Mean Value Analysis, MVA)来进行分析。主要基于递归思想,用N整个排队网络中各个服务队列客户数的总和,数量为N的排队系统性能参数通过客户总数为N-1的排队系统参数得到,有,其中R为服务节点k的响应时间,Q为节点k的队列长度。 注意到当N很大时,需要较大的代价来迭代计算性能参数,这里给出更加简单的近似MVA的迭代算法避免了递归,它仅仅基于假设当整个网络的客户数N提高时,服务节点的队列长度将近似地等比例提高。 此外,受MVA思想启发,可以提出了针对标准常数G(N)的局部平衡算法同时将类似MVA的公式与交错递归算法相
24、结合,产生非标准平均队列长度,再通过它们得到标准化常数。当排队网络模型的规模很大时,基于某些条件限制,我们可以先对其分解再解决它。这种方法称为层次化解构。 层次化排队网络模型是一种经典的扩展型排队网络模型,采用一种分层结构。这种层次结构中,高层的服务节点对相对低层的发出服务请求,并在完成服务后向更高层的服务节点返回服务结果响应。层次化排队网络主要用于构建软件系统模型,同时也适用于嵌入形式的多资源占用的扩展型排队网络。资源按照与请求相反的顺序进行释放,高层次的资源比底层的更早被请求更晚被释放。对于层次化排队网络模型的性能分析我们主要采用MVA方法。马尔可夫链模型在排队网络模型中,我们遭遇的问题是
25、如何由平均到达率及服务完成率来计算系统的平均驻留作业量并经由它并根据各个运算定律便可立即得到系统作业的响应时间,驻留时间等其他性能指标。马尔可夫链模型帮助我们准确可靠的解决了这一难题。马尔可夫链模型简单说即具有马尔可夫特性即无记忆性的随机过程模型,所谓的马尔可夫特性指的是未来的状态只和现状有关,而与历史无关。在马尔可夫模型中,系统运行的随机过程被表示为一系列系统状态的变化,例如在排队网络中可以将各个服务节点的客户队列数量情况作为它的状态S(n1,n2,nm),通过马尔可夫链的描述,我们可以计算出各种状态出现的概率即平衡状态概率,借助它将立即得到各个服务节点队列客户数量的期望值,从而计算出其它性
26、能参数。马尔可夫链模型可以分为离散时间马尔可夫链模型和连续时间马尔可夫链模型。离散型马尔科夫链模型中,时间被分割成一个个时钟节拍,状态的转移只能在时钟节拍到达时发生。而连续时间马尔科夫链模型则相反,任意时刻都可发生状态转移。马尔可夫链模型中,各个状态转移概率可以形成一个矩阵来表示。各个状态的出现概率可以用一个向量表示。若用P来表示状态转移矩阵,表示平衡状态概率的向量,则有及,其中e为单位向量。然而并非所有的马尔可夫链模型都具备稳定的状态出现概率。可证明得到,随机过程的状态转移只要满足无周期性、可达性和正可回溯性,那么经过足够长的时间,其状态概率分布将收敛于固定值。另一方面,如何简便地计算状态的
27、收敛的状态概率分布呢?可证明,在离散时间马尔科夫链模型中有平衡等式(离开状态i的概率等于进入状态i的概率)和可逆性等式(状态i到j的概率等于状态j到i的概率),借助这些性质使得我们可以简单地构造出方程来求解,从而避免了从直接求解复杂的线性方程。在现实系统中,事件的发生并非同步,而是属于连续时间马尔可夫链模型。我们需要借助于连续时间马尔科夫链模型。在连续时间马尔科夫链模型中,由于状态的转移可能发生在任意时刻,所以我们需要引入随机变量i表示停留在当前状态i的状态保持时间,它具有马尔可夫无记忆特性。统计学中已证明无记忆性的连续时间分布一定满足指数分布。所以i Exp(vi)。考虑下图5-2连续时间马
28、尔科夫链模型。图5-2 连续时间马尔科夫链模型(1) 表示i到j所花的时间(2) 表示i到k所花的时间(3) 表示i到j所花的时间所以我们有i到j的转移概率 为 PrXj为Xj,Xk,Xj中最小值= pij;考虑M/M/1模型,如图5-3所示:图5-3 M/M/1模型由于作业到达时间满足指数分布,而平均到达时间为,所以有下一个作业到达需要的时间间隔为XA Exp();同理,下一个作业完成时间间隔为XD Exp()。于是,可得状态保持时间为i Exp(+) ;状态转移概率:增1概率为PrXA XD = /(+)。于是我们可由到达率与服务完成率获得连续时间马尔科夫链模型的参数。可证明,连续时间摩尔
29、科夫链模型中也有类似分散时间马尔科夫链模型的平衡性质:状态i的状态保持时间 = 其他状态转移到i上所花时间的总和。此外,可证明,若能找到各xi解,满足和,则xi=状态概率。此连续时间马尔科夫链模型是时间可逆的,即从i到j转移的速率等于j到i转移的速率,即。通过这些性质,我们可以方便地构造出方程求解系统状态的概率分布。Petri网模型排队网络模型在随机模型应用领域是传统的数学工具模型,大部分的排队网络具有乘积解特性,使其在计算机网络、机器制造系统、传输控制系统得到了广泛的应用,但是排队模型在描述同步、阻塞;顾客的分裂等现象时表现出的能力不足,而Petri模型具有并行性、不确定性、异步性等特点,能
30、够有效的描述上述现象,比排队模型具有更强的描述能力,尤其是在分布系统、并行系统和同步系统的性能分析应用中具有很大的优势。基本的Petri网是一个位置变迁图,由一个六元组表示,其中是一个网,元素是位置,元素是变迁,元素是弧,是位置容量函数,是弧权函数,是模型的初始标识。Petri网中可达树、可达图、关联矩阵以及不变量是性能分析过程中的主要概念和技术。基本的Petri网没有时间的概念,只能对系统进行定性的分析,而无法进行定量的分析。将Petri网的变迁关联一个时间参数之后就等到了两种Petri网:时间Petri网和随机Petri网。时间Petri网在每个变迁的可实施和实施之间联系了一个固定的时间或
31、一个固定的时间范围。而随机Petri网则在关联了一个随机的延迟时间。随机Petri网为系统的性能模型提供了良好的描述手段,随机马尔可夫过程为模型的评价提供了坚实的数学基础,可以方便地对系统性能进行定量分析。随机Petri网的思想提出以来得到了广泛的应用,其中得到最普遍应用Petri网模型是:连续时间的SPN、广义的随机Petri网和随机回报网。连续时间的随机Petri网关联的随机延迟时间服从负指数分布,而广义随机Petri是一种扩充,将随机Petri网中的变迁分为瞬时变迁和时间变迁,为缓解随机Petri网中的状态空间爆炸问题提供了一种途径。而随机回报网是对广义的随机Petri网的一种扩充:可以允许系统性能测量用回报定义形式表达,并在通过可变弧权、变迁实施优先级和变迁实施函数等三个方面扩展了模型的描述能力。无论是SPN、GSPN还是SRN它们的性能分析过程主要有以下几个步骤:(1)给出与系统相应的Petri网模型;(2)求出该Petri网模型的可达图;(3)构造出该Petri网模型所同构的马尔可夫链或嵌入马尔可夫链;(4)基于该马尔科夫链或嵌入马尔科夫链得到稳定状态下的概率矩阵;(5)在稳定概率的基础上对系统的平均响
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1