Efficient Processor Assignment Algorithms and Loop Transformations for Executing Nested Parallel Loops on Multiprocessors
Issue No. 01 - January (1992 vol. 3)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.113083
An important issue for the efficient use of multiprocessor systems is the assignment of parallel processors to nested parallel loops. It is desirable for a processor assignment algorithm to be fast and always generate an optimal processor assignment. The paper proposes two efficient algorithms to decide the optimal number of processors assigned to each individual loop. Efficient parallel counterparts of these two algorithms are also presented. These algorithms not only always generate an optimal processor assignment, but also are much faster than the exiting optimal algorithm in the literature. The paper discusses improving the performance of parallel execution by transforming a nested parallel loop into a semantically equivalent one. Three loop transformations are investigated. It is observed that, in most cases, the parallel execution time is improved after applying these transformations.
Index Termsprocessor assignment algorithms; loop transformations; nested parallel loops;multiprocessors; parallel processors; performance; parallel execution; parallel algorithms;parallel programming; program compilers
S.D. Wang, C.M. Wang, "Efficient Processor Assignment Algorithms and Loop Transformations for Executing Nested Parallel Loops on Multiprocessors", IEEE Transactions on Parallel & Distributed Systems, vol. 3, no. , pp. 71-82, January 1992, doi:10.1109/71.113083