Compiler Optimizations for Enhancing Parallelism and Their Impact on Architecture Design

  • Authors:
  • C. D. Polychronopoulos

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

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.