sprite

Syed Adnan (sadnan@ucsd.edu)
Thu, 04 May 2000 01:25:10 -0700

Name: Syed Adnan
Date: 5-3-00

The Sprite Network OS

The goal of Sprite OS is to design a high performance multiprocessor, networked workstation using special hardware support. Motivation for some of the design was to be able to utilize the hardware, which is in frequent use. Most of the computing is occurring in workstation with large physical memories. It is not hard to find (not cheap) workstation with multiple processors; therefore, it is natural to design an operating system that utilizes these advances in hardware more efficiently. One of the goals of the Sprite is to capitalize on these hardware technologies.
In order to achieve its goals, Sprite provides three facilities. A transparent network file system, a simple mechanism for sharing write able memory, and a mechanism for migration processes between workstations to take advantages of idle machines are the three facilities which utilize the hardware on the network efficiently.
Kernel has some interesting features to support these facilities.
RPC is a facility allows any workstation's kernel to invoke operations on any other machine, and this facility is helpful in distributing a problem among different workstations in terms of programming. Sprite file system is transparent across the system that there is no distinction where the file is located to the user which uses a tree like hierarchy for domains to support this. System use client side cashing to reduce the network traffic, and depends much on large chunks of physical memories to support. Virtual memory uses files for back storage, and since files are transparent over the network it really helps process migration over the network with relatively less traffic.
For process communication, shared memory is used which proved to be faster, and more natural to solve problems with compare to messages. Synchronization among processes is done through mutual exclusion and sleep wait commands. Multithreading is provided in the kernel to support multiprocessing better in the system by many small lock mechanisms.
Process migration is nicely supported in the system using back storage file facilities that make it faster to and simpler. Sprite kernels keep same environment, and that helps migrating processes on to different machines. This system does provide flexibility, and performance that it is implemented and several test been run on this system. It does provide a complete transparency in files and processes.
Paper is easy to read and understand, and it does talk about the future of computing.