We have improved the performance of the Mach 3.0 operating system by redesigning its internal thread and interprocess communication facilities to use continuations as the basis for control transfer. Compared to previous versions of Mach 3.0, our new system consumes 85% less space per thread. Cross-address space remote procedure calls execute 14% faster. Exception handling runs over 60% faster. In addition to improving system performance, we have used continuations to generalize many control transfer optimizations that are common to operating systems, and have recast those optimizations in terms of a single implementation methodology. This paper describes our experiences with using continuations in the Mach operating system. This research was sponsored in part by The Defense Advanced Research Projects Agency, Information Science and Technology Office, under the title "Research on Parallel Computing", ARPA Order No. 7330, issued by DARPA/CMO under Contract MDA972-90-C-0035 and in part by...
|
390
|
Scheduler activations: Effective kernel support for the user-level management of parallelism
– Anderson, Bershad, et al.
- 1991
|
|
390
|
The UNIX Time-Sharing System
– Ritchie, Thompson
|
|
257
|
The V distributed system
– Cheriton
- 1988
|
|
242
|
A New Kernel Foundation for UNIX Development
– Accetta, Baron, et al.
- 1986
|
|
231
|
Lightweight remote procedure call
– Bershad, Anderson, et al.
- 1990
|
|
187
|
W.: Chorus distributed operating system
– Rozier, Abrossimov, et al.
- 1988
|
|
170
|
The Design and Implementation of the 4.3BSD Unix Operating System
– Leffler, McKusick, et al.
- 1989
|
|
170
|
Amoeba: A distributed operating system for the 1990s
– Mullender, Rossum, et al.
- 1990
|
|
167
|
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures
– Rashid, Tevanian, et al.
- 1988
|
|
166
|
Virtual memory primitives for user programs
– Appel, Li
- 1991
|
|
148
|
Unix as an application program
– Golub, Dean, et al.
- 1990
|
|
142
|
Firefly: a Multiprocessor Workstation
– Thacker, Stewart
- 1987
|
|
139
|
The duality of memory and communication in the implementation of a multiprocessor operating system
– Young, Tevanian, et al.
- 1987
|
|
135
|
Performance of Firefly RPC
– Schroeder, Burrows
- 1989
|
|
117
|
The performance implications of thread management alternatives for shared memory multiprocessors
– Anderson, Lazowska, et al.
|
|
111
|
First-class user-level threads
– Marsh, Scott, et al.
- 1991
|
|
85
|
Accent: A Communication Oriented Network Operating System Kernel
– Rashid, Robertson
- 1981
|
|
84
|
Scheduling support for concurrency and parallelism in the Mach operating system
– Black
- 1990
|
|
68
|
A Theory of Programming Language Semantics
– Milne, Srachey
- 1963
|
|
65
|
The ITC distributed file system: Principles and design
– Satyanarayanan, Howard, et al.
- 1985
|
|
65
|
Continuation-based multiprocessing
– Wand
- 1980
|
|
59
|
Adding threads to Standard ML
– Cooper, Morrisett
- 1990
|
|
57
|
RPC in the x-Kernel: Evaluating New Design Techniques
– Hutchinson, Peterson, et al.
- 1989
|
|
55
|
Recovery Management in Quicksilver
– Haskin, Malachi, et al.
- 1988
|
|
37
|
A revised IPC interface
– Draves
- 1990
|
|
35
|
The Design and
– Leffler, Mekusik, et al.
- 1989
|
|
32
|
Early experience with Mesa
– GESCHKE, MORRIS, et al.
- 1977
|
|
32
|
Engines build process abstractions
– Haynes, Friedman
|
|
31
|
Scheduling and Resource Management Techniques for Multiprocessors
– Black
- 1990
|
|
26
|
From RIG to Accent to Mach: the evolution of a network operating system
– Rashid
- 1986
|
|
23
|
Scheduling Support for Concurrency and Parallelism
– Black
- 1990
|
|
18
|
High performance cross-address space communication
– Bershad
- 1990
|
|
13
|
On the transfer of control between contexts
– ampson, Mitchell, et al.
- 1974
|
|
12
|
and others, “The Mach Exception Handling Facility
– Black
- 1988
|
|
8
|
Evolution of an Operating System for LargeScale Shared Memory Multiprocessors
– Scott, LeBlanc, et al.
- 1989
|
|
3
|
A syntactic theory of message passing
– Ward, Halstead
- 1980
|
|
1
|
Advanced MS-DOS: the Microsoft guide for assembly language and C programmers
– Duncan
- 1986
|
|
1
|
Computer Programming and Architecture: The VAX11 (2nd Edition
– Levy, Eckhouse
- 1989
|
|
1
|
Performance CrossAddmxs Spce Communication
– Bershad
- 1990
|
|
1
|
The Mach Excep tion Handling Facility
– Black, Golub, et al.
- 1988
|
|
1
|
RPC in the z-Kernel: Evaluating New Design Techniques
– Hutchinson, Peterson, et al.
- 1989
|