DOJ: dynamically parallelizing object-oriented programs

作者: Yong hun Eom , Stephen Yang , James C. Jenista , Brian Demsky

DOI: 10.1145/2145816.2145828

关键词:

摘要: We present Dynamic Out-of-Order Java (DOJ), a dynamic parallelization approach. In DOJ, developer annotates code blocks as tasks to decouple these from the parent execution thread. The DOJ compiler then analyzes generate heap examiners that ensure parallel preserves behavior of original sequential program. Heap dynamically extract dependences between and determine when it is safe execute block.We have implemented evaluated on twelve benchmarks. achieved an average compilation speedup 31.15 times over OoOJava 12.73 versions

参考文章(34)
Chen Ding, Xipeng Shen, Kirk Kelsey, Chris Tice, Ruke Huang, Chengliang Zhang, Software behavior oriented parallelization Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation - PLDI '07. ,vol. 42, pp. 223- 234 ,(2007) , 10.1145/1250734.1250760
Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, Kunle Olukotun, STAMP: Stanford Transactional Applications for Multi-Processing ieee international symposium on workload characterization. pp. 35- 46 ,(2008) , 10.1109/IISWC.2008.4636089
Christoph von Praun, Luis Ceze, Calin Caşcaval, Implicit parallelism with ordered transactions Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '07. pp. 79- 89 ,(2007) , 10.1145/1229428.1229443
M.C. Rinard, D.J. Scales, M.S. Lam, Jade: a high-level, machine-independent language for parallel programming IEEE Computer. ,vol. 26, pp. 28- 38 ,(1993) , 10.1109/2.214440
R. M. Tomasulo, An efficient algorithm for exploiting multiple arithmetic units Ibm Journal of Research and Development. ,vol. 11, pp. 25- 33 ,(1967) , 10.1147/RD.111.0025
John Danaher, Charles Leiserson, I-Ting Lee, The JCilk Language for Multithreaded Computing ,(2005)
Silvius Rus, Lawrence Rauchwerger, Jay Hoeflinger, Hybrid analysis: static & dynamic memory reference analysis International Journal of Parallel Programming. ,vol. 31, pp. 251- 283 ,(2003) , 10.1023/A:1024597010150
Kechang Dai, Code parallelization for the LGDG large-grain dataflow computation joint international conference on vector and parallel processing parallel processing. pp. 243- 252 ,(1990) , 10.1007/3-540-53065-7_104
James Jenista, Yong hun Eom, Brian Demsky, Using disjoint reachability for parallelization compiler construction. pp. 198- 224 ,(2011) , 10.1007/978-3-642-19861-8_12
Charles E. Leiserson, Keith H. Randall, Cilk: efficient multithreaded computing Cilk: Efficient Multithreaded Computing. ,(1998)