Topic: remote procedure call

topics > computer science > Group: parallel processing

digital communication
distributed systems

client-server model for distributed systems
communication port
communication protocols
computational mail
function call
implementing distributed systems and applications
interprocess communication
message queues for communication
object-oriented methods
parameter passing by message
parameter passing by value-result
synchronized processing


Interprocess communication can be performed by externally called procedures. Process A can call a procedure in process B. Process A waits until process B is free, then it waits until process B completes the requested procedure call. Processes are idle while making an external procedure request. Processes are free when waiting at a guarded statement. (cbb 5/80)
Subtopic: synchronous remote call up

Quote: when the receiver of a message completes, the caller resumes; the receiver can return a value [»goldA3_1976]
Quote: queued synchronous communication by building a returnable message called a 'callrecord' [»stroRE5_1985]
Quote: a distributed process communicates by a remote procedure call to another process waiting in a guarded region [»brinP11_1978]
Quote: distributed processes communicate and synchronize by remote procedure calls [»brinP11_1978]
Quote: processes communicate by calling common procedures in another process; executed when processes are waiting for a condition [»brinP11_1978]
Quote: construct distributed systems by communication at the procedure call level; simple protocol [»whitJE4_1977]
Quote: remote procedure call by connecting a parameter list to a communication port; terminates with disconnect statement from other process [»maoTW3_1980]

Subtopic: blocking send up

Quote: a process delays when it makes an external request or when all operations are delayed within guarded regions
Quote: if an interprocess message is produced, only its receiver can continue processing [»chowTS_1978]
Quote: the sender blocks while the receiver can process messages in any order or control the sender [»liskB10_1981]

Subtopic: message passing vs procedure call up

Quote: in a message-passing system, the sender can use procedure call semantics while the receiver use message queue semantics [»liskB10_1981]
Quote: a procedure call can be viewed as an exchange of messages
Quote: the increased flexibility of a remote procedure for any call is not worth the increased performance cost [»cherDR4_1984]
Quote: synchronized communication simplifies programming, no buffers, efficient, data not lost, one process waits for the other [»mayD_1987]
Quote: message passing is convenient for intra-machine communication while remote procedure call is best for inter-machine communication [»cormGV5_1988]
Quote: in Thoth and V, messages are for communication and processes are for concurrency [»cherDR4_1984]
Quote: with message-passing, have two forms of intermodule communication--calls and messages; only the later can be remote [»cherDR4_1984]

Subtopic: communication ports up

Quote: with communication ports, write to a master by sending a message and waiting for confirmation; read by sending a request and waiting for response [»maoTW3_1980]
Quote: with communication ports, information is copied to in-parameters and returned through out-parameters [»maoTW3_1980]
Quote: each communication port has a name, one master process (executes and disconnects), and multiple servant processes [»maoTW10_1979]
Quote: a communication port is set up when the slave process is suspended on the connect statement and the master enters the port statement [»maoTW3_1980]
Quote: if more than one connect statement is active at a port then one is selected nondeterministically [»maoTW3_1980]

Subtopic: reliable remote calls up

Quote: reliable remote procedure call (RPC) from message passing; handles node crashes [»shriS7_1982]

Subtopic: efficient remote calls up

Quote: efficient implementation of remote procedure calls by fast code, sweep algorithm for time-outs, and fast context switching [»vanrR10_1988]
Quote: small transactions (remote procedure calls) need a short delay while large ones need a high bandwidth
Quote: can avoid connection setup for RPC if server can be sure that messages are new; detect duplicates by storing (globally) recent communications [»liskB9_1989]
Quote: the reply message for an Amoeba transaction also acknowledges the request; if delayed, the request is retransmitted and acknowledged [»vanrR10_1988]
Quote: Amoeba's RPC delay is 10 times faster than UNIX for short messages and 3 times higher bandwidth for large ones; none better [»vanrR10_1988]
Quote: short Amoeba RPCs are 6 times faster than Sun's RPCs; large RPCs have 2 times the bandwidth
Quote: Amoeba uses a sweep algorithm to implement time-outs for its communication protocols; periodically checks for progress

Subtopic: asynchronous calls up

Quote: if a process can do asynchronous activity after a message send, it should use a new, helper process and time-out process [»liskB10_1981]

Subtopic: examples up

Quote: the Styx protocol implements local device drivers with procedure calls and remote devices with mount driver and remote procedure calls [»dorwSM1_1997]
Quote: V's 'send' is a remote, call by value-result of a 32-byte message to a process [»cherDR4_1984]

Subtopic: remote calls in Amoeba up

Quote: Amoeba clients access a server by remote procedure call; call can return 'success', 'not delivered or executed', or 'unknown' [»taneAS12_1990]
Quote: Amoeba has an interface language for specifying remote procedure calls; e.g., marshalling code and numeric data representation [»taneAS12_1990]
Quote: Amoeba's remote procedure call returns 'unknown' when a request was sent but no reply occurred; e.g., the server crashed
Quote: Amoeba servers accessed by remote procedure call (called "transactions")
Quote: Amoeba reply headers with error code, 8 bytes of result, and a returned capability
Quote: Amoeba request headers with capability for object, operation code, 8 bytes for parameters
Quote: Amoeba remote procedure calls are executed at-most-once; returns success, not executed, or unknown (lost contact, caller must recover) [»vanrR10_1988]
Quote: Amoeba implements remote procedure calls on each processor and in UNIX; allows transparent use of Amoeba [»vanrR10_1988]

Subtopic: problems with remote calls up

Quote: an earlier version of Amoeba has asynchronous RPC; a dreadful decision, impossible to program [»taneAS12_1990]
Quote: Amoeba doesn't have timeouts for remote operations; allows file server to block the memory server, but prevents race conditions [»taneAS12_1990]
Quote: the remote procedure call is a disaster because programmers want to keep processes busy, generating and communicating data

Related Topics up

Group: digital communication   (11 topics, 296 quotes)
Group: distributed systems   (14 topics, 348 quotes)

Topic: client-server model for distributed systems (25 items)
Topic: communication port (40 items)
Topic: communication protocols (62 items)
Topic: computational mail (11 items)
Topic: function call (28 items)
Topic: implementing distributed systems and applications (41 items)
Topic: interprocess communication (29 items)
Topic: message queues for communication (36 items)
Topic: object-oriented methods (42 items)
Topic: parameter passing by message (31 items)
Topic: parameter passing by value-result (10 items)
Topic: synchronized processing
(35 items)

Updated barberCB 12/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.