Vol. 2, No. 1, February 1984 | ANDREW D. BIRRELL and BRUCE JAY NELSON
This paper by Andrew D. Birrel and Bruce Jay Nelson from the Xerox Palo Alto Research Center discusses the implementation of a remote procedure call (RPC) facility. The authors describe the overall structure of their RPC mechanism, including the binding of RPC clients, the transport-level communication protocol, and performance measurements. They also detail optimizations to achieve high performance and minimize load on server machines with many clients. The paper covers the design choices made, such as the use of procedure calls for control and data transfer, the integration of remote calls into existing programming systems, and the handling of address-containing arguments in the absence of a shared address space. The authors emphasize the importance of making distributed computation easy and efficient, while also providing secure communication. The paper includes a detailed explanation of the binding mechanism, which uses the Grapevine distributed database for naming and locating exporters, and the packet-level transport protocol, which minimizes real-time delays and server load. The authors also discuss exception handling and the use of processes to reduce costs associated with process creation and swaps.This paper by Andrew D. Birrel and Bruce Jay Nelson from the Xerox Palo Alto Research Center discusses the implementation of a remote procedure call (RPC) facility. The authors describe the overall structure of their RPC mechanism, including the binding of RPC clients, the transport-level communication protocol, and performance measurements. They also detail optimizations to achieve high performance and minimize load on server machines with many clients. The paper covers the design choices made, such as the use of procedure calls for control and data transfer, the integration of remote calls into existing programming systems, and the handling of address-containing arguments in the absence of a shared address space. The authors emphasize the importance of making distributed computation easy and efficient, while also providing secure communication. The paper includes a detailed explanation of the binding mechanism, which uses the Grapevine distributed database for naming and locating exporters, and the packet-level transport protocol, which minimizes real-time delays and server load. The authors also discuss exception handling and the use of processes to reduce costs associated with process creation and swaps.