1 / 7
文档名称:

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

格式:pdf   页数:7
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:一文千金 2012/1/7 文件大小:0 KB

下载得到文件列表

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

文档介绍

文档介绍:利用 Amdahl 定律分析和提高画云图的效率
西安交通大学王成
摘要 Amdahl 定律是计算机硬件系统设计中的一个准则。它定量的指出了如何确定经常性事件和如何加
快处理它以提高整个计算机系统的性能以及改进之后系统的加速比。本文将 Amdahl 定律应用于程序设计
中程序运行效率的分析、定位和改进、提高。文中结合一个画云图的程序设计实例,针对其存在的严重效
率问题,应用 Amdahl 定律来分析、定位和改进、提高效率,改进之后程序运行速度比改进之前提高了 200
多倍。
关键词 Amdahl 定律分析和提高程序效率画云图

算法效率的度量一般采用事先分析估计的方法。该方法撇开与计算机硬件、软件有关的因素,认为一
个特定算法”运行工作量”的大小,只依赖于问题的规模(通常用整数量 n 表示),或者说,它是问题规模的
函数。为了比较统一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)
来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间度量。一般情况下,算法中基本
操作重复执行的次数是问题规模 n 的某个函数nf )( ,算法的时间度量量记作Tn()= Ofn ( ()),它表示随着
问题规模 n 的增大,算法执行时间的增长率和nf )( 的增长率相同,称做算法的渐进时间复杂度(asymptotic
plexity)分析。
在工程应用中,由于程序设计往往需要调用应用软件和操作系统的内部函数和功能,通常这些内部函
数和功能的源代码没有公开,其实现复杂度和对应指令条数用户无法得知。如果忽略这些内部函数和功能
的内部实现复杂性,将其全部视为常数条指令,是不合道理的。而且对所研究的问题(或算法类型),可
能无法确定其基本操作即原操作(指固有数据类型的操作)。而且程序的效率是与所在计算机的硬件、软
件和实现语言、编译器效率的等环境因素相关的。此时基于原操作语句频度计数统计的事前分析估算仅存
在理论意义,无法实用。
本文使用事后统计的方法,使用计算机内部的计时功能和绝对的时间单位衡量程序的效率,并应用
Amdahl 定律来分析、定位和提高程序的效率,从而达到对特定问题特定程序代码段在特定计算机软硬件
环境下的优化。将该方法应用于 Virtual Lab 画云图效率分析和改进,达到了极大提高画云图的效率的效果,
说明了该分析方法具有很好的应用价值。
1B2. 利用Amdahl定律分析、定位和提高算法和程序的效率
Admahl 定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式
的使用频率或占总执行时间的比例有关。
Amdahl 定律定义了由于采用特殊的方法所能获得的加速比S 的大小。
加速比 S =(采用改进措施后的性能)/(没有采用改进措施前的性能)
=(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间)
Admahl 定律中,系统的加速比与两个因素有关:一个是计算机执行某个任务的总时间中可被改进部
分的时间所占的百分比 Fe ,即(可改进部分占用的时间)/(改进前整个任务的执行时间),它总小于 1。另一
个是改进部分采用改进措施后比没有采用改进措施前性能提高倍数 Se ,