Title :
Compiler optimizations for enhancing parallelism and their impact on architecture design
Author :
Polychronopoulos, Constantine D.
Author_Institution :
Center for Superconducting Res. & Dev., Illinois Univ., Urbana, IL, USA
fDate :
8/1/1988 12:00:00 AM
Abstract :
By examining the structure and characteristics of parallel programs the author isolates potential overhead sources. The first compiler optimization considered is cycle shrinking which can be used to parallelize certain types of serial loops. A run-time dependence analysis is then considered along with how it can be performed through compiler-inserted bookkeeping and control statements. Loops with unstructured parallelism, that cannot benefit from existing optimizations, can be parallelized through run-time dependence checking. Finally, barrier synchronization is discussed as one of the most serious sources of run-time overhead in parallel programs. To reduce the impact of barriers, the author briefly discusses the implementation of distributed barriers through the use of a set of shared registers
Keywords :
optimisation; parallel programming; program compilers; barrier synchronization; compiler-inserted bookkeeping; cycle shrinking; distributed barriers; parallel programs; run-time dependence analysis; run-time overhead; shared registers; Application software; Concurrent computing; Design optimization; Hardware; Optimizing compilers; Parallel machines; Parallel processing; Performance analysis; Registers; Runtime;
Journal_Title :
Computers, IEEE Transactions on