Lightweight remote procedure call
- 1 November 1989
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 23 (5) , 102-113
- https://doi.org/10.1145/74850.74861
Abstract
Lightweight Remote Procedure Call (LRPC) is a com- munication facility designed and optimized for commu- nication between protection domains on the (same ma- chine. In contemporary small-kernel operating systems, ex- isting RPC systems incur an unnecessarily high cost when used for the type of communication that pre- dominates - between protection domains on the same machine. This cost leads system designers to coalesce weakly-related subsystems into the same protection do- main, trading safety for performance. By reducing the overhead of same-machine communication, LRPC en- courages both safety and performance. LRPC combines the control transfer and communi- cation model of capability systems with the program- ming 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 work- station.Keywords
This publication has 13 references indexed in Scilit:
- Using registers to optimize cross-domain call performancePublished by Association for Computing Machinery (ACM) ,1989
- Performance of the world's fastest distributed operating systemACM SIGOPS Operating Systems Review, 1988
- Firefly: a multiprocessor workstationIEEE Transactions on Computers, 1988
- The V distributed systemCommunications of the ACM, 1988
- The structuring of systems using upcallsPublished by Association for Computing Machinery (ACM) ,1985
- Implementing remote procedure callsACM Transactions on Computer Systems, 1984
- Hints for Computer System DesignIEEE Software, 1984
- PilotCommunications of the ACM, 1980
- The UNIX time-sharing systemCommunications of the ACM, 1974
- Programming semantics for multiprogrammed computationsCommunications of the ACM, 1966