Beltway Buffers: Avoiding the OS Traffic Jam
The authors introduce a novel system-wide buffer management system based on extensive use of ring buffers. The system provides all well-known primitives (sockets, file descriptors and pipes) to support legacy applications. Beltway buffers are operating system I/O paths optimized for high-throughput network applications. The key architectural feature of beltway buffers is that all I/O takes place in long-lived, allocation-free, shared ring-buffers. Advantages of this design are improved throughput through system-wide copy, context-switch and allocation avoidance and judicious use of the data cache, transparent integration of peripheral hardware and simplicity and familiarity due to comprehensive use of the POSIX file interface for accessing streams.