Kernel Plugins: When a VM Is Too Much.

VM'04: Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3(2004)

引用 18|浏览13
暂无评分
摘要
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 µ S , dynamic code generation in 4 mS , and linking/unlinking in 3.1/1.6 µ 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.
更多
查看译文
关键词
dynamic code generation,kernel plugins,hardware fault isolation,dynamic kernel specialization,high-performance kernel web server,kernel plugin facility,kernel service,application plugin code,plugin interface,plugin misbehavior
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要