Exploiting In-Kernel Data Paths to Improve I/O Throughput and CPU Availability
Kevin Fall, Joseph C. Pasquale · 1993
We present the motivation, design, implementation, and performance evaluation of a UNIX kernel mechanism capable of establishing fast in-kernel data pathways between I/O objects. A new system call, splice() moves data asynchronously and without user-process intervention to and from I/O objects specified by file descriptors. Performance measurements indicate improved I/O throughput and increased CPU availability attributable to reduced context switch and data copying overhead. Nov, 1. Introduction Improved computer hardware has enabled the development of complex applications with enormous I/O demands. Providing adequate performance for such applications poses a significant challenge to the operating systems community, especially with the anticipated popularity of multimedia applications and systems. Although both application demands and hardware performance have witnessed great gains in recent years, I/O system software performance has not improved commensurately. Furthermore, funda...