期刊文献+

并发Java程序同步操作的有效删除 被引量:2

Effective Synchronization Removal in Concurrent Java Programs
下载PDF
导出
摘要 同步操作是并发Java程序非常大的一部分开销.在现有程序分析方法的基础上,提出了一种精确而有效的冗余同步操作的静态删除方法.该方法分为基本处理和线程间时序分析两个阶段,充分考虑了控制流结构和线程交互时序对同步删除的影响.构造了一个Java编译器JTool,并在其上实现了同步删除算法.对于确定的单线程程序,同步删除率达到100%;对于多线程程序,同步删除率高于现有的分析工具. 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.
出处 《软件学报》 EI CSCD 北大核心 2005年第10期1708-1716,共9页 Journal of Software
基金 国家自然科学基金 国家杰出青年科学基金~~
关键词 并发程序 程序分析 escape分析 同步删除 concurrent program program analysis escape analysis synchronization removal
  • 相关文献

参考文献13

  • 1Aldrich J, Chambers C, Sirer E, Eggers S. Static analyses for eliminating unnecessary synchronization from Java programs. In:Proc. of the 6th Int'l Symp. on Static Analysis. London: Springer-Verlag, 1999. 19-38.
  • 2Fitzgerald R, Knoblock TB, Ruf E, Steensgaard B, Tarditi D. Marmot: An optimizing compiler for java. Software-Practice and Experience, 2000,30(3): 199-232.
  • 3Bacon DF, Konuru R, Murthy C, Serrano M. Thin locks: Featherweight synchronization for Java. In: Proc. of the Conf. on Programming Language Design and Implementation (PLDI'98). New York: ACM Press, 1998. 258-268.
  • 4Ruf E. Effective synchronization removal for Java. In: Proc. of the Conf. on Programming Language Design and Implementation (PLDI2000). New York: ACM Press, 2000. 208-218.
  • 5http:∥www.flex-compiler.csail.mit. edu.
  • 6Blanchet B. Escape analysis for object-oriented languages: Application to Java. In: Proc. of the 14th Annual Conf. on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'99). New York: ACM Press, 1999.20-34.
  • 7Bogda J, Hoelzle U. Removing unnecessary synchronization in Java. In: Proc. of the 14th Annual Conf. on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'99). New York: ACM Press, 1999. 35-46.
  • 8Choi JD, Gupta M, Serrano M, Sreedhar VC, Midkiff S. Escape analysis for Java. In: Proc. of the 14th Annual Conf. on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'99). New York: ACM Press, 1999. 1-19.
  • 9Choi JD, Gupta M, Serrano M J, Sreedhar VC, Midkiff SP. Stack allocation and synchronization optimizations for Java using escape analysis. In: Proc. of the ACM Sigplan Trans. on Programming Languages and Systems (TOPLAS 2003). New York: ACM Press,2003,25(6): 876-910.
  • 10Salcianu A, Rinard M. Pointer and escape analysis for multithreaded programs. In: Proc. of the Symp. Principles and Practice of Parallel Programming (PpoPP 2001). New York: ACM Press, 2001.12-23.

同被引文献14

  • 1James GosLing, Bill Joy, Guy Steele, ct al. JavaTM language specification, third edition[ S]. Addison Wcslcy Professional, June 14, 2005.
  • 2Tim Lindholm, Frank Yellin. The Java^TM virtual machine specification, second edition[ M]. Prentice Hall PTR, April 1999.
  • 3Bacon D, Konuru R, Murphy C, et al. Thin locks: featherweight synchronization in Java[C]. PLDI1998, Montreal, June 199S.
  • 4Kiyokuni Kawachiya, Akira Koseki, Tamiya Onodera. Lock reservation:Java locks can mostly do without atomic operations[ C].OOPSLA2002, Seattle, November, 2002.
  • 5Ruf E. Improving the precision of equality-based dataflow analyses [C]. SAS2002, Madrid, Spain, Sep. 2002, 247-262.
  • 6Jong-Deok Choi, Manish Gupta, et al. Stack allocation and synchronization optimizations for Java using escape analysis[J]. ACM Transactions on Programming Languages and Systems, Nov. 2003, 25(6): 876-910.
  • 7Wang Lei, Sun Xi-kun. Escape analysis for synchronization removal[C]. SAC2006, 1419-1423.
  • 8Ruf E. Effective synchronization removal for Java [ C ]. PLDI 2000. New York, 2000,208-218.
  • 9Pedro Diniz, Martin Rinard. Synchronization transformations for parallel computing[ C]. POPL1997, 1997,187- 200.
  • 10Pedro C Diniz, Martin C Rinard. Lock coarsening: eliminating lock overhead in automatically parallelized object-based programs[C]. JPDC1998, 1998, 49(2) : 218-244.

引证文献2

二级引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部