Proceedings Article10.1145/168619.168627
Using threads in interactive systems: a case study
Carl Hauser,Christian Jacobi,Marvin M. Theimer,Brent B. Welch,Mark D. Weiser +4 more
- 01 Dec 1993
- Vol. 27, Iss: 5, pp 94-105
TL;DR: The results of examining two large research and commercial systems for the ways that they use threads are described, observing that thread priorities are difficult to use and may interfere in unanticipated ways with other thread primitives and paradigms.
read more
Abstract: We describe the results of examining two large research and commercial systems for the ways that they use threads. We used three methods: analysis of macroscopic thread statistics, analysis the microsecond spacing between thread events, and reading the implementation code. We identify ten different paradigms of thread usage: defer work, general pumps, slack processes, sleepers, one-shots, deadlock avoidance, rejuvenation, serializers, encapsulated fork and exploiting parallelism. While some, like defer work, are well known, others have not been previously described. Most of the paradigms cause few problems for programmers and help keep the resulting system implementation understandable. The slack process paradigm is both particularly effective in improving system performance and particularly difficult to make work well. We observe that thread priorities are difficult to use and may interfere in unanticipated ways with other thread primitives and paradigms. Finally, we glean from the practices in this code several possible future research topics in the area of thread abstractions.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Modern Operating Systems
Luca Faust
- 01 Jan 2016
TL;DR: The modern operating systems is universally compatible with any devices to read, and is available in the book collection an online access to it is set as public so you can get it instantly.
370
•Dissertation
Lottery and stride scheduling: flexible proportional-share resource management
Carl A. Waldspurger,William E. Weihl +1 more
- 01 Jan 1995
TL;DR: In this article, the authors present flexible abstractions for specifying resource management policies, together with efficient mechanisms for implementing those abstractions, including both randomized and deterministic algorithms that provide proportional-share control over resource consumption rates.
282
•Book
INSIDE Windows NT
George Eckel
- 01 Jan 1993
TL;DR: This tutorial and reference sets out to instruct users in organizing and managing multiple tasks, and multiple programs, in Windows by focusing on sharing and transferring data and graphics between Windows applications.
184
Pointer analysis for multithreaded programs
Radu Rugina,Martin Rinard +1 more
- 01 May 1999
TL;DR: This paper presents a novel interprocedural, flow-sensitive, and context-sensitive pointer analysis algorithm for multithreaded programs that may concurrently update shared pointers and shows that the analysis has good precision and converges quickly for the authors' set of Cilk programs.
142
SPIN—an extensible microkernel for application-specific operating system services
Brian N. Bershad,Craig Chambers,Susan J. Eggers,Chris Maeda,Dylan McNamee,Przemysław Pardyak,Stefan Savage,Emin Gün Sirer +7 more
TL;DR: The SPIN operating system enables system services to be defined in an application-specific fashion through an extensible microkernel and offers applications fine-grained control over a machine's logical and physical resources through run-time adaptation of the system to application requirements.
References
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta,Robert V. Baron,William J. Bolosky,David B. Golub,Richard F. Rashid,Avadis Tevanian,Michael Young +6 more
- 01 Jan 1986
TL;DR: Mach as mentioned in this paper is a multiprocessor operating system kernel and environment under development at Carnegie Mellon University, which provides a new foundation for UNIX development that spans networks of uniprocessors and multi-processors.
Experience with processes and monitors in Mesa
TL;DR: These problems are addressed by the facilities described here for concurrent programming in Mesa, and experience with several substantial applications gives us some confidence in the validity of the solutions.
The X Window System
Robert W. Scheifler,James Gettys +1 more
TL;DR: An overview of the X Window System is presented, focusing on the system substrate and the low‐level facilities provided to build applications and to manage the desktop.
340
A structural view of the Cedar programming environment
TL;DR: The extent to which the Cedar language, with run-time support, has influenced the organization, flexibility, usefulness, and stability of the Cedar environment is emphasized.
274
•Book
INSIDE Windows NT
George Eckel
- 01 Jan 1993
TL;DR: This tutorial and reference sets out to instruct users in organizing and managing multiple tasks, and multiple programs, in Windows by focusing on sharing and transferring data and graphics between Windows applications.
184