Remote pipes and procedures for efficient distributed communication

  • Authors:
  • David K. Gifford;Nathan Glasser

  • Affiliations:
  • Massachusetts Institute of Technology, Cambridge;Massachusetts Institute of Technology, Cambridge

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 1988

Quantified Score

Hi-index 0.02

Visualization

Abstract

We describe a new communication model for distributed systems that combines the advantages of remote procedure call with the efficient transfer of bulk data. Three ideas form the basis of this model. First, remote procedures are first-class values which can be freely exchanged among nodes, thus enabling a greater variety of protocols to be directly implemented in a remote procedure call framework. Second, a new type of abstract object, called a pipe, allows bulk data and incremental results to be efficiently transported in a type-safe manner. Unlike procedure calls, pipe calls do not return values and do not block a caller. Data sent down a pipe is received by the pipe's sink node in the order sent. Third, the relative sequencing of pipes and procedures can be controlled by combining them into channel groups. Calls on the members of a channel group are guaranteed to be processed in order. Application experience with this model, which we call the Channel Model, is reported. Derived performance bounds and experimental measures demonstrate k pipe calls can perform min( 1 + (r/p), k) times faster than k procedure calls, where r is the total roundtrip remote communication time and p is the procedure execution time.