Java程序优化与数据竞争检测的研究

来源 :复旦大学 | 被引量 : 9次 | 上传用户:ling1945081
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java程序语言因其高效和安全性在不同的平台都得到了广泛应用,从服务端到移动电话平台,因此提供高效的Java优化编译器与运行系统有着重要的意义。为了发挥多核优势,多核机器的普及增加了对多线程程序的需求。Java作为第一个在语言级提供对多线程支持的编程语言,是一种被广泛使用的并行编程语言。然而多线程编程难度较大,程序员容易引入并发错误,如数据竞争、死锁等。论文关注了Java程序的两个热点问题:运行时性能和并发错误检测。对于Java程序的运行时性能优化方面,论文基于Open64编译器构建了Java静态编译器Opencj,并基于Harmony DRLVM的运行时系统给出了动静态结合的编译优化框架。通过动静态结合的编译优化框架,尝试揉合动态优化与静态优化的各自优势进一步发掘优化空间,提高Java程序的运行时性能。Opencj读入Java的源程序或字节码,生成Linux/X86平台的可执行代码。Opencj完全继承了Open64的高效优化模块,并实现对Java异常机制的支持。Open64编译器采用一种树型结构的中间表示WHIRL。它能表示各种高级控制流结构,但不能显式的提供数据流信息。论文基于SSA(Static Single Assignment)对WHIRL进行扩展,提出一种新的优化结构WHIRL SSA。WHIRL SSA通过将SSA信息,包含版本信息、phi节点和别名访问的mu/chi节点,标注在WHIRL节点上,显式的为数据流分析提供使用-定义信息。WHIRL SSA是第一个同时包含了数据流和控制流信息、基于树结构高级中间表示的优化架构。论文讨论了基于WHIRL SSA的优化机会,并在该优化结构中实现了Java数组边界冗余检测的删除优化。优化的实现对科学计算类程序有着重要的意义。在NPB 3.0基准测试集的性能测试中,Opencj的静态优化性能比Sun JDK 1.6的性能平均快超过20倍。对于Java多线程程序的并发错误检测方面,论文关注数据竞争错误的动态检测。静态检测技术固有的不精确性导致过多假的错误报告,给程序员带来繁重的验证开销;相反动态检测技术能够报告出真正的竞争错误。但动态检测执行被插桩的代码和记录访问历史信息引入了巨大的时间开销,这限制了动态数据竞争检测器的广泛使用。先前的研究工作通过调整检测粒度减少对面向对象程序动态数据竞争检测的开销。但他们只有两层粒度:对象层和域层。论文基于一种数据竞争错误模式会多次发生的现象,通过对象拥有关系提出了三层粒度的动态检测算法,进一步减小了动态检测开销。检测器在JVM的垃圾回收模块中构建对象拥有关系树,依据happens-before策略,开始只监控全局对象的拥有者对象,当有潜在数据竞争发生时,自动调小检测粒度。论文在同一个JVM中实现了4种粒度的检测算法,给出了相对公平的性能比较。Java程序的测试结果表明三层粒度的检测算法在没有减少检测精度的情况下,比域层粒度减少了平均3倍的检测开销。论文最后讨论了动静态结合的编译优化框架并对论文进行了总结与展望。论文的主要贡献包括:●给出了一个动静结合的编译优化框架,运用动静态编译优化技术的合力进一步发掘程序的优化空间●实现了一个Java静态优化编译器Opencj●提出了一个新的基于高级中间表示的优化结构WHIRL SSA●基于WHIRL SSA实现了数组边界冗余检查删除的优化●提出了三层粒度的动态数据竞争检测的算法
其他文献
根据《3-6岁儿童学习与发展指南》中关于儿童的教学理念与思想对教师进行了一系列的培训和学习。幼儿园是儿童步入学习的第一个教学场所,为了让儿童能够很好地适应新的环境,
<正>词汇教学是小学英语教学的重点,也是难点。当前,有很大一部分教师认为词汇教学就是教会学生认读单词,他们在教学中采用各种方法和手段,反复教反复练,然而学生获得的只是
目的对后牙牙冠斜折至龈下3~5 mm的患牙进行改良冠延长术后修复的效果进行评价,以探索有效的保存较深牙冠斜折后牙的方法。方法选择因咬合劈裂斜折达龈下3~5 mm、松动度(MD)
SBS是目前世界上应用最为普遍的道路沥青改性剂,由苯乙烯、丁二烯嵌段聚合组成,在低于聚苯乙烯组成的玻璃化转变温度时是强韧的高弹性材料,而在较高温度下,又成为接近线形聚
目的观察外伤致龈下根折前牙正畸牵引加桩冠修复的治疗效果。方法选择30例断端位于龈下3 mm以上的外伤前牙进行正畸牵引至龈上1 mm后行桩冠修复,分别于修复后3个月、6个月及1
本文报道了福建省范围内前人分析数据稀疏或空白区域内的18个古生代-中生代花岗岩体的Nd、Sr同位素组成:εNd(t)=-3.6~-16.4,(87Sr/86Sr)i=0.7055~0.7318,tDM=1.2~2.3Ga。结合前人分析数据,区分出三个地域区带:福安-南靖断裂以东的沿海带:εNd(t)=-1.5~-6.8,(87Sr/86Sr)i=0.7056~0.7099,tDM=1.1~1.45Ga,弧后伸展
以鼓山-魁岐、青田和普陀山-桃花岛三个典型岩体为例,系统研究了浙闽沿海I型-A型复合花岗岩体的地质和地球化学特征。研究结果表明:复合岩体中I型与A型花岗岩在主量、微量和稀土元素特
目的:探讨以问题为中心(PBL,Problem-Based Learn)教学法用于医患沟通理论课教学的可行性和必要性。方法:分别使用传统讲授式和PBL教学法进行医患沟通理论课教学,利用授课教
聚丙烯(PP)是碳氢类材料,极易燃烧,这限制了其广泛应用。目前,阻燃的主要方法是在PP中添加阻燃剂。鉴于对环境保护的要求,无卤阻燃PP已成为当前的研究热点。但无卤阻燃剂的添加
进入二十一世纪以来,人们对企业的期望,已经不仅限于经济以及法律的要求,人们更希望企业能有效地承担起一系列社会问题上的责任和义务。很多西方国家,企业社会责任管理已经上