源码重构优化WCET

来源 :智能计算机与应用 | 被引量 : 0次 | 上传用户:musicwen5918
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 关键词: 中图分类号: 文献标志码: A文章编号: 2095-2163(2017)06-0173-05
  Abstract: To make it clear whether refactoring can optimize WCET, the basic theory of WCET estimation is firstly analyzed, and then the basic principle of WCET optimization is proposed. According to the principle, seven refactoring methods are selected from traditional source code refactoring to optimize WCET. The experimental results show that source code refactoring can reduce WCET, but the result is affected by the configuration of target processor, the control structure of testing program and the optimization level of the compiler. Compared with the traditional compilerbased performance optimization, source code refactoring is more suitable to be used at an early phase of program development. Reasonable usage of refactoring will be helpful to repair timeliness defect in time and then guarantee the timeliness safety of software.
  0引言
  最差情况执行时间(worstcase execution time, WCET)是指程序P在目标处理器X上的执行时间T,对于任何输入,P在X上的执行时间都不会超过T。在实时系统中,尤其是新兴的、安全关键的信息物理系统,例如,汽车的主动刹车系统、无人机的自动巡航系统、智能电网的继电保护系统等,程序的执行时间通常是至关重要的,即使是在最差情况下也不能超出截止期,否则可能造成灾难性后果。因此,WCET已经成为评估软件时效安全性的一个非常重要的指标和参数。
  为了获得理想的WCET,程序员会在性能优化阶段(通常是在系统开发后期)利用编译器对目标代码进行优化 \[1\]。然而,随着信息物理系统的兴起,程序的规模越来越大,结构也越来越复杂,上述做法面临以下问题:首先,优化时机太迟,如果WCET无法满足要求,此时修复时效缺陷的成本会远高于编码阶段;其次,优化对象是目标代码,只能在程序具备编译、链接条件后才能优化,且优化后的目标代码不具备可移植性;最后,优化依赖于编译器,且以平均性能的优化为主,优化WCET的效果并不稳定;此外,编译器优化还会给代码调试造成不便,因而在早期编码阶段常常被禁用。
  事实上,为了保证软件的时效安全,安全关键实时系统的开发应当采用时间预算法\[2\]。即,在设计阶段为每一个组件预先分配一定资源,包括执行轨迹和执行时间。编码时,程序员要时刻关注每个组件的WCET,一旦发现超时,则认为程序存在时效缺陷,应立即予以修复\[3-4\]。相较于传统方法,源码重构的优点在于:
  1)重构是在早期编码阶段设计发生,因而有助于及时修复时效缺陷。
  2)重构对象是源码,更换目标处理器后无需修改即可复用,有利于降低新系统的开发成本。
  3)重構专门针对WCET,且不受编译器优化规则的限制,因而优化更灵活,效果更稳定。
  1源码重构
  重构(refactoring)是指在不改变软件可观察行为的前提下,使用一系列重构手法调整代码结构。重构的目的原本是改善代码设计,提高软件的可理解性,降低其修改成本\[2\]。而在本文中,重构的目的是在不改变软件可观察行为的前提下,通过对源码结构的调整降低WCET。
  1.1优化原则分析
  程序的WCET受到代码结构、处理器配置等软硬件方面的多重影响,当程序规模较大、处理器结构较为复杂时,获得实际WCET的可能性很小。人们只能采用变通的方法去估计WCET,例如,隐藏路径枚举技术(implicit path enumeration technology, IPET)。
  基于IPET的WCET分析大致可以分为3步:底层分析、高层分析和WCET计算。其中,底层分析主要是为目标处理器建模,包括Cache、流水线、分支预测和指令执行时间等。高层分析主要是构建控制流图、分析可行路径和循环边界等。WCET计算则是使用整数线性规划寻求公式(1)的最优解,所得结果就是整个程序的WCET。公式(1)的数学表述如下:WCET=max(∑ni=1Wceti×Counti) (1)式中,n代表程序的目标代码被划分成基本块的数量;Wceti代表基本块Bi的WCET;Counti是Bi的执行次数,需要利用整数线性规划在定理1的约束下求解。显然,若Counti=0,则基本块Bi对于程序的WCET没有贡献;相反,所有满足Counti>0的基本块则构成了程序的最差情况执行路径(worst-case execution path, WCEP)。
其他文献
针对现在的计算机等级考试网络资源平台存在的问题,引入新的教育理念,重新设计教学过程,为学生提供一个教学资源丰富、动态性较好、能够开展多向交互以及多种学习方式相结合
大型化工厂中丙烷和丁烷通常采用非氧化法进行脱氢制烯烃,而乙烷很难进行工业化非氧化法脱氢,因为在热力学上乙烷脱氢反应需要非常高温条件方可实现,但采用氧化法脱氢就可以实现
介绍了以VC++6.0为开发工具.利用TRS系统的接口.从TRS数据库系统中获取论文信息的编程方法。
前几日,笔者偶翻《史记》,看见一段文章,不禁哑然失笑。但笑过之后,又感慨良多。这只是一段小故事,但以它为切割点剖析,就不只是某个帝王的一段奇闻轶事,更折射出整个中国历史之中帝王的驭人管理之术。    功人还是功狗?    高祖刘邦平定天下之后,要论功行赏,群臣争功,岁余未决。为何?高祖刘邦与武将之间意见相左。高祖以文臣萧何功劳最盛,武将认为自己披坚执锐,攻城略地,置生死于不顾,始有刘氏江山,而萧何
石油磺酸盐是通过液相连续磺化生产的一种驱油剂,磺化反应属强放热反应,根据中试测得的数据,分析反应系统的换热效果,提出设计中的改进措施.
介绍使用稳定剂在催化剂作用下由聚醚多元醇制备高固含量聚合物多元醇的合成方法,不同的聚醚对合成有着不同的影响,在合成中对催化剂、稳定剂、反应温度等各种影响因素进行了考
以太网供电PoE技术提供了一种直接给终端设备供电的途径。利用网络设备的网管功能,对以太网供电PoE的智能化管理成为信息通信运维人员的必要任务。本文以公司实际生产环境,介
南非萨索尔公司正在考虑出售旗下销售收入达26亿美元/年的烯烃和表面活性剂业务(不包括在南非的共聚用单体业务)。萨索尔的烯烃和表面活性剂业务包括表面活性剂、表面活性剂中间
效能是素质的体现,是形象的反射,是迅速达到目的的手段。在战场上,效能就是胜利;在抗震救灾中,效能就是生命就是减灾;在农业生产上,效能就是高产就是丰收;在国家建设中,效能就是国富就
介绍了以乙二醇单硬脂酸酯、液体石蜡为主要成分,并配以多种乳化剂和助剂在水相中复合乳化剂制备消泡剂的方法,考察了乙二醇单硬酸酯含量、液体石蜡用量、乳化剂用量,乳化剂复合