Efficient and Safe Execution of User-Level Code in the Kernel

  • Authors:
  • Erez Zadok;Sean Callanan;Abhishek Rai;Gopalan Sivathanu;Avishay Traeger

  • Affiliations:
  • Stony Brook University;Stony Brook University;Stony Brook University;Stony Brook University;Stony Brook University

  • Venue:
  • IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 10 - Volume 11
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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 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%.