Mon, 24 Apr 2000 10:19:32 -0700 (PDT)


Mailing addr:
9152-F Regents Rd.
La Jolla CA-92037

Office addr:
VLSI CAD Lab (4550)
Applied Physics & Mathematics bldg.


1. Overview of the paper
The paper investigated the inefficiency of the layering operating systems
whose layers(processes) communicated via inter-process messages. It's ineffi-
cient to build data buffering mechanisms to hold the information until the
other processes are scheduled and run. In stead of using the sort of asynchro-
nous communication methodologies, they introduced a synchronous mechanism,
which they called "upcalls". Systems equipped upcalls permit lower layers to
access resources in upper layers. To do this, they changed the traditional
structure of a layer from one task or process to a collection of subroutines
which live in a number of tasks, which are callable from above or below. They
called this structure "multi-task module". So the "upcalls" and "multi-task
module" constitute their contributions. They then enumerated the advantages
of their methodology. The major advantage of upcall structure over downcall
structure they think is that "piggybacking" occurs naturally in the outgoing
packets. And on the other hand, there do exist problems. The major pitfall
is that upcall mechanism violates the concept of layering, which prohibits
the calls from below to above. And of course they came up a lot of techniques
as remedies.

2. Evaluation of the paper
I personally respect their courage to violate the traditional concept of
layering. But as we can see, they made much effort in order to prevent the
side-effect of upcalls. The worst side effect is that if the module implement-
ing the upper layer fails, the lower layer may be left in an inconsistent
state, which may destroy not only the lower layer, but every other client of
the layer. And they never evaluated the overhead of those remedies and compared
it with the traditional approach.

3. Questions to the paper
3.1) I am not sure the definitions of "synchronous" and "asynchronous", though
I can see from the paper that "subroutine calls are synchronous" while "inter-
process signals are asynchronous".

1. Overview of the paper
It is an empirical paper discussing the duality of operaing system structures.
They showed us two mutual categories in the sense of how to use the notions of
processes and synchronization. One category is "Message-oriented Systems" which
consist of a small fixed number of processes with an explicit message system
for communicatiion. The other category is "Procedure-oriented Systems" which
consist of a large, changable number of small processes communicating based on
shared data. They constructed a canonial model for each category and enumerated
the characteristics of each model. They came up with the conclusion that the
two models are able to be mapped to each other exactly, in other words, the two
models are duals of each other. There is another property which is invariant
under the duality mapping, namely the performance of the client system. Thus
they found the basis for preferring one style to the other was in the nature
of the subsrate, i.e., machine architecture and/or programming environment on
which the process and synchronization facilities were implemented.

2. Evaluation of the paper
I think the paper is very helpful in the sense that it can correct the
research directions back onto designing specific systems for the specific hard-
ware architectures. It's also meaningful generally to other Computer Science
research. I believe the great-hearted research are those will be acknowledged
and implemented by industries. That's the reason why I personally don't like
theoretical research activities. I'm sorry if I offensed anybody.

3. Questions to the paper