| | |
Summary: Thread Management for SharedMemory
Multiprocessors
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy
Department of Computer Science and Engineering
University of Washington
Seattle WA 98195
Abstract
Threads, or ``lightweight processes,'' have become a common and necessary component of new
languages and operating systems. Threads allow the programmer or compiler to express, create,
and control parallel activities, contributing to the structure and performance of programs.
In this article, we discuss the many alternatives that present themselves when designing a
support system for threads on a sharedmemory multiprocessor. These alternatives influence the
ease, granularity, and performance of parallel programming. We conclude with a brief survey of
three contemporary thread management systems (Windows NT, Presto, and Multilisp), using
them to illustrate the issues raised in this article.
Index Terms -- thread, multiprocessor, operating system, parallel programming, performance
1 Introduction
Disciplined concurrent programming can improve the structure and performance of computer pro
grams on both uniprocessor and multiprocessor systems. As a result, support for threads, or
``lightweight processes,'' has become a common element of new operating systems and program
|