首页 | 本学科首页   官方微博 | 高级检索  
     

Java程序的对象单赋值分析
引用本文:李健,杨哲慜,杨珉. Java程序的对象单赋值分析[J]. 小型微型计算机系统, 2012, 33(7): 1498-1502
作者姓名:李健  杨哲慜  杨珉
作者单位:复旦大学并行处理研究所,上海,201203
基金项目:国家"核高基"重大专项项目
摘    要:数据竞争检测、确定性回放等方法被广泛应用于解决多线程程序中由内存访问顺序不确定性引发的数据竞争及死锁等问题.但是,由于上述方法需要监测程序内存访问,所以通常带来很大的运行开销.实验表明,在多线程程序中存在着大量只被赋值一次的对象,去除这类对象内存访问的监测操作不会影响上述方法的正确性,且能有效减少系统的运行开销.在此基础上,本文形式化定义了单赋值对象,并提出了一个静态对象单赋值分析算法,将这一算法的分析结果应用到多种成熟的数据竞争检测、确定性回放系统中.测试数据表明使用对象单赋值分析可以有效减少数据竞争检测、确定性回放等系统的运行开销,从而扩展系统应用场景.

关 键 词:对象单赋值  数据竞争检测  确定性回放  线程局部对象  编译

Java Object Assign Once Analysis
LI Jian , YANG Zhe-min , YANG Min. Java Object Assign Once Analysis[J]. Mini-micro Systems, 2012, 33(7): 1498-1502
Authors:LI Jian    YANG Zhe-min    YANG Min
Affiliation:(Parallel Processing Institute,Fudan University,Shanghai 201203,China)
Abstract:The nondeterministic memory access sequence in multi-threads program usually leads to runtime problem like data race and dead lock.To conquer these problems,researchers develop data race detection and deterministic replay tools to diagnose and fix nondeterministic bugs in parallel program.However,these tools share an issue of very high runtime overhead because of monitoring the memory access of the programs.Experiments show that there are a large number of objects which are initialized by one thread and then read-only accessed by other threads.Eliminating monitors on this kind of objects will greatly reduce the overhead of above systems in the same time not affecting the correctness.This paper presents the formal definition of the assign once object and provide a Java based object assign once analysis algorithm to find the assign once objects statically.The output of the analysis is then used in some state-of-the-art data race detection and deterministic replay systems.Experiments show assign once analysis can efficiently reduce runtime overhead of above systems,therefore expends the scope of their application.
Keywords:assign once object  data race detection  deterministic replay  thread local object  compile
本文献已被 CNKI 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号