Abstract
In this paper we present Dynamic Bisectioning or DBS, a simple but powerful comprehensive scheduling policy for user-level threads, which unifies the exploitation of (multidimensional) loop and nested functional (or task) parallelism. Unlike other schemes that have been proposed and used thus far, DBS is not constrained to scheduling DAGs or singly nested parallel loops. Rather, our policy encompasses the most general type of parallel program model that allows arbitrary mix of nested loops and nested DAGs (directed acyclic task-graphs) or any combination of the above. DBS employs a simple but powerful two-level dynamic policy which is adaptive and sensitive to the type and amount of parallelism at hand. On one extreme DBS approximates static scheduling, hence facilitating locality of data, while at the other extreme it resorts to dynamic thread migration in order to balance uneven loads. Even the latter is done in a controlled way so as to minimize network latency.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
M. Girkar, M Haghighat, P. Grey, H. Saito, N. Stavrakos, C. Polychronopoulos, “Illinois-IntelMultithreading Library: Multithreading Support for Intel Architecture Based Multiprocessor Systems”, Intel Technology Journal, 1st Quarter’98
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou, “Cilk: An Efficient Multithreaded Runtime System,”, In 5th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP’ 95), July 19-21, 1995, Santa Barbara, California.
E.P. Markatos and T.J. LeBlanc. “Using processor affinity in loop scheduling an shred-memory multiprocessors.”, In Supercomputing’ 92, pages 104–113, November 1992.
X. Martorell, J. Labarta, N. Navarro and E. Ayguade, “A Library Implementation of the Nano-Threads Programming Model”, In 2nd International Euro-Par Conference, pp. 644–649, Lyon, France, August 1996.
J.E. Moreira, “On the Implementation and Effectiveness of Autoscheduling for Shared-Memory Multiprocessors”, PhD. Thesis, Department of Electrical and Computer Engineering, Univ. of Illinois at Urbana-Champaign, 1995.
ESPRIT Nanos Project. “Nano-Threads: Programming Model Specification”, Project Deliverable M1D1, http://www.ac.upc.es/NANOS/NANOS-delm1d1.ps, July 1997
ESPRIT Nanos Project. “n-RTL Implementation”, Project Deliverable M2D2, http://www.ac.upc.es/NANOS/NANOS-delm2d2.ps, April 1998
D.S. Nikolopoulos, E.D. Polychronopoulos and T.S. Papatheodorou,, “Efficient Runtime Thread Management for the Nano-Threads Programming Model”,Proc. of the Second IEEE IPPS/SPDPWorkshop on Runtime Systems for Parallel Programming, LNCS Vol. 1388, pp.183–194, Orlando, FL, April 1998.
Polychronopoulos C.D. and D.J. Kuck. “Guided Self-Scheduling: A practical scheduling scheme for Parallel Supercomputers”, IEEE Transactions on Computers. December 1987, pp. 1425–1439.
N. Bitar, “personal communication”, 1995 through 1998.
E. Polychronopoulos, X. Martorell, D. Nikolopoulos, J. Labarta, T. Papatheodorou and N. Navarro, “Kernel-Level Scheduling for the Nano-Threads Programming Model”, 12th ACM International Conference on Supercomputing, Melbourne, Australia 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Polychronopoulos, E., Papatheodorou, T. (1999). Scheduling User-Level Threads on Distributed Shared-Memory Multiprocessors⋆. In: Amestoy, P., et al. Euro-Par’99 Parallel Processing. Euro-Par 1999. Lecture Notes in Computer Science, vol 1685. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48311-X_46
Download citation
DOI: https://doi.org/10.1007/3-540-48311-X_46
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66443-7
Online ISBN: 978-3-540-48311-3
eBook Packages: Springer Book Archive