(no subject)

Syed Adnan (sadnan@ucsd.edu)
Tue, 16 May 2000 00:25:43 -0700

Name: Syed Adnan
Date: 5-14-00

Implementing Remote Procedure Calls.

Paper talks about a package providing a remote procedure call facility. Paper discusses the options a designer must face during the design of such facility, and the decision that are being made in this particular facility. Along with these issues, paper talks about the over all structure, mechanism, binding, clients, and transport level communication protocols of this system.
First of all, paper talks about why one should implement RPC. The answer is that it is clean, simple semantics, efficient, and has a generality that procedures are the most important mechanism for communication between parts of the algorithms.
Goal for this particular RPC was to make distributed computing easy, provide communication with almost as ease as local procedure calls. Paper also mentions efficiency, power, and simplicity as part of the package with security.
Paper does talk about few fundamental design rules they set for this package. They choose a non-message passing system (obviously), decision of not using shared memory, and not having any timeouts mechanisms.
Paper talks about the structure of the RPC in details explaining five pieces of remote call. User, user-stub, RPC runtime, the server-stub and server are the five pieces of a remote procedure calls. RPC runtime is the most interesting that it controls the communication, and packet-level communication is being handled by RPC runtime.
Binding was discussed that how interfaces are being registered by the interface provider in grapevine database. Use of unique identifier and query for interface that are being provided by the server are the most interesting aspect of this paper in my opinion. One interesting note was that grapevine database cant let just any interface exporter registered itself that it could be a fake interface. Paper also talks about the simple procedure calls, the packet transformation containing identifier, argument and data for specified procedure. Paper talks few strategies and decision that they made for simple procedure calls. Paper then talks about complicated calls in which paper discuss issues of retransmit ting the packets, handling lost packets, sending large packets.
One of the goals of the paper to create a remote procedure call as if it was a local procedure call, and thus exception handling is done as local procedure calls, using mesa stack search methods for catch of the exception.
Paper talks about optimization of package. They used subsequent use of packets for acknowledgment packets. Attempted to minimize the cost of maintaining the connection by reducing the number of process switches involved in call. Security was taking care by RPC runtime facility that encrypted and decrypted the packages.
Over all, paper is really good. I learned a lot from this paper of how things are working with RPC.

Name: Syed Adnan
Date: 5-15-00

Performing Remote Operations Efficiently on a
Local Computer Network

Paper talks about an efficient communication model for local networks. This model contains communication instructions, which can be implemented efficiently, and these instructions are called remote references cause operations on remote processors and optionally return values. Paper presents implementation considerations for communication system as well.
To make a highly efficient communication model, paper discuss issues of reducing high processing overhead for network communication, and if overhead can be reduced on high bandwidth, low latency network, distributed programs with fine granularity of parallelism could be executed in parallel.
Paper makes design decision of having an integrated implementation approach rather than the layered approach. Also, more emphasis on ensuring that the functions provided by the communication subsystem are suitable for implementing high level primitives. Paper claims that specialization of communication interface; simplified protocols and direct implementation in microcode can improve communication performance. Paper explains lower level primitives of communication.
Paper claims that remote reference model provides powerful primitives, and these primitives are efficiently implanted. There are four reasons for the primitives in this model. First, utility of primitives, which means high level of implementation of primitives, can be efficient. Support of reliability, protocol simplification and efficient implementation are three other reasons for primitives to not only transmit data, but also initiate operations on their results.
Paper does discuss issues dealing with implementation in which paper talks about sockets, and sessions. Session is described to be a logical connection between to processes having a master slave relationship. There is state information is associated with sessions. Along with this information, there is a socket associated with each session at the minimum for packet transformation. Communication process maintains system-sessions, accepts references from master process, and deal with their requests.
Paper gives a example of a system using these primitives, but in last section it talks about performance. And in performance measurements, turned out that micro code implementation ran 30 times faster in few primitives. Regarding hardware considerations, paper mentions two concerns regarding hardware configuration for supporting very efficient implementation for remote references. Second issue was the class of distributed application that might be supported on such systems.
Paper emphasized that process switching must be efficient for this communication system.