VM '04 Abstract
Pp. 8396 of the Proceedings
Kernel Plugins: When a VM Is Too Much
Ivan Ganev, Greg Eisenhauer, and Karsten Schwan, Georgia Institute of Technology
Abstract
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 , dynamic code generation
in 4 , and linking/unlinking in 3.1/1.6 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.
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.
|