北京理工大学计算机组成原理课件Chapter 9

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第九章性能度量和分析北京理工大学管理与经济学院关磊博士本章学习目标了解衡量计算机性能的各种方法。能够描述各种常用的基准以及它们的局限性。熟悉能够提升CPU和磁盘性能的各种因素。2015年6月北京理工大学管理与经济学院关磊博士9.1概述本章中介绍的思想将帮助我们了解衡量计算机性能的各种指标。这一章学习的知识,对于我们选购新的计算机,或者改进现有系统的性能,都是非常有用的。我们将讨论一系列影响系统性能的因素,包括改进系统性能的一些重要方法。2015年6月北京理工大学管理与经济学院关磊博士9.2基本的计算机性能方程式在讨论RISC和CISC时,我们已经介绍了关于计算机性能的基本方程式:为了获得更好的性能,RISC结构的计算机要尽力减少每条指令需要的时钟周期数,而CISC机器则设法减少每个程序中的指令数。2015年6月北京理工大学管理与经济学院关磊博士9.2基本的计算机性能方程式当然,对CPU进行优化并不是增强系统性能的唯一途径。存储器和I/O对系统处理能力也有很大的影响。Amdahl定律指出计算机通过使用某种较快的执行模式可以获得的性能改善程度,受到这种模式所占用的系统时间的比例的限制:2015年6月北京理工大学管理与经济学院关磊博士9.2基本的计算机性能方程式或者说,Amdahl定律告诉我们怎样才能使得计算机在一般情况下运行得更快。如果系统的约束在于CPU,那么就应该使得CPU更快。而由存储器约束的系统,则需要在存储器的管理上有所提升。升级I/O系统则可以改善被I/O约束的计算机的性能。2015年6月北京理工大学管理与经济学院关磊博士当然,改善计算机系统中的某一个部件会使得另外的部件成为系统中新的弱点。9.3数学预备知识系统性能的度量通常取决于个人观点。•计算机用户最关心的是系统响应时间(responsetime):系统完成一个任务需要多长时间?•系统管理员最关心的是系统吞吐量(throughput):在不会对反应时间产生较大不利影响的情况下能执行多少个并发任务?显然,这两个观点是关联的:如果一个系统在k秒内执行一个任务,则它执行这些任务的吞吐量就是每秒1/k。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识要比较两个系统的性能,我们可以测量在每个系统完成等量的任务时,各自所需要的时间。例如,系统A和系统B,如果满足如下的关系,就表示系统A的运行速度是系统B的n倍:如果满足下面的关系,则表示系统A的运行速度比系统B快x%:2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识假设有两台赛车要完成一个10英里的比赛。赛车A用3分钟完成,而赛车B用4分钟完成。那么,结合上面的公式,赛车A是赛车B速度的1.25倍,或者说赛车A比赛车B快25%。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识如果我们要衡量一个系统的性能,那么我们更加关心在给定工作量时系统在期望意义下的表现。这里我们使用统计学的基本工具,即集中趋势的度量(measuresofcentraltendency)。最为人熟知的一种方式是算术平均值(arithmeticmean),即2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识但是当数据有偏或者变化幅度较大时,算术平均值不一定适用。•考虑下表所示的三台计算机的程序执行时间,其性能的差异被简单的算术平均方法所掩盖。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识如果这里知道每个程序被调用的频繁程度,则可以适用加权算术平均的方法。•系统A的加权平均值为:•50×0.5+200×0.3+250×0.1+400×0.05+5000×0.05=380.2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识然而,每个程序的使用频繁程度也会发生变化。•当程序使用的频繁程度改变时,一个为某一特定程序所优化的系统表现会变差。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识当比较两个或者更多系统的相对性能时,几何平均值(geometricmean)更加适用。•它的定义是n个测量结果乘积的n次根。与算术平均值不同,几何平均值给出的不是系统性能的期望值。它只是一种用来做比较的工具。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识当采用一个程序在参考机器上的运行时间与相同的程序在要评估的系统上的运行时间的比值时,这些要评估的系统相对于参考机器是归一化的(normalized)。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识如果另外一个系统被当做参考机器,则得到的数值会有所变化。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识归一化的几何平均值的好处在于,不管选择哪个系统作为参考机器,几何平均值的比值都是一致的。也就是说,系统A与系统B、系统B与系统C以及系统A与系统C的几何平均值的比值,与如何选择参考机器无关。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识使用系统B和使用系统C作为参考机器的结果如下。可以看到,1.6733/1=2.4258/1.4497.2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识使用几何平均值衡量机器性能的一个内在问题是:所有程序的执行时间对于最终结果的影响是一样的。所以,将一个小程序的执行时间减少10%和将一个大程序的执行时间减少10%的效果是完全相同的。•较短的程序一般说来更容易优化。而在实践当中,我们更想缩短大程序的执行时间。某一个系统的几何平均值是另外一个系统的50%,并不意味着这个系统就比另外一个快一倍!2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识为了计算平均速度或者平均比率,我们可以使用调和平均值(harmonicmean)。利用调和平均值可以组成一个系统吞吐量的数学期望值,还可以比较系统或系统组件之间的相对吞吐量(处理能力)。调和平均值的求值方法是将各个数据的倒数相加,然后用这个求和结果去除取样的数据元素数目,即:H=n÷(1/x1+1/x2+1/x3+...+1/xn)2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识调和平均值与几何平均值相比有两个优点。首先,调和平均值是一个非常合适的计算机行为预测工具。•因此,调和平均值的结果在性能比较之外也很有用。其次,耗时较多的程序比耗时较少的程序对调和平均值的影响更大。加速大而慢的任务可以获得更大的机器性能的改善。调和平均值的缺点在于其对参考机器的选择更加敏感。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识下表总结了各种平均值方法的正确应用范围。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识在决定选择购买哪一台计算机时,对于计算机性能的客观衡量非常重要。•对于企业级的计算机系统,这样的过程会非常复杂,而且错误决策的影响极大。不幸的是,在计算机的销售中,好的性能与好的市场营销的作用近乎相同。对于谨慎的购买者来说,应当了解客观的性能数据是如何被转化为有偏向性的语言的。2015年6月北京理工大学管理与经济学院关磊博士9.3数学预备知识比较常见的欺骗性行为包括:•选择性的统计数据:只引用好的结果,而忽略其他结果。•只引用峰值时的数据,而忽略平均情况下的性能。•在描述各种性能数据时,使用“几乎”“接近”“更多”或“较少”这样比较模糊的词语。•使用不合理的统计数据或者“拿橘子和苹果比较”。•暗示应该购买某种特定的型号,因为“每个人”都买了相同的型号。2015年6月北京理工大学管理与经济学院关磊博士我们可以在很多杂志或者网页上找到类似的例子。9.4基准性能基准是一个系统相对于另一个系统做出客观的性能评价的一门科学。性价比(Price-performanceratios)可以由标准的基准推导得到。困难之处在于,并不存在一种通用的计算机性能的度量,能够告诉我们哪一个系统能够以最少的成本最快地完成各种工作。2015年6月北京理工大学管理与经济学院关磊博士9.4基准很多人错误地将CPU速度等价为计算机的性能。CPU速度的衡量指标包括CPU频率(MHz或者GHz)以及每秒钟执行的百万条指令数(millionsofinstructionspersecond,MIPS)。如果系统A的频率为1.4GHz而系统B的频率为900MHz,那么当系统A和系统B采用的指令集体系结构完全相同时,我们才能说系统A比系统B快。•对于不同的指令集体系结构,不同的系统有可能会在相同的时间内完成同样的任务。2015年6月北京理工大学管理与经济学院关磊博士9.4基准为了能够独立于时钟速度和指令集体系结构之外来描述计算机性能,研究人员开发了所谓的综合基准(syntheticbenchmarks)。综合基准是一系列的程序,其设计的出发点就是用来衡量计算机的性能。早期较为知名的综合基准包括Whetstone,Dhrystone和Linpack,都是相对比较小且容易优化的程序。•这样的特点限制了这些综合基准的应用范围。这些综合基准不适用于衡量今天我们使用的计算机系统。2015年6月北京理工大学管理与经济学院关磊博士9.4基准1988年,标准性能评估公司(StandardPerformanceEvaluationCorporation,SPEC)正式成立,专门开发客观的计算机性能度量基准。SPEC为各种类型的计算机和相关应用开发基准套件(benchmarksuite)。他们最为人熟知的基准套件是SPECCPU套件。SPEC2000基准套件两个部分:CINT2000用来测评系统执行整数处理的能力,而CFP2000则用来测评浮点计算能力。2015年6月北京理工大学管理与经济学院关磊博士9.4基准SPEC基准包含了一系列的内核(kernel)程序。这些程序包含了解决某些特定问题的核心过程。•某些与解决特定问题无关的活动,如I/O活动,会被从中剔除。CINT2000由12个应用程序组成(11个用C语言编写,另外一个用C++编写);CFP2000由14个程序组成(6个用Fortran77编写,4个用Fortran90编写,还有4个用C语言编写)。2015年6月北京理工大学管理与经济学院关磊博士9.4基准对于大多数系统来说,运行SPECCPU2000基准套件都要花不止两天的时间。根据完成情况,每一个核心的执行时间将被该核心在SunUltra10上的执行时间除。最终给出的结果是所有运行时间的几何平均值。制造商通常会提供两组数据:最高度量标准和基准度量标准,它们分别是在编译过程中进行优化和不进行优化的情况下得到的。2015年6月北京理工大学管理与经济学院关磊博士9.4基准SPECCPU基准只衡量CPU的性能。当我们更关心系统处理大量并发事务的性能时,事务处理委员会(TransactionPerformanceCouncil,TPC)提供的基准更加适用。目前适用的套件版本为TPC-C基准。TPC-C可以对一个批发产品销售公司的活动进行建模。2015年6月北京理工大学管理与经济学院关磊博士9.4基准TPC-C度量标准是每分钟内完成的新订单事务的数目(tpmC),虽然其他各种事务的组合并发地执行在同一系统上。tpmC的结果中还包含一个性价比,这个比值是用系统的成本价格除以吞吐量度量的结果。系统的价格包括所有的硬件、软件,以及可以预期到的维护费用。2015年6月北京理工大学管理与经济学院关磊博士9.4基准TPC还创建了用来衡量决策支持系统(例如各种数据挖掘应用)和基于WEB的电子商务系统的基准。对于所有的这些基准,必须在测试的时间段内系统可用,并且相关的价格成本与在最终报告中披露的完全一致。所有的测试结果将被经过TPC认证的独立审计公司进行审计控制。2015年6月北京理工大学管理与经济学院关磊博士9.4基准TPC基准是一种仿真工具。它们可以用来优化在一些不常见情况下系统的性能。其他的一些仿真工具也可以用来评估现有系统的性能,或者对新系统的性能指标进行建模。系

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功