UW-Madison Logo

The ADvanced Systems Laboratory (ADSL)
Publication abstract

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


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