|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
COOK, D. The evaluation of a protection system. Ph.D. dissertation, Computer Laboratory, Cambridge Univ., Cambridge, U.K., Apr. 1978.
|
 |
5
|
|
| |
6
|
|
 |
7
|
Michael B. Jones , Richard F. Rashid, Mach and Matchmaker: kernel and language support for object-oriented distributed systems, Conference proceedings on Object-oriented programming systems, languages and applications, p.67-77, September 29-October 02, 1986, Portland, Oregon, United States
|
 |
8
|
|
| |
9
|
LAMPSON, B.W. Hints for computer system design. IEEE Softw. 1, 1 (Jan. 1984), 11-28.
|
| |
10
|
MEALY, G., WITT, B., AND CLARK, W. The functional structure of 0S/360. IBM Syst. J. 5, 1 (Jan. 1966), 3-51.
|
| |
11
|
|
 |
12
|
David D. Redell , Yogen K. Dalal , Thomas R. Horsley , Hugh C. Lauer , William C. Lynch , Paul R. McJones , Hal G. Murray , Stephen C. Purcell, Pilot: an operating system for a personal computer, Communications of the ACM, v.23 n.2, p.81-92, Feb. 1980
[doi> 10.1145/358818.358822]
|
 |
13
|
|
| |
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.
|
| |
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.
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
 |
19
|
|
| |
20
|
WILLIAMSON, C., Personal communication, Jan. 1989.
|
CITED BY 62
|
|
|
|
|
|
|
|
B. N. Bershad , S. Savage , P. Pardyak , E. G. Sirer , M. E. Fiuczynski , D. Becker , C. Chambers , S. Eggers, Extensibility safety and performance in the SPIN operating system, ACM SIGOPS Operating Systems Review, v.29 n.5, p.267-283, Dec. 3, 1995
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Edward W. Felten , Richard D. Alpert , Angelos Bilas , Matthias A. Blumrich , Douglas W. Clark , Stefanos N. Damianakis , Cezary Dubnicki , Liviu Iftode , Kai Li, Early experience with message-passing on the SHRIMP multicomputer, ACM SIGARCH Computer Architecture News, v.24 n.2, p.296-307, May 1996
|
|
|
Ben Gamsa , Orran Krieger , Jonathan Appavoo , Michael Stumm, Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system, Proceedings of the third symposium on Operating systems design and implementation, p.87-100, February 1999, New Orleans, Louisiana, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thorsten von Eicken , David E. Culler , Seth Copen Goldstein , Klaus Erik Schauser, Active messages: a mechanism for integrating communication and computation, 25 years of the international symposia on Computer architecture (selected papers), p.430-440, June 27-July 02, 1998, Barcelona, Spain
|
|
|
|
|
|
Krzysztof Pawlikowski , Victor W. C. Yau , Don McNickle, Distributed stochastic discrete-event simulation in parallel time streams, Proceedings of the 26th conference on Winter simulation, p.723-730, December 11-14, 1994, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lixin Zhang , Zhen Fang , Mide Parker , Binu K. Mathew , Lambert Schaelicke , John B. Carter , Wilson C. Hsieh , Sally A. McKee, The Impulse Memory Controller, IEEE Transactions on Computers, v.50 n.11, p.1117-1132, November 2001
|
|
|
|
|
|
John B. Carter , Wilson C. Hsieh , Leigh B. Stoller , Mark Swanson , Lixin Zhang , Sally A. McKee, Impulse: Memory system support for scientific applications, Scientific Programming, v.7 n.3-4, p.195-209, August 1999
|
|
|
|
|
|
|
|
|
Vinod Ganapathy , Arini Balakrishnan , Michael M. Swift , Somesh Jha, Microdrivers: a new architecture for device drivers, Proceedings of the 11th USENIX workshop on Hot topics in operating systems, p.1-6, May 07-09, 2007, San Diego, CA
|
|
|
Kamin Whitehouse , Gilman Tolle , Jay Taneja , Cory Sharp , Sukun Kim , Jaein Jeong , Jonathan Hui , Prabal Dutta , David Culler, Marionette: using RPC for interactive development and debugging of wireless embedded networks, Proceedings of the fifth international conference on Information processing in sensor networks, April 19-21, 2006, Nashville, Tennessee, USA
|
|
|
Jay Lepreau , Mike Hibler , Bryan Ford , Jeffrey Law, In-kernel servers on mach 3.0: implementation and performance, Proceedings of the 3rd conference on USENIX MACH III Symposium, p.2-2, April 19-21, 1993, Santa Fe, New Mexico
|
|
|
|
|
|
Godmar Back , Patrick Tullmann , Leigh Stoller , Wilson C. Hsieh , Jay Lepreau, Techniques for the design of java operating systems, Proceedings of the Annual Technical Conference on 2000 USENIX Annual Technical Conference, p.17-17, June 18-23, 2000, San Diego, California
|
|
|
Douglas P. Ghormley , David Petrou , Steven H. Rodrigues , Thomas E. Anderson, SLIC: an extensibility system for commodity operating systems, Proceedings of the Annual Technical Conference on USENIX Annual Technical Conference, 1998, p.4-4, June 15-19, 1998, New Orleans, Louisiana
|
|
|
|
|
|
|
|
|
Fabrice Mérillon , Laurent Réveillère , Charles Consel , Renaud Marlet , Gilles Muller, Devil: an IDL for hardware programming, Proceedings of the 4th conference on Symposium on Operating System Design & Implementation, p.2-2, October 22-25, 2000, San Diego, California
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Brian N. Bershad , Craig Chambers , Susan Eggers , Chris Maeda , Dylan McNamee , Przemysław Pardyak , Stefan Savage , Emin Gün Sirer, SPIN—an extensible microkernel for application-specific operating system services, ACM SIGOPS Operating Systems Review, v.29 n.1, p.74-77, Jan. 1995
|
REVIEW
"Brett D. Fleisch : Reviewer"
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 b
more...
|