Check out the new USENIX Web site.

Sprite on Mach


Michael D. Kupfer

University of California at Berkeley

Abstract

Sprite is a distributed operating system that supports a fast, single-image network file system and transparent process migration. Over a period of 19 months we ported Sprite to run as a server on top of the Mach 3.0 microkernel. Although the resulting server does not implement some Sprite features, it can run in an existing Sprite cluster, and it supports standard UNIX programs like vi, gcc, and make.

Porting Sprite to Mach was generally straightforward, though there were some difficulties. Many of the problems were related to asynchronous interactions between the Sprite server, Mach, and Sprite user processes. Others resulted from trying to maintain native Sprite's internal interfaces in the Sprite server.

The Sprite server is 22% smaller than an equivalent Sprite kernel, and it contains almost no machine-dependent code. These improvements should significantly simplify porting Sprite to new hardware platforms. Unfortunately, the Sprite server runs the Andrew benchmark at only 38% of the speed of native Sprite. None of the performance problems appears insurmountable, but they could require a long time to track down and fix.


Download the full text of this paper in POSTSCRIPT form (164,183 bytes).

To Become a USENIX Member, please see our Membership Information.