| 本文已被:浏览 4772次 下载 7157次 |
 码上扫一扫! |
|
|
| 并发Java程序同步操作的有效删除 |
|
吴萍1, 陈意云1, 张健2
|
|
1.中国科学技术大学,计算机科学技术系,安徽,合肥,230027;2.中国科学院,软件研究所,计算机科学重点实验室,北京,100080
|
|
| 摘要: |
| 同步操作是并发Java程序非常大的一部分开销.在现有程序分析方法的基础上,提出了一种精确而有效的冗余同步操作的静态删除方法.该方法分为基本处理和线程间时序分析两个阶段,充分考虑了控制流结构和线程交互时序对同步删除的影响.构造了一个Java编译器JTool,并在其上实现了同步删除算法.对于确定的单线程程序,同步删除率达到100%;对于多线程程序,同步删除率高于现有的分析工具. |
| 关键词: 并发程序 程序分析 escape分析 同步删除 |
| DOI: |
| 分类号: |
| 基金项目:Supported by the National Natural Science Foundation of China under Grant Nos.60173049,60421001(国家自然科学基金);the National Science Fund for Distinguished Young Scholars of China under Grant No.60125207(国家杰出青年科学基金) |
|
| Effective Synchronization Removal in Concurrent Java Programs |
|
WU Ping,CHEN Yi-Yun,ZHANG Jian
|
| Abstract: |
| Synchronization operations make a huge expense for concurrent Java programs. This paper proposes an effective and precise static analysis algorithm for the redundant synchronization removal. The algorithm consists of two phases-basic analysis and inter-thread temporal analysis. Both phases take the effect of control flow relation and thread control relation into count. This paper also constructs a Java compiler-JTool and implements the algorithm on it. To deterministic single-threaded programs, the removal ratio reaches 100% and to multi-threaded programs, the removal ratio is higher than the existing analysis tools. |
| Key words: concurrent program program analysis escape analysis synchronization removal |