ACM Home Page
Please provide us with feedback. Feedback
Scheduler activations: effective kernel support for the user-level management of parallelism
Full text PdfPdf (1.68 MB)
Source ACM SIGOPS Operating Systems Review archive
Volume 25 ,  Issue 5  (October 1991) table of contents
Pages: 95 - 109  
Year of Publication: 1991
ISSN:0163-5980
Also published in ...
Authors
Thomas E. Anderson  Department of Computer Science and Engineering, University of Washington, Seattle, WA
Brian N. Bershad  Department of Computer Science and Engineering, University of Washington, Seattle, WA
Edward D. Lazowska  Department of Computer Science and Engineering, University of Washington, Seattle, WA
Henry M. Levy  Department of Computer Science and Engineering, University of Washington, Seattle, WA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 165,   Downloads (12 Months): 399,   Citation Count: 43
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/121133.121151
What is a DOI?

ABSTRACT

Threads are the vehicle for concurrency in many approaches to parallel programming. Threads separate the notion of a sequential execution stream from the other aspects of traditional UNIX-like processes, such as address spaces and I/O descriptors. The objective of this separation is to make the expression and control of parallelism sufficiently cheap that the programmer or compiler can exploit even fine-grained parallelism with acceptable overhead.Threads can be supported either by the operating system kernel or by user-level library code in the application address space, but neither approach has been fully satisfactory. This paper addresses this dilemma. First, we argue that the performance of kernel threads is inherently worse than that of user-level threads, rather than this being an artifact of existing implementations; we thus argue that managing parallelism at the user level is essential to high-performance parallel computing. Next, we argue that the lack of system integration exhibited by user-level threads is a consequence of the lack of kernel support for user-level threads provided by contemporary multiprocessor operating systems; we thus argue that kernel threads or processes, as currently conceived, are the wrong abstraction on which to support user-level management of parallelism. Finally, we describe the design, implementation, and performance of a new kernel interface and user-level thread package that together provide the same functionality as kernel threads without compromising the performance and flexibility advantages of user-level management of parallelism.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Agha 86
 
Anderson et al. 89
 
Barnes & Hut 86
Barnes, J. and Hut, P. A Hierarchical O(N log N) Force-Calculation Algorithm. Nature, 324:446-449, 1986.
Birrell et al. 87
 
Black 90
Chase et al. 89
Cheriton 88
 
Draves & Cooper 88
Draves, R. and Cooper, E. C Threads. Technical Report CMU-CS-88-154, School of Computer Science, Carnegie-Mellon University, June 1988.
 
Edler et al. 88
Edler, J., Lipkis, J., and Schonberg, E. Process Management for Highly Parallel UNIX Systems. In Proceedings o/the USENIX Workshop on UNIX and Supercomputers, pages 1-17, September 1988.
Halstead 85
Herlihy 90
Karlin et al. 91
Lampson & Redell 80
 
Lo & Gligor 87
Lo, S.-P. and Gligor, V. A Comparative Analysis of Multiprocessor Scheduling Algorithms. In Proceedings of the 7th International Conference on Distributed Computing Systems, pages 356-363, September 1987.
Marsh et al. 91
 
Moeller-Nielsen & Staunstrup 87
Moeller-Nielsen, P. and Staunstrup, J. Problem-Heap: A Paradigm for Multiprocessor Algorithms. Parallel Computing, 4(1):63-74, February 1987.
 
Moss & Kohler 87
 
Redell 88
Redell, D. The Topaz Tele-Debugger. In Proceedings of the A CM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, May 1988.
Schroeder & Burrows 90
Scott et al. 90
 
Tevanian et al. 87
Tevanian, A., Rashid, R., Golub, D., Black, D., Cooper, E., and Young, M. Mach Threads and the Unix Kernel: The Battle for Control. in Proceedings of the 1987 USENIX Summer Conference, pages 185-197, 1987.
 
Thacker et al. 88
Tucker & Gupta 89
 
Vandevoorde & Roberts 88
Weiser et al. 89
 
Wulf et al. 81
Wulf, W., Levin, R., and Harbison, S. Hydra/C, mmp: An Experimental Computer System. McGraw-Hill, 1981.
Zahorjan & McCann 90
 
Zahorjan et al. 91

CITED BY  43

Collaborative Colleagues:
Thomas E. Anderson: colleagues
Brian N. Bershad: colleagues
Edward D. Lazowska: colleagues
Henry M. Levy: colleagues