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.
- 1 BIRRELL, A. D., AND NELSON, B.J. Implementing remote procedure calls.ACM Trans. Comput. Syst. 2, 1 (Feb. 1984), 39-59. Google Scholar
- 2 CHERITON, D.R. The V distributed system. Commun. ACM 31, 3 (Mar. 1988), 314-333. Google Scholar
- 3 CLARK, D. D. The structuring of systems using upcalls. In Proceedings of the l Oth A CM Symposium on Operating Systems Principles (Orcas Is., Wash., Dec. 1-4, 1985), ACM, New York, 1985, pp. 171-180. Google Scholar
- 4 COOK, D. The evaluation of a protection system. Ph.D. dissertation, Computer Laboratory, Cambridge Univ., Cambridge, U.K., Apr. 1978.Google Scholar
- 5 DENNIS, J. B., AND VAN HORN, E.C. Programming semantics for multiprogrammed computations. Commun. ACM 9, 3 (Mar. 1966), 143-155. Google Scholar
- 6 FITZGERALD, R.P. A performance evaluation of the integration of virtual memory management and inter-process communication in Accent. Ph.D. dissertation, Department of Computer Science, Carnegie-Mellon Univ., Pittsburgh, Pa., Oct. 1986. Google Scholar
- 7 JONES, M. B., AND RASHID, R.F. Mach and Matchmaker: Kernel and language support for object-oriented distributed systems. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Portand, Ore., Sept. 29-Oct. 2, 1986), pp. 67-77. Google Scholar
- 8 KARGER, P.A. Using registers to optimize cross-domain call performance. In Proceedings of the 3rd Conference on Architectural Support for Programming Languages and Operating Systems (Boston, Mass, Apr. 3-6, 1989), pp. 194-204. Google Scholar
- 9 LAMPSON, B.W. Hints for computer system design. IEEE Softw. 1, 1 (Jan. 1984), 11-28.Google Scholar
- 10 MEALY, G., WITT, B., AND CLARK, W. The functional structure of 0S/360. IBM Syst. J. 5, 1 (Jan. 1966), 3-51.Google Scholar
- 11 RASHID, R.F. From Rig to Accent to Mach: The evolution of a network operating system. In Proceedings of ACM/IEEE Computer Society Fall Joint Computer Conference (Dallas, Tex., Nov. 1986). ACM, New York, 1986. Google Scholar
- 12 REDELL, D. D., DALAL, Y. K., HORSLEY, T. R., LAUER, H. C., LYNCH, W. C,, MCJONES, P. R., MURRAY, H, G., AND PURCELL, S, C. Pilot: An operating system for a personal computer. Commun. ACM 23, 2 (Feb. 1980), 81-92. Google Scholar
- 13 RITCHIE, D., AND THOMPSON, K. The Unix time-sharing system. Commun. ACM 17, 7 (July 1974), 365-375. Google Scholar
- 14 ROVNER, P., LEVlN, R., AND WICK, J. On extending Modula-2 for building large, integrated systems. Tech. Rep. 3, Digital Equipment Corporation Systems Research Center, Palo Alto, Calif., Jan. 1985.Google Scholar
- 15 SANDBERG, R., GOLDBERG, D., S. KLEIMAN, D. W., AND LYON, S. Design and implementation of the SUN network filesystem. In Proceedings of the 1985 USENIX Summer Conference, pp. 119-130.Google Scholar
- 16 SCHROEDER, M. D., AND BURROWS, M. Performance of Firefly RPC. In Proceedings of the 12th ACM Symposium on Operating Systems Principles (Litchfield Port, Ariz., Dec. 3-6, 1989). ACM, New York, 1989, pp. 83-90. Google Scholar
- 17 THACKER, C. P., STEWART, L. C., AND SATTERTHWAITE, E. H., JR. Firefly: A multiprocessor workstation. IEEE Trans. Comput. 37, 8 (Aug. 1988), 909-920. Google Scholar
- 18 Tzou, S.-Y., AND ANDERSON, D.P. A performance evaluation of the DASH message-passing system. Tech. Rep. UCB/CSD 88/452, Computer Science Division, Univ. of California, Berkeley, Oct. 1988. Google Scholar
- 19 VAN RENESSE, R., VAN STAVEREN, H., AND TANENBAUM, A. S. Performance of the world's fastest distributed operating system. Oper. Syst. Rev. 22, 4 (Oct. 1988), 25-34. Google Scholar
- 20 WILLIAMSON, C., Personal communication, Jan. 1989.Google Scholar
Index Terms
- Lightweight remote procedure call
Recommendations
Lightweight remote procedure call
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 ...
Lightweight remote procedure call
SOSP '89: Proceedings of the twelfth ACM symposium on Operating systems principlesLightweight 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 ...
Comments