(no subject)

Brian TAM (btam@cs.ucsd.edu)
Thu, 20 Apr 2000 05:20:34 -0700 (PDT)

Brian Tam
spring 2000
paper evaluations

"StarOS, a Multiprocessor Operating System for the Support of Task Forces"

Many processors and memories can be interconnected to construct a powerful,
cost-effective computer. Realizing the potential benefits offered by such
configurations requires software that will exploit the hardware effectively.
StarOS is among the first such system solutions that rise to the challenge.
It introduces the notion of a task force, a collection of many synchronously
executing processes that cooperate to accomplish a single task. The objectives
of the paper are to determine whether task force software can bring about the
potential benefits of multiprocessors, specifically the Cm* multi-
microprocessor, and to understand the design issues related to OS facilities
that support task forces.
StarOS is an object-oriented system, where objects are the basis for
program construction and the dynamic creation of processes. It is also a
message-based system, providing mechanisms such as events and mailboxes to
support rapid message communication among processes, thereby allowing
concurrent, and possibly parallel, execution of processes whenever feasible.
Computations can now be decomposed into smaller parts, each worked on by a
separate process executing in parallel with others, thereby achieving cost
performance or even absolute performance. Reliability is achieved since the
task is decomposed such that failure of one process does not prevent the entire
task from completing. Adaptability is also possible where data structures are
separately addressable and processes are duplicated.
The authors offered as demonstration of a task force that was made to run
successfully the StarOS nucleus itself. While satisfying the requirement for
at least one example of a working implementation of the design philosophy
presented in the paper, the authors could have made their case more solid with
at least one task force accomplishing a "real-world" problem. The problem
would demonstrate how effectively task forces can decompose a task into parts
that can be run in parallel so as to complete faster. This is one experiment
that could be carried out in future work on this system.

"Medusa: An Experiment in Distributed Operating System Structure"

Besides StarOS, another operating system designed for the Cm*
multimicroprocessor is Medusa, an attempt to capitalize on architectural
features for high performance. The stated goal behind building Medusa was to
gain an understanding of how to build distributed operating systems and to
exploit the hardware to produce a system organization with modularity,
robustness, and performance.
Cm* is distributed hardware, with each processor having a small set of
local resources that are immediately and efficiently accessible. There are
also powerful interprocessor communication facilities that permit a variety of
communication mechanisms to be implemented, facilitating shared memory support.
These features of the hardware influenced the structure of Medusa, which is
characterized by a distributed control structure and the task force (in the
sense of StarOS above) as the central unit of control.
The authors were not done testing all the utility code for Medusa. While
the outcome of such testing might have demonstrated the robustness of the
system, the absence of such rigor diminishes much of the impact of what the
authors present. Until they can satisfy this point, there will be the nagging
possibility that a flaw in the design may surface to cause rethinking of the
entire design philosophy.