Brian Bershad, Thomas
Anderson, Edward Lazowska and Henry Levy. Lightweight
Remote Procedure Call. ACM
Transactions on Computer Systems, vol. 8, no. 1, February 1990, pages 37 -
55. Also appeared in Proc. Twelfth
ACM Symposium on Operating Systems Principles (SOSP), December 1989.
Abstract:
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.