Title :
Efficient and safe execution of user-level code in the kernel
Author :
Zadok, Erez ; Callanan, Sean ; Rai, Abhishek ; Sivathanu, Gopalan ; Traeger, Avishay
Abstract :
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 spin-locks 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%.
Keywords :
operating system kernels; program compilers; hardware-based technique; kernel-mode application; software-based techniques; user-level code; Application software; Electric fences; Kernel; Linux; Monitoring; Protection; Runtime; Safety; Switches; Testing;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International
Print_ISBN :
0-7695-2312-9
DOI :
10.1109/IPDPS.2005.189