Envelopes in adaptive local queues for MIMD load balancing
Envelopes, a run-time mechanism which automatically supports adaptive local queues for MIMD load balancing, are proposed and demonstrated. Envelopes promote generality and language simplicity, while sustaining efficiency.
The local queues, one for each PE, contain a get_work task which pulls activities from a global list. In addition, they contain one or more envelopes within which activities are actually performed. These queues are adaptive because each get_work task competes with its own envelopes. The more load the PE has, the less additional work it will get. Envelopes are reused for successive activities, thus increasing the granularity. New envelopes are only created to cope with program data and synchronization dependencies, thereby avoiding deadlocks.
Experiments with envelopes performed and efficiency results are reported.
keywordsenvlopes run-time systems MIMD load balancing granularity shared memory
Unable to display preview. Download preview PDF.
- Y. Ben-Asher, D. G. Feitelson, and L. Rudolph, “ParC — an extension of C for shared memory parallel processing”. Oct 1990. Manuscript, Dept. Computer Science, The Hebrew University of Jerusalem. Submitted for publication.Google Scholar
- E. Mohr, D. A. Kranz, and R. H. Halstead, Jr., “Lazy task creation: a technique for increasing the granularity of parallel programs”. IEEE Trans. Parallel & Distributed Syst. 2(3), pp. 264–280, Jul 1991.Google Scholar
- C. D. Polychronopoulos and D. J. Kuck, “Guided self scheduling: a practical scheduling scheme for parallel supercomputers”. IEEE Trans. Comput. C-36(12), pp. 1425–1439, Dec 1987.Google Scholar
- L. Rudolph, M. Slivkin-Allalouf, and E. Upfal, “A simple load balancing scheme for task allocation in parallel machines”. In 3rd Symp. Parallel Algorithms & Architectures, pp. 237–245, Jul 1991.Google Scholar
- V. Sarkar, Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, 1989.Google Scholar