利用Amdahl定律分析和提高画云图的效率.pdfVIP

利用Amdahl定律分析和提高画云图的效率.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用Amdahl 定律分析和提高画云图的效率 西安交通大学 王成 摘要 Amdahl 定律是计算机硬件系统设计中的一个准则。它定量的指出了如何确定经常性事件和如何加 快处理它以提高整个计算机系统的性能以及改进之后系统的加速比。本文将Amdahl 定律应用于程序设计 中程序运行效率的分析、定位和改进、提高。文中结合一个画云图的程序设计实例,针对其存在的严重效 率问题,应用Amdahl 定律来分析、定位和改进、提高效率,改进之后程序运行速度比改进之前提高了200 多倍。 关键词 Amdahl 定律 分析和提高 程序效率 画云图 0B 1.引言 算法效率的度量一般采用事先分析估计的方法。该方法撇开与计算机硬件、软件有关的因素,认为一 个特定算法”运行工作量” 的大小,只依赖于问题的规模(通常用整数量 n 表示) ,或者说,它是问题规模的 函数。为了比较统一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型) 来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间度量。一般情况下,算法中基本 操作重复执行的次数是问题规模n 的某个函数 ,算法的时间度量量记作 ,它表示随着 f (n ) T (n) O( f (n)) 问题规模n 的增大,算法执行时间的增长率和 的增长率相同,称做算法的渐进时间复杂度(asymptotic f (n ) time complexity)分析。 在工程应用中,由于程序设计往往需要调用应用软件和操作系统的内部函数和功能,通常这些内部函 数和功能的源代码没有公开,其实现复杂度和对应指令条数用户无法得知。如果忽略这些内部函数和功能 的内部实现复杂性,将其全部视为常数条指令,是不合道理的。而且对所研究的问题(或算法类型),可 能无法确定其基本操作即原操作(指固有数据类型的操作)。而且程序的效率是与所在计算机的硬件、软 件和实现语言、编译器效率的等环境因素相关的。此时基于原操作语句频度计数统计的事前分析估算仅存 在理论意义,无法实用。 本文使用事后统计的方法,使用计算机内部的计时功能和绝对的时间单位衡量程序的效率,并应用 Amdahl 定律来分析、定位和提高程序的效率,从而达到对特定问题特定程序代码段在特定计算机软硬件 环境下的优化。将该方法应用于Virtual Lab 画云图效率分析和改进,达到了极大提高画云图的效率的效果, 说明了该分析方法具有很好的应用价值。 1B 2. 利用Amdahl定律分析、定位和提高算法和程序的效率 Admahl 定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式 的使用频率或占总执行时间的比例有关。 S Amdahl 定律定义了由于采用特殊的方法所能获得的加速比 的大小。 S 加速比 =(采用改进措施后的性能)/(没有采用改进措施前的性能) =(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间) Admahl 定律中,系统的加速比与两个因素有关:一个是计算机执行某个任务的总时间中可被改进部 Fe 分的时间所占的百分比 ,即(可改进部分占用的时间)/(改进前整个任务的执行时间) ,它总小于1。另一 Se 个是改进部分采用改进措施后比没有采用改进措施前性能提高倍数 ,即(改进前改进部分的执行时 间)/(改进后该部分的执行时间) ,它总大于1。经过推导,我们得出: Fe (1)改进后整个任务的执行时间为:T T (1=−Fe + ) ,其中T 为改进前的整个任务的执行时间。 n 0 0

文档评论(0)

baihualong001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档