Download:
|
by Yingchun Zhu, Yingchun Zhu, Laurie J. Hendren, Laurie J. Hendren
In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation
http://www.sable.mcgill.ca/~hendren/ftp/ying/jpdc99.ps.gz
Add To MetaCart
Abstract:
This paper presents algorithms for reducing the communication overhead for parallel C programs that use dynamically-allocated data structures. The framework consists of an analysis phase called possible-placement analysis, and a transformation phase called communication selection. The fundamental idea of possible-placement analysis is to find all possible points for insertion of remote memory operations. Remote reads are propagated upwards, whereas remote writes are propagated downwards. Based on the results of the possible-placement analysis, the communication selection transformation selects the "best " place for inserting the communication, and determines if pipelining or blocking of communication should be performed. The framework has been implemented in the EARTH-McCAT optimizing C compiler, and experimental results are presented for five pointer-intensive benchmarks running on the EARTH-MANNA distributed-memory parallel processor. These experiments show that the communication optimization can provide performance improvements of up to 16 % over the unoptimized benchmarks.
Citations
|
329
|
Context-sensitive interprocedural points-to analysis in the presence of function pointers
– Enami, Ghiya, et al.
- 1994
|
|
165
|
Compiler-based prefetching for recursive data structures
– Luk, Mowry
- 1996
|
|
138
|
Communication Optimization and Code Generation for Distributed Memory
– Amarasinghe, Lam
- 1993
|
|
133
|
Supporting dynamic data structures on distributed-memory machines
– Rogers, Carlisle, et al.
- 1995
|
|
102
|
Optimal code motion: Theory and practice
– Knoop, RĂ¼thing, et al.
- 1994
|
|
82
|
Putting pointer analysis to work
– Ghiya, Hendren
- 1998
|
|
81
|
Software Caching and Computation Migration in Olden
– Carlisle, Rogers
- 1995
|
|
62
|
Give-N-Take: A balanced code placement framework
– Hanxleden, Kennedy
- 1994
|
|
52
|
Olden: Parallelizing programs with dynamic data structures on distributed-memory machines
– CARLISLE
- 1996
|
|
46
|
Polling Watchdog: Combining polling and interrupts for efficient message handling
– Maquelin, Gao, et al.
- 1996
|
|
45
|
Global communication analysis and optimization
– Chakrabarti, Gupta, et al.
- 1996
|
|
45
|
A study of the EARTH-MANNA multithreaded system
– Hum, Maquelin, et al.
- 1996
|
|
40
|
Taming Control Flow: A Structured Approach to Eliminating GOTO Statements
– Erosa, Hendren
- 1994
|
|
30
|
Interprocedural partial redundancy elimination and its application to distributed memory compilation
– Agrawal, Saltz, et al.
- 1995
|
|
28
|
Latency hiding in message-passing architectures
– Bruening, Giloi, et al.
|
|
28
|
Optimizing parallel programs with explicit synchronization
– Krishnamurthy, Yelick
- 1995
|
|
27
|
Compiling C for the EARTH multithreaded architecture
– Hendren, Tang, et al.
- 1997
|
|
26
|
Synchronization transformations for paral-lel computing
– Diniz, Rinard
- 1997
|
|
18
|
An analysis framework for the McCAT compiler
– Sridharan
- 1992
|
|
15
|
Heap analysis and optimizations for threaded programs
– Tang, Ghiya, et al.
- 1997
|
|
8
|
Locality analysis for parallel C programs
– Zhu, Hendren
- 1997
|