MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Automatically Exploiting Implicit Parallelism (1997) [35 citations — 10 self]

Download:
Download as a PDF | Download as a PS
by Aart J. C. Bik, Dennis B. Gannon
in Java. Concurrency, Practice and Experience
http://www.npac.syr.edu/projects/javaforcse/cpande/indiana/journal.ps
Add To MetaCart

Abstract:

In this paper we show how implicit parallelism in Java programs can be made explicit by a restructuring compiler using the multi-threading mechanism of the language. In particular, we focus on automatically exploiting implicit parallelism in loops and multi-way recursive methods. 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 supports the true parallel execution of threads. Moreover, we will see that the transformations presented in this paper only induce a slight overhead on uni-processors. 1

Citations

730 The Java Programming Language – Arnold, Gosling - 1998
571 High Performance Compilers for Parallel Computing – Wolfe - 1996
444 Optimizing Supercompilers for Supercomputers – Wolfe - 1989
406 Supercompilers for Parallel and Vector Computers – Zima, Chapman - 1991
392 Monitors: an operating systems structuring concept – Hoare - 1974
347 Dependence Analysis for Supercomputing – Banerjee - 1988
299 Advanced compiler optimizations for supercomputers – Padua, Wolfe - 1986
152 Parallel Computing – Theory and Practice – Quinn
121 Java in a Nutshell. O'Reilly & Associates – Flanagan - 1996
117 Parallel Programming and Compilers – Polychronopoulos - 1988
113 Concurrent Programming in Java – Lea - 1999
102 Loop Transformations for Restructuring Compilers: The Foundation – Banerjee - 1993
101 The Structure of Computers and Computations – Kuck - 1978
90 Designing Efficient Algorithms for Parallel Computers – Quinn - 1987
81 Compiler algorithms for synchronization – Midkiff, Padua - 1987
52 A Global Approach to Detection of Parallelism – Callahan - 1987
32 Quicksort,” The – Hoare - 1962
23 Crafting a Compiler. Benj� amin�Cummings� Menlo Park – Fischer, LeBlanc - 1988
20 Compiler generated synchronization for do loops – Midkiff, Padua - 1986
19 The Java Handbook – Naughton - 1996
18 On reducing data synchronization in multiprocessed loops – Li, Abu-Sufah - 1987
16 High speed multiprocessors and compilation techniques – Padua, Kuck, et al. - 1980
15 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
12 Exploring Java. O’Reilly & Associates – Niemeyer, Peck - 1996
12 Designing e cient algorithms for parallel computers – Quinn - 1987
8 Foundations of Parallel Programming – Lewis - 1994
7 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
3 et al. Tricks of the Java Programming Gurus – Vanderburg - 1996
2 Java Unleashed. Samsnet – Morrison - 1996
2 A strategy for exploiting implicit loop parallelism in java programs – Bik, Gannon - 1996