Design Rationale for Psyche a General-Purpose Multiprocessor Operating System.

Michael Lee Scott, Thomas J. LeBlanc, Brian D. Marsh · 1988

The Psyche project at the University of Rochester aims to develop a high-performance operating system to support a wide variety of models for parallel programming. It is predicated on the conviction that no one model of process state or style of communication will prove appropriate for all applications, but that shared-memory multiprocessors (particularly the scalable ‘‘NUMA’ ’ variety) can and should support all models. Con-ventional approaches, such as shared memory or message pass-ing, can be regarded as points on a continuum that reflects the degree of sharing between processes. Psyche facilitates dynamic sharing by providing a user interface based on passive data abstractions in a uniform virtual address space. It ensures that users pay for protection only when it is required by permit-ting lazy evaluation of protection policies implemented with keys and access lists. The data abstractions define conventions for sharing the uniform address space; the tradeoff between pro-tection and performance determines the degree to which those conventions are enforced. In the absence of protection boun-daries, access to a shared abstraction can be as efficient as a pro-cedure call or a pointer dereference.

Read the paper · More papers on PaperTik