多线程环境下动态编译器的设计与优化

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:hongmei61
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来由于计算机安全技术的发展和计算机网络带宽的提高,传统的计算模型随着动态编译技术的发展逐渐演变为异构平台上计算资源的共享模型。这不仅降低了异构平台上硬件的复杂度,扩展了软件优化的空间,增加了对用户的透明度,同时还改善了平台上各系统内部和存储系统的使用效率。 动态编译器作为近年来编译技术领域的热点研究问题得到了很大的发展,然而作为一种运行时编译技术,编译过程在运行中所占用的时间始终是提高动态编译效率、缩短程序运行时间的瓶颈。我们首先通过对动态编译器的架构进行剖析,指出其与传统静态编译器之间的差异,然后给出动态编译器独有的测试方法和测试环境,并且通过指令级和线程级两个层次的优化,用实验数据证明优化后的动态编译其性能有显著的提高。本文的主要创造性工作由以下三部分组成: 1. 针对动态编译器性能测试不够稳定的缺点,提出了动态编译器在实际应用程序上的性能测试策略,包括性能测试的要求、方法和具体实现,然后在动态编译器性能测试的基础上给出性能测试方案的分析与比较,并通过对同步模式的不断改进,提出了用基于历史记录的同步模式测量动态编译器的性能。 2. 针对动态编译器代码执行效率不高的缺点,根据时间、空间局部性原则和编译优化的基本原理,基于动态编译器的设计架构,提出了动态编译器的指令级优化方法。用上述方法设计了指令优化的数据结构和算法,经过分析得到了最佳实现方案,并通过实验说明该设计方案在性能上与一般的动态编译器相比有显著的提高。 3. 针对动态编译器编译效率不高的缺点,利用多线程并行原理,提出了并行编译线程的思想。通过线程之间的通信实现了基于线程的协作,从而奠定了编译线程的技术基础。在此基础上通过分析逐一解决了编译效率的三个瓶颈,进一步改善了动态编译器的性能,实验证明该设计方案在性能上优于单线程动态编译器。 上述工作使我们对动态编译器的设计和分析有了清晰而深刻的认识,在多线程环境下如果能合理分配编译工作,提高目标代码的质量,动态编译器的性能可以有相当大的改善。
其他文献
随着软件业的发展,过程的重要性日益突出。卡耐基梅隆大学推出的CMMI为软件过程能力的评估及改进提供了一个很好的指导框架,如何将指导框架与实际技术相结合成为了软件机构在
数字减影血管造影(DSA)是一种在医学诊断和介入治疗中起重要作用的技术,应用十分广泛。它借助计算机对血管造影图像进行数字图像处理,以消除背景的干扰,突出医生感兴趣的血管
  我国的电子政务经过了十几年的建设,在信息化各方面取得了一定的成就,但由于过去对信息化的建设一直是在分散体制下的投入,造成了现有的信息系统相对的分散、异构和封闭,没有
由于网络中的信息资源是分布和异构的,存在着语法以及特别是语义冲突,很像一个个信息孤岛,难以大规模共享。如果利用语义Web思想解决网络信息语义一致性问题,那么各个信息源都要
随着现代网络规模的不断扩大,复杂性和异构性的日益突出,传统的集中式管理模式已无法适应网络管理的需要。Mobile Agent技术的出现,为网络管理的发展提供了新的思路。本文将M
消息中间件是中间件的一个重要分支,它采用消息的方式为网络计算提供了异步低耦合的编程架构。Java Message Service(JMS)是由SunMicrosystems公司提出的基于Java技术的消息
压缩感知技术是在稀疏表示的基础上,以较低的采样速度执行采样,最后采用各种重构算法对信号进行重构。目前,对压缩感知技术的研究进行得如火如荼,广泛应用于图像恢复、无线通信、
优化排样是研究如何下料使得原材料利用率最高,在实际生产中应用广泛。服装制造业、皮革制品制造业、体育用品制造业、机械制造业等行业中存在大量的下料问题。国内有成千上
当前,Web技术在Internet上得到了广泛的应用,它支持实时的信息发布、动态的用户交互以及与后台系统灵活的安全的连接。因此如何构造功能更加强大、应用更为灵活、开发更为简便
随着Internet 的发展,基于网络的应用系统越来越多,包括电子商务、电子政务、电子银行、网上证券、网络购物等,网络信息系统在政治、军事、金融、商业、交通等方面发挥着越来