Check out the new USENIX Web site.

USENIX Home . About USENIX . Events . membership . Publications . Students
VM '04 — Abstract

Pp. 83–96 of the Proceedings

Kernel Plugins: When a VM Is Too Much

Ivan Ganev, Greg Eisenhauer, and Karsten Schwan, Georgia Institute of Technology


This paper presents kernel plugins, a framework for dynamic kernel specialization inspired by ideas borrowed from virtualization research. Plugins can be created and updated inexpensively on-the-fly and they can execute arbitrary user-supplied functions such that neither safety nor performance are compromised. Three key techniques are used to implement kernel plugins: (1) hardware fault isolation, (2) dynamic code generation, and (3) dynamic linking. Hardware fault isolation protects kernel-level services from plugin misbehavior, dynamic code generation enables rapid online creation of arbitrary plugins, and dynamic linking governs the kernel/plugin interface.

We discuss the design and implementation of the kernel plugin facility, as well as its advantages and shortcomings. Its use is demonstrated by a range of micro- and macro-benchmarks and a real-life application featuring plugins that dynamically transcode images served by a high-performance kernel web server. Benefits realized from plugins can be both qualitative (adapting services to clients' needs), and quantitative (improving performance through co-location of application plugin code with kernel services). Plugins are implemented in GNU/Linux on the Intel x86 platform. Reported performance results include plugin upcalls in 0.45-0.62 $\mu S$, dynamic code generation in 4 $mS$, and linking/unlinking in 3.1/1.6 $\mu S$ for an image grayscaling plugin - a dynamically code generated 66-line function written in a subset of C. All results are measured on an 866 MHz Pentium III.

  • View the full text of this paper in HTML and PDF.
    Click here if you have forgotten your password Until May 2005, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2004 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.

  • If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
To become a USENIX Member, please see our Membership Information.

?Need help? Use our Contacts page.

Last changed: 3 May 2004 ch
Technical Program
VM '04 Home