page 1  (19 pages)
2to next section

The Synthesis Kernel

by

Calton Pu, Henry Massalin, and John Ioannidis
Department of Computer Science
Columbia University
New York, NY 10027

Abstract

The Synthesis distributed operating system combines efficient kernel calls with a high-level, orthogonal interface. The key idea is the use of a code synthesizer in the kernel to generate specialized (thus short and fast) kernel routines for specific situations. We have three methods to synthesize code: Factoring Invariants to bypass redundant computations; Collapsing Layers to eliminate unnecessary procedure calls and context switches; and Executable Data Structures to shorten data structure traversal time. Applying these methods, the kernel call synthesized to read /dev/mem takes about 15 microseconds on a 68020 machine. A simple model of computation called a synthetic machine supports parallel and distributed processing. The interface to synthetic machine consists of six operations on four kinds of objects. This combination of a high-level interface with the code synthesizer avoids the traditional trade-off in operating systems between powerful interfaces and efficient implementations.