Out of User Space Storage and RDMA
Michael Ko, Renato John Recio, Claudia Salzberg · 2006
User space applications must invoke kernels calls in order to have the operating system handle file system and device driver processing for storage requests. There is a high overhead associated with such calls, including the processing of suspending, scheduling and dispatching threads, interrupts, cache misses, etc. The overhead contributes to wasted processor cycles because all work on the thread being switched is stopped until the task switch is complete. The problem is worse for applications with a high storage I/O to compute ratio. Alternatives to enable user space applications to pass storage requests directly to I/O adapters without run-time involvement from the operating system would eliminate this overhead