CSE221 StarOS and Medusa

Andreas Anagnostatos (aanagnos@cs.ucsd.edu)
Thu, 20 Apr 2000 01:34:55 -0700

John K. Ousterhout, Donald A. Scelza, and Pradeep S. Sindhu, "Medusa: An
Experiment in Distributed Operating Systems Structure".

Medusa is an operating system designed for the Cm* multiprocessor
system. The operating system is designed to closely match the underlying
hardware while concentrating on performance, robustness and modularity.
All programs are divided into functional units called task forces whose
responsibilities are independent from each other. Task forces are a
collection of cooperating programs called activities. Activities can
share memory space but task forces must communicate with each other
using messages. There are five system utilities: the memory manager, the
file system task force, the task force manager, the exception reporter
and the debugger/tracer.

In the section that describes a possible implementation for a compiler,
it seems that the steps required are more or less sequential (at least
from the figure), so a parallel multiprocessor system would have little
to gain by assigning each step to a separate processor. Also, since
Medusa tries to provide coscheduling for the activities of a task force,
most processors running parts of the compiler would be wasted.

Jones, Chansler, Durham, Schwans, and Vegdahl, "StarOS, a Multiprocessor
Operating System for the Support of Task Forces".

StarOS is yet another attempt to create an Operating System for the Cm*
multiprocessor architecture, which was actually designed before the
Medusa system. We again have the notion of task forces, defined as a
group of processes working together to accomplish a single task. StarOS
provides Mailboxes for the communication of parallel processes, much
like Medusa's messaging scheme. The system is also designed to deal with
possible failures, by reconfiguring its behavior in real time.

Reading this paper second, I expected a much simpler and less efficient
system than Medusa, since it was designed two years prior. Instead, the
same functionality is present in both systems with minor differences
mainly in the protection mechanism and task force scope. It is hard to
draw conclusions as far as which system is better with respect to
performance or robustness, since none of the two systems where finished
at the times the papers where written.