19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 10
Efficient and Safe Execution of User-Level Code in the Kernel
Denver, Colorado
April 04-April 08
ISBN: 0-7695-2312-9
This project has two goals. The first goal is to improve application performance by reducing context switches and data copies. We do this by either running select sections of the application in kernel-mode, or by creating new, more efficient system calls. The second goal is to ensure that kernel safety is not violated when running user-level code in the kernel. We do this by implementing various hardware- and software-based techniques for runtime monitoring of memory buffers, pointers, as well as higher-level, OS-specific constructs such as spinlocks and reference counters; the latter techniques can also be used for code written specifically for the OS.We prototyped several of these techniques. For certain applications, we demonstrate performance improvements as high as 80%. Moreover, our kernel safety checks show overheads that are as little as 2%.
Citation:
Erez Zadok, Sean Callanan, Abhishek Rai, Gopalan Sivathanu, Avishay Traeger, "Efficient and Safe Execution of User-Level Code in the Kernel," ipdps, vol. 11, pp.221a, 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 10, 2005