Download:
|
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
|