An operating system (OS) maps a model of computation, defined by
its kernel interface, into the underlying hardware. In a previous
project Synthesis, techniques including dynamic code
generation and software feedback were used in the
implementation of an operating system. For example, frequently executed
kernel calls are custom-made at run-time using compiler code optimization
ideas such as constant folding and macro expansion. Another example
is fine-grain scheduling, which uses feedbacks implemented in software
to adjust system resource management policies, self-tuning the kernel
to load changes. It has been demonstrated that several to several
dozen times speedup for UNIX kernel calls has been achieved
by applying these optimization techniques in Synthesis.
Based on the experience with the Synthesis kernel,
Dr. Pu has been working with
Jonathan Walpole,
Charles Consel,
Andrew Black,
Crispin Cowan,
Dylan McNamee,
David Maier, and
David Steere
on the development of next-generation
software in the following projects.
-
Synthetix project
The goal is to achieve high performance, portability and adaptiveness
at the same time. Our approach based on Specialization combines
fine-grain modularity, incremental partial evaluation, and a software
feedback toolbox to generate systematically and manage multiple
implementations for the same abstract interface.
-
Immunix project
Using specialization, both as a concept and software toolkit, we are
applying Synthetix technology to improve the survivability of
large-scale information systems, starting from the operating system.
-
Quasar project
We are applying the specialization technology to multimedia
applications. Quasar is concerned with end-to-end quality of service
in large-scale systems.
-
Heterodyne project
We are working on the application of specialization technology to make
large scale software systems more survivable and adaptive.
We are looking for good people to join our project and work with us.
We would like to hear from you, if you are interested in a postdoc,
research programmer, or graduate student assistant positions. See our
job ad for more information.
Our project is also closely related to the
Aspect-Oriented Programming
project at
Xerox PARC .
Specialization of OS modules can be seen as a way to build reflective
modules for an encapsulated OS interface.
DARPA PI meeting talk on the Synthetix project:
slides.