StarOS and Medusa Papers evaluations.

Sobeeh@aol.com
Thu, 20 Apr 2000 05:49:11 EDT

---------
StarOS
---------

The paper describes the StarOS operating system. The StarOS is an object oriented system with the design influenced by the Cm* multi-microprocessor. By designing the system as a task force and providing the ability to support task forces, system initialization along with user software can be performed efficiently by maximizing the usage of the available parallelism. With hardware components prices going down, the idea came to develop a powerful computer that gives a potential increase in the cost-performance measure by exploiting the parallelism inherited in distributive systems. StarOS is a message-based system in which processes my frequently send messages. Communication between processes where achieved via mailboxes. The object-oriented design of the system gave an easy and effective protection mechanism that follows the Hydra capabilities method.
The Cm* multi-miniprocessor architecture is similar to network topologies that we have today. The communication is achieved without having all the clusters to be connected to each other directly. All the primary memory in the system is potentially accessible to each processor giving the illusion of a single large memory. Memory references made by any of the processors in any cluster are found on local memory, intracluster or intercluster and are served with different time spans. The idea in memory references is similar to caches, memory and disks in current design that yields a non-deterministic memory access time.
By decomposing the StarOS as an example of a task force, the authors gave a good example on how a task can be decomposed into multiple processes. The paper presented a multiprocessor architecture that gave their operating system the power to perform multiprocessing. The object-oriented design of the system gave an easy and effective protection mechanism.

----------
Medusa
----------

The paper describes the Medusa operating system, a highly distributed system structure that closely matches the hardware of Cm* multi-microprocessor. Medusa is highly related to StarOS but the design emphasizes the structure rather than the facilities. The system deals with task forces and was designed as one. System is divided into utilities where each of them may be run concurrently.
Most of the performance is degraded in distributive systems by communication between modules. Medusa reduces the interaction and communication between models by eliminating the need of transferring code information between different processors. By placing fixed utilities in fixed processors, a module will invoke the processor containing the desired utility (or module) to execute. The parameters for the module are passed and the execution on them is made locally on the remote processor containing the utility. The result is sent back to the requesting module. This way, the overall execution time (the measure of performance) is less than the case where we would have needed to transfer the utility to the processor requesting the execution of the utility.
The system support pipes in which messages can be sent between different modules on different processors. The use of messages for communication rather than a shared memory guaranteed communication without any side effects from the sender. The distribution and sharing in the hardware led to the partitioning and communication in the software.
The system was designed to be robust. Being fault tolerant is in every aspect of the design of the system (reducing communication, size of task forces, using messages, exception handler, . . ). With the developer effort on achieving the best possible concurrency in execution and reliability in the system, the distribution and reliability are roughly left as a result of the user program design.

-------------------
Sobeeh Almukhaizim
sobeeh@cs.ucsd.edu
-------------------