Kernel‐Kernel communication in a shared‐memory multiprocessor

Eliseu M. Chaves, Prakash Ch Das, Thomas J. Leblanc, Brian D. Marsh, Michael L. Scott

Research output: Contribution to journalArticle

10 Scopus citations

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.

Original languageEnglish (US)
Pages (from-to)171-191
Number of pages21
JournalConcurrency: Practice and Experience
Volume5
Issue number3
DOIs
StatePublished - May 1993

    Fingerprint

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Chaves, E. M., Das, P. C., Leblanc, T. J., Marsh, B. D., & Scott, M. L. (1993). Kernel‐Kernel communication in a shared‐memory multiprocessor. Concurrency: Practice and Experience, 5(3), 171-191. https://doi.org/10.1002/cpe.4330050302