学位论文 > 优秀研究生学位论文题录展示

动态二进制翻译中的热路径优化

作 者: 胡坤
导 师: 管海兵
学 校: 上海交通大学
专 业: 计算机应用
关键词: 动态二进制翻译 动态优化 热路径 超级块
分类号: TP391.2
类 型: 硕士论文
年 份: 2009年
下 载: 60次
引 用: 8次
阅 读: 论文下载
 

内容摘要


二进制翻译(Binary Translation)是指在不需要可执行程序源代码的情况下,把源机器平台上的二进制程序经过一定的转换之后运行在目标机器平台上的过程。所谓动态二进制翻译就是边翻译边执行,并在翻译的过程中进行动态优化。动态二进制翻译为解决代码遗留,代码移植以及构建分布式虚拟计算环境等问题提供了一个良好的解决方法,因此在近年来得到了越来越广泛的关注和研究。本文主要研究在动态二进制翻译中如何有效地收集运行时的profiling信息,以及如何用这些信息来进行有针对性的优化,研究内容主要包括:程序运行时的profiling、热路径的识别和超级块的生成、以及针对超级块的优化。Profiling是指对程序运行时信息的统计和收集。传统的动态二进制翻译器采用的profiling方法分为三种:基于基本块、基于跳转边、基于路径。本文结合平台自身的特性,实现了一种开销小的profiling的方法来收集基本块和跳转边的信息。热路径的识别是指根据热路径识别算法预测出一条热路径,通常动态二进制翻译器都是通过跳转边的信息或者程序的运行轨迹来预测热路径,本文在CrossBit平台上实现了一种“先热先选择”的热路径识别算法,这种算法特点是原理简单、效率高。生成超级块是指将热路径上的基本块合并成具有单一入口和多个出口的超级块,这样做一方面可以减少因基本块结束而引发的上下文切换,另一方面,超级块中包含更多的指令,给中间代码的优化提供了广阔的空间。程序在运行过程中从超级块内部跳出的概率越小意味着超级块的性能越好。本文实现超级块内条件指令条件码的翻转,大大降低了程序从超级块内部跳出的概率,提升了超级块的性能。前端解释器在对源代码做解码的过程中,引入了新的指令来实现源寄存器与虚拟寄存器之间的映射,这些新的指令构成了基本块间的冗余。本文实现了超级块内冗余GET指令的识别和删除,使得系统的性能提升了1%~10%。本文在CrossBit平台上实现了热路径优化,并通过SPEC CPU2000基准测试程序进行验证。实验数据表明,CrossBit的整体性能有10%到30%不同程度的提高,从而证明本文提出的优化算法能有效的改善动态二进制翻译器的性能。

全文目录


相似论文

  1. 知识进化算法在化工动态优化中的应用研究,TQ021.8
  2. 基于最优性条件校正的动态优化方法的研究,TB114
  3. 电力系统动态无功功率优化调度的研究,TM714.3
  4. 基于多目标免疫进化算法的动态车辆路径优化研究,TP18
  5. 一体化安全网关防火墙报文过滤技术研究与实现,TP393.08
  6. 软硬协同动态二进制翻译系统设计与实现,TP391.2
  7. 发酵过程优化控制方法研究,TQ922.1
  8. 塔式起重机结构系统动态特性研究,TH213.3
  9. 铁路客票预售期制定及动态优化计算系统研究,F532
  10. 中国外汇储备最优规模研究,F832.6
  11. 求解函数优化的分群粒子群算法研究,TP301.6
  12. 架桥机结构动态特性分析与动态优化设计研究,U445.36
  13. 大容量NAND闪存存储管理研究,TP333
  14. 电镀行业清洁生产动态仿真模拟与政策研究,F426.7
  15. 动态空域飞行流量自适应调配技术,V355
  16. 基于动态二进制探测工具的程序执行行为分析与研究1,TP311.11
  17. 虚拟机的软硬件协同设计方法研究,TP391.9
  18. 改进QEMU的多模式指令解码研究,TP391.2
  19. 动态优化技术及其在天目中的应用研究,TP391.2
  20. 动态TSP遗传算法研究,TP18
  21. 聚合反应过程分子量分布大规模动态优化研究,O631.3

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 信息处理(信息加工) > 翻译机
© 2012 www.xueweilunwen.com