skip to main content
article
Free Access

Lightweight remote procedure call

Published:01 February 1990Publication History
Skip Abstract Section

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.

References

  1. 1 BIRRELL, A. D., AND NELSON, B.J. Implementing remote procedure calls.ACM Trans. Comput. Syst. 2, 1 (Feb. 1984), 39-59. Google ScholarGoogle Scholar
  2. 2 CHERITON, D.R. The V distributed system. Commun. ACM 31, 3 (Mar. 1988), 314-333. Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 4 COOK, D. The evaluation of a protection system. Ph.D. dissertation, Computer Laboratory, Cambridge Univ., Cambridge, U.K., Apr. 1978.Google ScholarGoogle Scholar
  5. 5 DENNIS, J. B., AND VAN HORN, E.C. Programming semantics for multiprogrammed computations. Commun. ACM 9, 3 (Mar. 1966), 143-155. Google ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. 9 LAMPSON, B.W. Hints for computer system design. IEEE Softw. 1, 1 (Jan. 1984), 11-28.Google ScholarGoogle Scholar
  10. 10 MEALY, G., WITT, B., AND CLARK, W. The functional structure of 0S/360. IBM Syst. J. 5, 1 (Jan. 1966), 3-51.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 13 RITCHIE, D., AND THOMPSON, K. The Unix time-sharing system. Commun. ACM 17, 7 (July 1974), 365-375. Google ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 20 WILLIAMSON, C., Personal communication, Jan. 1989.Google ScholarGoogle Scholar

Index Terms

  1. Lightweight remote procedure call

              Recommendations

              Reviews

              Brett D. Fleisch

              The lightweight remote procedure call (LRPC) facility was designed and optimized for intermachine communication. LRPC exploits the fact that the common case of same-machine communication passing small, simple arguments can have significantly better performance than a more general remote procedure call (RPC) mechanism. In RPC, local communication is treated as an instance of remote communication, and simple operations are treated similarly to more complex operations. This aspect of RPC violates a basic tenet of system design by failing to isolate and optimize performance for the common case. Four techniques used in LRPC to improve the performance of RPC systems are described: simplified control transfer, simplified data transfer using sharing techniques, optimized stubs, and optimizations for multiprocessors. Each of these techniques is explained in the context of an implementation on the C-VAX Firefly workstation. Performance measurements and comparisons examine where time is being spent in the implementation and how the optimizations affect performance. Perhaps even more important, the authors carefully consider the effects on LRPC of a number of uncommon cases. LRPC has to accommodate the uncommon cases gracefully and with acceptable performance. This paper is the result of state-of-the-art research into the form and structure of remote procedure call systems. It is intended for readers with a background in operating systems and programming languages and for people actively researching this area. The paper indisputably presents original and thoughtful insights on the issues. A possible weakness is in Section 2.1, where the paper uses a personal communication for a reference. The basic point of the section is well taken, however, and most of the background references can be located in the published literature.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Computer Systems
                ACM Transactions on Computer Systems  Volume 8, Issue 1
                Feb. 1990
                82 pages
                ISSN:0734-2071
                EISSN:1557-7333
                DOI:10.1145/77648
                Issue’s Table of Contents

                Copyright © 1990 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 February 1990
                Published in tocs Volume 8, Issue 1

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader