Kernel‐Kernel communication in a shared‐memory multiprocessor
- 1 May 1993
- journal article
- Published by Wiley in Concurrency: Practice and Experience
- Vol. 5 (3) , 171-191
- https://doi.org/10.1002/cpe.4330050302
Abstract
In the standard kernel organization on a bus‐based multiprocessor, all processors share the code and data of the operating system; explicit synchronization is used to control access to kernel data structures. Distributed‐memory multicomputers use an alternative approach, in which each instance of the kernel performs local operations directly and uses remote invocation to perform remote operations. Either approach to interkernel communication can be used in a large‐scale shared‐memory multiprocessor.In the paper we discuss the issues and architectural features that must be considered when choosing between remote memory access and remote invocation. We focus in particular on experience with the Psyche multiprocessor operating system on the BBN Butterfly Plus. We find that the Butterfly architecture is biased towards the use of remote invocation for kernel operations that perform a significant number of memory references, and that current architectural trends are likely to increase this bias in future machines. This conclusion suggests that straightforward parallelization of existing kernels (e.g. by using semaphores to protect shared data) is unlikely in the future to yield acceptable performance. We note, however, that remote memory access is useful for small, frequently‐executed operations, and is likely to remain so.Keywords
This publication has 21 references indexed in Scilit:
- The interaction of architecture and operating system designACM SIGOPS Operating Systems Review, 1991
- The directory-based cache coherence protocol for the DASH multiprocessorACM SIGARCH Computer Architecture News, 1990
- PLUSACM SIGARCH Computer Architecture News, 1990
- APRILACM SIGARCH Computer Architecture News, 1990
- The Elmwood multiprocessor operating systemSoftware: Practice and Experience, 1989
- Low-synchronization translation lookaside buffer consistency in large-scale shared-memory multiprocessorsACM SIGOPS Operating Systems Review, 1989
- The implementation of a coherent memory abstraction on a NUMA multiprocessor: experiences with platinumACM SIGOPS Operating Systems Review, 1989
- The structuring of systems using upcallsACM SIGOPS Operating Systems Review, 1985
- On the duality of operating system structuresACM SIGOPS Operating Systems Review, 1979
- Task communication in DEMOSACM SIGOPS Operating Systems Review, 1977