| | |
Summary: Lightweight Remote Procedure Call
BRIAN N. BERSHAD, THOMAS E. ANDERSON, EDWARD D. LAZOWSKA,
and HENRY M. LEVY
University of Washington
Lightweight Remote Procedure Call (LRPC) is a communication facility designed and optimized for
communication between protection domains on the same machine. In contemporary small-kernel
operating systems, existing RPC systems incur an unnecessarily high cost when used for the type of
communication that predominates-between protection domains on the same machine. This cost
leads system designers to coalesce weakly related subsystems into the same protection domain, trading
safety for performance. By reducing the overhead of same-machine communication, LRPC encourages
both safety and performance. LRPC combines the control transfer and communication model of
capability systems with the programming semantics and large-grained protection model of RPC.
LRPC achieves a factor-of-three performance improvement over more traditional approaches based
on independent threads exchanging messages, reducing the cost of same-machine communication to
nearly the lower bound imposed by conventional hardware. LRPC has been integrated into the Taos
operating system of the DEC SRC Firefly multiprocessor workstation.
Categories and Subject Descriptors: C.1.3. [Processor Architectures]: Other Architecture Styles-
capability architectures; D.3.3 [Programming Languages]: Language Constructs--modules, puck-
ages; D.4.1 [Operating Systems]: Process Management-concurrency, multiprocessing/multipro-
gramming, scheduling; D.4.4 [Operating Systems]: Communications Management; D.4.6 [Oper-
|