- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . . .
专注 专业
Benchmark和性能评测综述
简介
1.1性能评估标准
用户使用计算机的主要原因是使工作效率更高,更快的完成任务。这也是用户非常关心计算机性能的原因。
那么计算机性能评价的标准是什么?直到上世纪80年代后期,评价计算机性能的主要标准是MIPS(million instructions per second)和Mflops(million floating-point operations per second);通过计算每条指令在运行时的百分比,就可以得到这两个数据。但是这两个标准在评价不同的指令集体系结构就失去了意思,例如CISC体系结构和RISC体系结构,RISC指令比CISC指令更简单更快。
但是,人们一直都想建立一个性能评测的标准,而现在公认的方法就是通过运行评测程序(我们也称之为benchmark),比较运行的时间来评价性能的好坏。
1.2关于评测程序(benchmark)
选择合理的评测程序是正确评价性能的基础,下面列出5种评测程序,他们评测的准确程序依次递减
真实的程序:虽然得到的结果最真实,但是经常碰到一些由于依赖操作系统或者编译器而引起的移植性问题
修改过的程序:很多情况下通过修改真实的程序来构造基准程序,主要是为了两个原因:要么增强可移植性,要么是为了集中测试某种特定的系统功能
程序内核:从真实的程序中提取出一些小而关键的程序片断来评估程序性能。程序内核的最大用途就是分别测试机器的各项性能,以解释运行真实程序性能差异的原因。典型的是Linpack和Livermore。
小型基准程序:通常只有10-100行那么大,用户在测试前往往就知道了运行结果。
综合(synthetic)基准程序:也可以说是人造(synthetic)程序,取大量程序的指令和操作书出现频率的平均值,与真实的情况差距最远,只是最早期的时候才有这样的评测程序。
然而因为机器的性价比关系到企业的兴衰,各企业都不遗余力的提高机器运行广泛使用的测试软件的性能,可是针对每个真实程序优化却是不太可能的。于是,将一些基准测试软件集中在一起来评测处理器性能的方法就十分的流行,它的优点是单独某一种测试软件的弱点会被另一种测试软件所掩盖。
1.3关于执行时间
但是怎么根据一组程序的运行结果综合的评价计算机的性能?下面是几个方法
总执行时间:最简单的相对相对性能综合评价方法就是比较几个程序的总的执行时间。对总执行时间取算术平均值,就得到平均总执行时间…
加权执行时间:总执行时间方法的问题是每个程序在工作负载中所占的比例可能并不相同,如果他们所占的比例不同,那么有两种方法可以近似评估机器的综合性能。
第一种方法是为每一个程序赋予一个权值,将各个程序的权值和执行时间乘积加起来就是加权执行时间
第二种方法是将执行时间对一台参考机器归一化,然后去归一化执行时间的平均值。。。。
时间是评价性能的标准,但是对于计算机的用户和管理员来说,时间的概念是不同的。对于计算机用户来说,当一个程序在一台机器上运行比其他机器上运行的时间短时,用户认为这台计算机快,也就是响应时间;而对于管理员来说,单位时间内完成的任务多的机器比较快,也就是吞吐量。但是关键的衡量标准还是时间,相同的任务花费的时间越少,速度越快,区别是单任务还是多任务。
1.4执行时间的组成
同时,也必须清楚到底是衡量的哪部分时间,执行时间可能有不同的定义。时间最直接的定义是也称为外部时钟,相应时间,指的是完成一项任务所需要的延迟,包括磁盘访问时间,内存访问时间,输入输出操作时间,操作系统开销,也就是所有任务的执行时间包括在内。但是当多个程序同时运行的计算机中,当一个程序等待I/O操作完成时,CPU会转而执行另一个程序,此时计算机不一定会使每个程序经过的时间最短。这样,我们就需要另一个术语将这种情况考虑在内。CPU时间体现了这一区别,它指得是CPU计算耗用的时间,而不包括等待I/O操作完成或运行其他程序的时间。CPU时间又可细分为执行程序的时间(用户CPU时间)和完成程序执行所需的操作系统功能调用时间(称为系统CPU时间)。
了解CPU时间的组成也是非常重要,它可以指导我们通过对体系结构的改进而改进CPU时间。
CPU时间=一个程序的CPU时钟周期数*时钟周期长度
CPU时间=IC(指令数)*CPI*时钟周期长度
CPU时间和三个因素因素有关:时钟周期长度,每条指令执行所需的时钟周期数和程序的指令数。这三个因素对CPU时间的影响是相同的。这三个因素相关联的技术如下:
时钟周期的长度—由硬件技术和计算机组成决定
CPI—
原创力文档


文档评论(0)