Implementing Remote Procedure Calls

About this paperTiếng Việt日本語

This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.

中文
English

仍然执行(取决于该环境的并行性细节以及 RPC 实现)。

这个想法有许多吸引人的方面。其中之一是清晰而简单的语义:这应当使构建分布式计算并使其正确实现变得更加容易。另一个方面是效率:过程调用似乎足够简单,因此通信可以非常快速。第三个方面是通用性:在单机计算中,过程通常是算法各部分之间通信的最重要机制。

RPC 的思想已经存在了许多年。至少从 1976 年以来,它已经在公开文献中被多次讨论过 [15]。Nelson 的博士论文 [13] 对 RPC 系统的设计可能性进行了广泛研究,并引用了许多早期关于 RPC 的工作。然而,完整规模的 RPC 实现比论文设计更为少见。近期值得注意的工作包括 Xerox NS 协议族中的 Courier [4],以及 MIT 当前的工作 [10]。

本文源于为 Cedar 项目构建 RPC 工具的工作。由于之前的工作(特别是 Nelson 的论文及相关实验),我们认为自己理解了 RPC 工具设计者必须做出的选择。我们的任务是在特定目标和环境的背景下做出这些选择。在实践中,我们发现若干领域的理解还不充分,并且我们构建了一个设计具有若干新颖方面的系统。

Remote procedure calls (RPC) appear to be a useful paradigm for providing communication across a network between programs written in a high-level language. This paper describes a package providing a remote procedure call facility, the options that face the designer of such a package, and the decisions we made. We describe the overall structure of our RPC mechanism, our facilities for binding RPC clients, the transport level communication protocol, and some performance measurements. We include descriptions of some optimizations used to achieve high performance and to minimize the load on server machines that have many clients.

CR Categories and Subject Descriptors: C.2.2 [Computer-Communication Networks]: Network Protocols—protocol architecture; C.2.4 [Computer-Communication Networks]: Distributed Systems—distributed applications, network operating systems; D.4.4 [Operating Systems]: Communications Management—message sending, network communication; D.4.7[Operating Systems]: Organization and Design—distributed systems

General Terms: Design, Experimentation, Performance, Security

Additional Keywords and Phrases: Remote procedure calls, transport layer protocols, distributed naming and binding, inter-process communication, performance of communication protocols.

This section is missing here.

1 INTRODUCTION

This section is missing here.

2 BINDING

This section is missing here.

3 PACKET-LEVEL TRANSPORT PROTOCOL

This section is missing here.

4 PERFORMANCE

This section is missing here.

5 STATUS AND DISCUSSIONS

References

  1. BIRRELL, A. D., LEVIN, R., NEEDHAM, R. M. AND SCHROEDER, M. D. Grapevine: an exercise in distributed computing. Commun. ACM 25, 4 (April 1982), 260–274.
  2. BOGGS, D. R. Internet Broadcasting. PhD dissertation, Department of Electrical Engineering, Stanford University, Jan. 1982.
  3. BOGGS, D. R., SHOCH, J. R., TAFT, E. A. AND METCALF, R. M. PUP: An internetwork architecture. IEEE Trans. Commun. 28, 4 (April 1980), 612–634.
  4. Courier: the remote procedure call protocol. Xerox System Integration Standard XSIS-038112, Xerox Corporation, Stamford, Connecticut, Dec. 1981.
  5. DATA ENCRYPTION STANDARD. FIPS Publication 46. National Bureau of Standards, U.S. Department of Commerce, Washington D.C., January 1977.
  6. DEUTSCH, L. P. AND TAFT, E. A. Requirements for an exceptional programming environment. Tech. Rep. CSL-80-10, Xerox Palo Alto Research Center, Palo Alto, Calif., 1980.
  7. Ethernet, a local area network: data link layer and physical layer specifications version 1.0. Digital Equipment Corporation, Intel Corporation, Xerox Corporation, Sept. 1980.
  8. LAMPSON, B. W. AND PIER, K. A. A processor for a high-performance personal computer. In Proc 7th IEEE Symposium on Computer Architecture, (May 1980), IEEE, New York, pp. 146–160.
  9. LAMPSON, B. W. AND SCHMIDT, E. E. Practical use of a polymorphic applicative language. In Proc. Tenth Annual ACM Symposium on Principles of Programming Languages (Austin, Texas, Jan. 24–26), ACM, New York (1983), pp. 237–255.
  10. LISKOv, B. Primitives for distributed computing. Oper. Syst. Rev. 13, 5 (Dec. 1979), 33–42.
  11. METCALFE, R. M. AND BOGGS, D. R. Ethernet: Distributed packet switching for local computer networks. Commun. ACM 19, 7 (July 1976), 395–404.
  12. MITCHELL, J. G., MAYBURY, W. AND SWEET, R. Mesa language manual (Version 5.0). Tech. Rep. CSL-79-3, Xerox Palo Alto Research Center, Palo Alto, Calif. 1979.
  13. NELSON, B. J. Remote procedure call. Tech. Rep. CSL-81-9, Xerox Palo Alto Research Center, Palo Alto, Calif. 1981.
  14. SPECTOR, A. Z. Performing remote operations efficiently on a local computer network. Commun. ACM 25, 4 (April 1982), 246–260.
  15. WHITE, J. E. A high-level framework for network-based resource sharing. In Proc. National Computer Conference, (June 1976). Received March 1983; revised November 1983; accepted November 1983

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into 中文 by gpt-5, against glossary version 6. Translated from the English.

Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.