Skip to main navigation Skip to search Skip to main content

Run-Time Parallelization and Scheduling of Loops

  • Yale University

Research output: Contribution to journalArticlepeer-review

168 Scopus citations

Abstract

In this paper, we 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 we present in this paper 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. We utilize symbolic transformation rules to produce: 1) inspector procedures that perform execution time preprocessing and 2) executors or transformed versions of source code loop structures. These transformed loop structures carry out the calculations planned in the inspector procedures. We 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. Furthermore, the overheads associated with this type of reordering are amortized when the loop is executed several times with the same dependency structure.

Original languageEnglish
Pages (from-to)603-612
Number of pages10
JournalIEEE Transactions on Computers
Volume40
Issue number5
DOIs
StatePublished - May 1991

Fingerprint

Dive into the research topics of 'Run-Time Parallelization and Scheduling of Loops'. Together they form a unique fingerprint.

Cite this