cse221 evaluation

Qiao XIN (qxin@cs.ucsd.edu)
Tue, 25 Apr 2000 01:45:27 -0700 (PDT)

Qiao Xin


Evaluation of the Paper:
The Structure of System Using Upcalls

This paper discusses a methodology which is calles upcalls and
multi-task module of program strutructure, especially of programs
dealing with communications and networks. The motivation for the
methodology is that most operationg systems failed to provide the
correct runtime support for highly interactive parallel software
packages like protocols.

The methodology use the layed structure similiar to the THE system of
Dijstra. However, it abandons the ineffecient structure coming from
the idea of the natural map from layer to process and uses layers made
of multi-task module. A multi-task module is referred to as
subroutines in different tasks that collaborate with each other
through state variables stored in shared memory. In addition,
subroutines is callable as appropriate from above or below to support
upcalls. Advantages includes:

1. It provides a more friendly layer interface since only subroutine
interfaces are exported.
2. It eliminates the temptation of architecturing a systemwide
codification of the format or usage of an intertask message.
3. It allows late decisions about how tasks are used or change of
decisions.

An upcall is an subroutine call which is synchronous to implement the
downward natural control of flow replacing the traditional way such
as the cumbersome interprocess communication signal which is
asynchronous. It turns out that in a network
protocals, sending as well as receiving a packet is properly
structured using upcalls. Benefits from this methodology are:

1. Synchronous flow is efficient. Subroutine call is substantially
cheaper since it avoids costs such as building data buffering.
2. Implementation is simple due to the ability of one layer to ask
advice of a layer above it and the simplification in the internal
algorithms implemented by each layer.

Despite of the performance gained, this structure does have some
problems. The important ones are techniques must be provided to
control the propagation of the failure of an upcalled module and
avoidance of indirect recursive calls. Though a number of ways are
given in the paper, none of them are satisfiable and they can be
achieved only with the aid of competent programmers.


Evaluation of the Paper:
On the Duality of Operating Systems

This paper investigates the class of operationg systems via properties
of concepts of process, synchronization, and interprocess
communication within the system and among their clients. Two
catogories come out. One is messaged-based system and the other is
procedure-based system. Two idealized models are explained to compare
the two structures. Observations are:

Message-based procedure-based
-----------------------------------------------------------------------
small, static number of large, dynamic number of
big processes small processes

communcates with messages communicates with direct sharing
and limited amount of sharing and interlocking of data in memory
data in memory

identification of address space identification of the context with
or context with processes the function being executed

no need for protection mechanism characterized by protection

processes associated with system system resources encoded in common
resources and applications encoded or globe data and applications
into data in messages associated with processes

Conclusions based on the observations are.

1. The two styles of system design are duals of each other. This is
proved by giving a mapping between the basic system facilities and
canonical styles for resource managers.
2. The logical of the programs in the dual system is invariant. This
means,(1) A client system or subsystem written in the one style of
the standard resource managers can be transformed directly into the
other system by replcing each construct with its corresponding
one. (2) It is possible to embed the primitive synchronization and
process facilities of the message-oriented system in strong-typed
language.
3. The performance of a program or subsystem are the same between the
dual system given identical scheduling strategies and the primitive
operations provided by the operationg system of one model can be
made the same efficient.
4. Neither model is inherently preferable, and the main consideration
for choosing between them is the nature of the machine architeture
upon which the system is built.

Though the observation and the conclusion in the paper is
reasonable. A coveat here is all of the above is based on the author's
empirical model. Most systems in reality tend to be biased fairly
strongly in favor of one or the other. More studies need to be done in
terms of systems in reality.