Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!sdcsvax!darrell From: CALTON@CS.COLUMBIA.EDU (Calton Pu) Newsgroups: comp.os.research Subject: OS contacts (Synthesis) Message-ID: <4561@sdcsvax.UCSD.EDU> Date: 30 Jan 88 21:45:40 GMT Sender: darrell@sdcsvax.UCSD.EDU Lines: 42 Approved: mod-os@sdcsvax.uucp The Synthesis Operating System Contact: Calton Pu Department of Computer Science Columbia University New York, NY 10027 (212) 280-8110. Electronic address: calton@cs.columbia.edu ___________________________ Current status: We are implementing the first "internal production" version for two applications: a database system and a Unix emulator. We are designing the networking and distribution aspects of the system. Naturally, we will have a distributed database and distributed Unix following it. _____________________ Publications: Our first paper made the first issue of the new Usenix journal, "Computing Systems" (volume 1, number 1, page 11, Winter 1988). The Synthesis Kernel By C. Pu, H. Massalin and J. Ioannidis 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.