Advertisement

Envelopes in adaptive local queues for MIMD load balancing

  • Konstantin Shteiman
  • Dror Feitelson
  • Larry Rudolph
  • Iaakov Exman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 634)

Abstract

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.

keywords

envlopes run-time systems MIMD load balancing granularity shared memory 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    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
  2. [2]
    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
  3. [3]
    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
  4. [4]
    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
  5. [5]
    V. Sarkar, Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Konstantin Shteiman
    • 1
  • Dror Feitelson
    • 1
  • Larry Rudolph
    • 1
  • Iaakov Exman
    • 1
  1. 1.Department of Computer ScienceThe Hebrew UniversityJerusalemIsrael

Personalised recommendations