Run-Time Support for the Automatic Parallelization of Java Programs

作者: Bryan Chan , Tarek S. Abdelrahman

DOI: 10.1023/B:SUPE.0000014804.20789.21

关键词: MultiprocessingCompile timePointer (computer programming)Asynchronous communicationTask parallelismThread (computing)Programming languageSpeedupComputer scienceParallel computingAutomatic parallelizationJava concurrencyJava

摘要: We describe and evaluate a novel approach for the automatic parallelization of programs that use pointer-based dynamic data structures, written in Java. The exploits parallelism among methods by creating an asynchronous thread execution each method invocation program. At compile time, are analyzed to determine they access, parameterized their context. A description these accesses is transmitted run-time system during program execution. utilizes this when may execute, enforce dependences threads. This main focus paper. More specifically, paper details representation framework used detect Experimental evaluation implementation on four-processor Sun multiprocessor indicates close ideal speedup can be obtained number benchmarks. validates our approach.

参考文章(50)
Henry M. Levy, Jack Lee-Jay Lo, Susan J. Eggers, Exploiting thread-level parallelism on simultaneous multithreaded processors University of Washington. ,(1998)
Tarek S. Abdelrahman, Sum Huynh, Exploiting Task-Level Parallelism Using pTask. parallel and distributed processing techniques and applications. pp. 252- 263 ,(1996)
Patrick Chan, Rosanna Lee, Douglas Kramer, The Java Class Libraries: Supplement for the Java 2 Platform Addison-Wesley Longman Publishing Co., Inc.. ,(1999)
Bill Joy, James Gosling, Guy Steele, Gilad Bracha, Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) Addison-Wesley Professional. ,(2005)
David Callahan, Burton Smith, A future-based parallel language for a general-purpose highly-parallel computer languages and compilers for parallel computing. pp. 95- 113 ,(1990)
Frank Yellin, Tim Lindholm, The Java Virtual Machine Specification ,(1996)
Ted G. Lewis, Hesham El-Rewini, Introduction to Parallel Computing ,(1992)
Charles E. Leiserson, Keith H. Randall, Cilk: efficient multithreaded computing Cilk: Efficient Multithreaded Computing. ,(1998)