|
Nathan C. Burnett, Ph.D.
Alumnus
Computer Sciences
|
|
Transforming Policies into Mechanisms with Infokernel
Andrea C. Arpaci-Dusseau,
Remzi H. Arpaci-Dusseau,
Nathan C. Burnett,
Timothy E. Denehy,
Thomas J. Engle,
Haryadi S. Gunawi,
James A. Nugent,
Florentina I. Popovici
Department of Computer Sciences,
University of Wisconsin-Madison
Abstract:
We describe an evolutionary path that allows operating systems to be used in a
more flexible and appropriate manner by higher-level services. An infokernel
exposes key pieces of information about its algorithms and internal state;
thus, its default policies become mechanisms, which can be controlled from
user-level. We have implemented two prototype infokernels based on the Linux
2.4 and NetBSD 1.5 kernels, called infoLinux and infoBSD, respectively. The
infokernels export key abstractions as well as basic information primitives.
Using infoLinux, we have implemented four case studies showing that policies
within Linux can be manipulated outside of the kernel. Specifically, we show
that the default file cache replacement algorithm, file layout policy, disk
scheduling algorithm, and TCP congestion control algorithm can each be turned
into base mechanisms. For each case study, we have found that infokernel
abstractions can be implemented with little code and that the overhead and
accuracy of synthesizing policies at user-level is acceptable.
Available as:
Postscript, PDF, BibTeX
|