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
David Maier, and
on the development of next-generation
software in the following projects.
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.
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.
We are applying the specialization technology to multimedia
applications. Quasar is concerned with end-to-end quality of service
in large-scale systems.
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
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: