Run-Time Parallelization and Scheduling of Loops

  • Authors:
  • Joel H. Salz;Ravi Mirchandaney;Kay Crowley

  • Affiliations:
  • ICASE NASA Langely Research Center, Hampton, VA;Yale Univ., New Haven, CT;Yale Univ., New Haven, CT

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1991

Quantified Score

Hi-index 14.98

Visualization

Abstract

The authors study run-time methods to automatically parallelize and schedule iterations of a do loop in certain cases where compile-time information is inadequate. The methods presented involve execution time preprocessing of the loop. At compile-time, these methods set up the framework for performing a loop dependency analysis. At run-time, wavefronts of concurrently executable loop iterations are identified. Using this wavefront information, loop iterations are reordered for increased parallelism. The authors utilize symbolic transformation rules to produce: inspector procedures that perform execution time preprocessing, and executors or transformed versions of source code loop structures. These transformed loop structures carry out the calculations planned in the inspector procedures. The authors present performance results from experiments conducted on the Encore Multimax. These results illustrate that run-time reordering of loop indexes can have a significant impact on performance.