evaluation

Qiao XIN (qxin@cs.ucsd.edu)
Tue, 16 May 2000 00:16:07 -0700 (PDT)

QIAO XIN

Evaluation of the Paper: Implementing RPC


This paper describes a package providing a remote procedure call
facilities and the overall structure of a RPC mechanism. The author's
decision in using RPC over other alternatives such as message passing
is that procedure calls are the major control and data transfer
mechanism in their major language, Mesa.

I think some decisions they made is important and successful. First, their
binding semantics are quite powerful and easy and efficient to
implement. Important effects includes that importing an interface has
no effect on the data structure in the exporting machine and this is
beneficial for the case of many users, implicit unbinding notifies a
user of a crash happening between calls and also it
provides flexible binding time enables dynamic decision of the
interface instance.

Secondly, some optimizations are adopted. Subsequent packets are used
for implicit acknowledgment of previous packets, the number of
processes involved in a call is reduced, cost of establishing and
terminating connections are avoided and other techniques in managing
transport level connections to minimizing the communication costs.

I am not quite agree upon their decision of making the semantics of
RPC as close as possible to those of local procedure calls. The
advantage I can see is the easy to use. But it has disadvantage of
communication failures can only be detected in the communication
level. Others like the callee having deadlock while working on the
call can not be detected.

Evaluation of the Paper: Performing Remote Operations
Effectively on a Local Computer Network

This paper discusses efficient communication techniques for very high
speed local networks. It attempts to answer the question how to reduce
the traditionally high processing overhead of network
communication. A model is presented in this paper containing
communication instructions called remote reference which causes an
remote operation to be performed by a remote process and primitives
that not only transmit data but also initiate operations and return
values.

In the model, there exist the communication processes which is
efficient in perform the transmission and reception of packets and
execute communication primitives. Remote reference are associated
with five attribute classes to span the space of all possible
implementation strategies. These includes:
1. Reliably attributes provide various degree of failure tolerance.
2. Value and novalue reference to permit great efficiency.
3. A master process can issue processor-synchronous,
process-synchronous, or asynchronous references.
4. Asynchronous references can be either flow-controlled or not while
processor -synchronous, process-synchronous references don't need
flow-control.
5. Primary operations exist for rapid execution on the remote
processors.

The specialization of the references permits efficient implementation
and the semantics attributes of the reference make them a good basis
for the construction of distributed programs. It is envisioned that
some predefined primary
references would be highly optimized and provided low overhead fine
granularity communication. Reference are conveyed over connections
called sessions, and the model is implemented generally regarding the
reliability and synchrony attributes. The experimental subsystem
based for the Altos shows that a streamlined system based upon the
model can be implemented with great efficiency.