MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Automatically Exploiting Implicit Parallelism in Multi-way Recursive Methods in Java (0) [33 citations — 9 self]

by Aart J. C. Bik ,  Dennis B. Gannon
in Java. Concurrency, Practice and Experience
Add To MetaCart

Abstract:

In this paper we show how implicit parallelism in multi-way recursive methods, typically used to implement tree traversal or divide-and-conquer algorithms, can be made explicit by a restructuring compiler using the multi-threading mechanism of Java. Expressing parallelism in Java itself clearly has the advantage that the transformed program remains portable. After compilation of the transformed Java program into byte-code, speedup can be obtained on any platform on which the Java byte-code interpreter support the true parallel execution of threads, whereas only a slight overhead is induced on uni-processors. 1 Introduction To obtain true portability, a Java program is compiled into the architectural neutral instructions (byte-code) of an abstract machine (the Java Virtual Machine), rather than into native machine code. In this manner, a compiled Java program can run on any platform on which a Java byte-code interpreter is available. Although the interpretation of byte-code is substant...

Citations

706 The Java Programming Language – Arnold, Gosling - 1996
553 High performance compilers for parallel computing – Wolfe
420 Optimizing supercompilers for supercomputers – Wolfe - 1982
402 Monitors: An operating system structuring concept – HOARE - 1974
398 Supercompilers for Parallel and Vector Computers – Zima, Chapman - 1990
329 Dependence Analysis for Supercomputing – Banerjee - 1988
289 Advanced Compiler Optimizations for Supercomputers – Padua, Wolfe - 1986
143 Parallel Computing: Theory and Practice – Quinn - 1993
121 Java in a Nutshell, O'Reilly & Associates – Flanagan - 1996
115 Concurrent Programming in Java – Lea - 1999
113 Parallel Programming and Compilers – Polychronopoulos - 1988
102 The Structure of Computers and Computations – Kuck - 1978
98 Loop Transformations for Restructuring Compilers: The Foundation – Banerjee - 1993
90 Designing Efficient Algorithms For Parallel Computers – Quinn - 1987
76 Compiler algorithms for synchronization – Midkiff, Padua - 1987
45 A Global Approach to Detection of Parallelism – Callahan - 1987
31 Quicksort – Hoare - 1962
20 Crafting a Compiler. Benjamin-Cummings, Menlo Park – Fischer, LeBlanc - 1988
20 Compiler generated synchronization for DO loops – Midkiff, Padua - 1986
20 The Java Handbook – Naughton - 1996
19 On reducing data synchronization in multiprocessed loops – Li, Abu-Sufah - 1987
16 High speed multiprocessors and compilation techniques – Padua, Kuck, et al. - 1980
16 Introduction to Compiler Construction – Parsons - 1992
14 Limited processor scheduling of doacross loops – Cytron - 1987
14 Execution of parallel loops on parallel processor systems – Polychronopoulos, Kuck, et al. - 1986
13 Exploring Java. O'Reilly & Associates – Niemeyer, Peck - 1996
8 Foundations of Parallel Programming – Lewis - 1994
8 The Dependence Analysis and Synchronization of Parallel Programs – Midkiff - 1993
6 Introduction to Parallel Programming – Kumar, Grama, et al. - 1994
5 beyond vectorization for multiprocessors – Doacross - 1986
4 et al. Tricks of the Java Programming Gurus – Vanderburg - 1996
2 Java Unleashed. Samsnet – Morrison - 1996