Lightweight Remote Procedure Call

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.


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.