Transforming policies into mechanisms with infokernel

  • Authors:
  • 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

  • Affiliations:
  • University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison;University of Wisconsin - Madison

  • Venue:
  • SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

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 linuxtwofour and netbsdver 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.