IO-Lite: A Unified I/O Buffering and Caching System


Authors


Vivek S. Pai, Peter Druschel, Willy Zwaenepoel

Abstract


This paper presents the design, implementation, and evaluation of IO-Lite, a unified I/O buffering and caching system for general-purpose operating systems. IO-Lite unifies all buffering and caching in the system, to the extent permitted by the hardware. In particular, it allows applications, interprocess communication, the filesystem, the file cache, and the network subsystem to share a single physical copy of the data safely and concurrently. Protection and security are maintained through a combination of access control and read-only sharing. The various subsystems use (mutable) buffer aggregates to access the data according to their needs. IO-Lite eliminates all copying and multiple buffering of I/O data, and enables various cross-subsystem optimizations. Experiments with a Web server on IO-Lite show performance improvements between 40 and 80% on real workloads.

Published
As


In Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI'99)
New Orleans, LA, February 1999

Download


gzip'd Postscript (15 pages, 77 kB)
gzip'd Postscript talk slides (29 pages, 50 kB)
BibTex


NSG Home, NSG Papers