Issue No. 04 - April (1990 vol. 16)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.54294
<p>Region scheduling, a technique applicable to both fine-grain and coarse-grain parallelism, uses a program representation that divides a program into regions consisting of source and intermediate level statements and permits the expression of both data and control dependencies. Guided by estimates of the parallelism present in regions, the region scheduler redistributes code, thus providing opportunities for parallelism in those regions containing insufficient parallelism compared to the capabilities of the executing architecture. The program representation and the transformations are applicable to both structured and unstructured programs, making region scheduling useful for a wide range of applications. The results of experiments conducted using the technique in the generation of code for a reconfigurable long instruction word architecture are presented. The advantages of region scheduling over trace scheduling are discussed.</p>
region scheduling; code generation; redistributing parallelism; fine-grain; coarse-grain parallelism; program representation; reconfigurable long instruction word architecture; trace scheduling; parallel programming; program compilers; scheduling.
R. Gupta and M. Soffa, "Region Scheduling: An Approach for Detecting and Redistributing Parallelism," in IEEE Transactions on Software Engineering, vol. 16, no. , pp. 421-431, 1990.