Re: Paper Evaluations

Arvind Santhanam (arvind@cwc.ucsd.edu)
Tue, 16 May 2000 08:01:57 -0700 (PDT)


Implementing RPC's
------------------

This paper throws light on issues involved in implementing RPC's
in a distributed computing environment, and suggests numerous
optimizations. It also tries to address the major issues facing the
designer of an RPC facility, namely: the precise semantics of a call under
machine/communication failures, the semantics of address containing
arguments in the absence of shared address space, determining the location
and identity of the callee, security, suitable protocols for transfer of
data/control between the caller and the callee, backward compatability and
scalability. Use of grapewine as the distributed database makes the system
highly reliable and access control/authentication is guaranteed through
Grapewine. Use of sequence numbers to identify duplication/ retransmission
of packets and plausibly acknowledge a large amount of data with one
packet is a definite optimization although i'm not sure if these guys
first propounded ARQ (i.e. the above protocol).

I wonder what they mean by fitting all the arguments in a single
packet, as if the size of arguments are large they have to split it into
multiple packets anyways. The RPC_Runtime facility scans the system
dunamically and when an exception is raised executes a catch phrase or
jumps to an appropriate location and the caller is notified of the
exception. There is no timeout mechanism involved in retransmission of
packets which is a definite saving. The probe packets for complicated
calls are not sent very often either. Maintaining a stock of idle
processes in the server is an interesting optimization, and reduces the
overall delay (no process creation) in servicing the packets on arrival at
the server. How efficient are bulk data transfer in comparison to RPC's
implemented on other platforms is still not very clear from their
exposition, due to lack of comparative analysis with previous work.