ACM Transactions on Computer Systems · 1988 · 56 citations · 22 references
ComputingComputer ScienceComputer SystemsChannel ManagementDistributed SystemsMessage PassingDistributed ComputingDistributed Data ProcessingInterprocess CommunicationRemote Procedure CallBulk Data TransferCommunication ProtocolsExecution Time AnalysisPipes
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.
22
Implementing remote procedure calls
Andrew Birrell, Bruce Jay Nelson · ACM Transactions on Computer Systems · 1984 · 1.8K citations · Full text
Dennis M. Ritchie, Ken Thompson · Communications of the ACM · 1983 · 970 citations
Robert W. Scheifler, Jim Gettys · ACM Transactions on Graphics · 1986 · 928 citations · Full text
Dennis M. Ritchie, Ken Thompson · Communications of the ACM · 1974 · 819 citations · Full text