Synchronization and Communication Costs of Loop Partitioning on Shared-Memory Multiprocessor Systems
Issue No. 04 - July (1992 vol. 3)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.149968
The author presents strategies for static loop decomposition and scheduling as well as computer-assisted run-time scheduling that take into account, in addition to the cost of performing operations, the overhead costs associated with a decomposition and schedule. An algorithm for static decomposition of multidimensional loops based on the operation execution costs, communication costs, and synchronization costs is discussed. Synchronization instructions are introduced to ensure correct program execution following program decomposition. An algorithm for determining the explicit synchronization instruction that should be introduced to ensure correct execution of a program with arbitrarily nested loops is presented. Techniques for reducing run-time scheduling and communication and synchronization costs due to self-scheduling of multidimensional loops are also presented. Experiments performed on the Encore multiprocessor system demonstrate that the techniques developed can reduce overhead costs.
Index Termsstatic loop scheduling; loop partitioning; shared-memory multiprocessor systems; staticloop decomposition; computer-assisted run-time scheduling; multidimensional loops;operation execution costs; communication costs; synchronization costs; programexecution; program decomposition; synchronization instruction; nested loops;self-scheduling; Encore multiprocessor system; parallel algorithms; parallel programming; program compilers; programming theory; scheduling
R. Gupta, "Synchronization and Communication Costs of Loop Partitioning on Shared-Memory Multiprocessor Systems," in IEEE Transactions on Parallel & Distributed Systems, vol. 3, no. , pp. 505-512, 1992.