Improving IPC by kernel design
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Operating system support for high-speed networking
Operating system support for high-speed networking
Effects of buffering semantics on I/O performance
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
IO-Lite: a unified I/O buffering and caching system
ACM Transactions on Computer Systems (TOCS)
High-Performance Web Site Design Techniques
IEEE Internet Computing
High-Performance Memory-Based Web Servers: Kernel and User-Space Performance
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
Container shipping: a uniform interface for fast, efficient, high-bandwidth i/o
Container shipping: a uniform interface for fast, efficient, high-bandwidth i/o
An Efficient Zero-Copy I/O Framework for UNIX
An Efficient Zero-Copy I/O Framework for UNIX
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Hi-index | 0.00 |
In this paper we propose a new method of data handling for web servers. We call this method Network Aware Buffering and Caching (NABC for short). NABC facilitates reduction of data copies in web server's data sending path, by doing three things: (1) Layout the data in main memory in a way that protocol processing can be done without data copies (2) Keep a unified cache of data in kernel and ensure safe access to it by various processes and kernel and (3) Pass only the necessary meta data between processes so that bulk data handling time spent during IPC can be reduced. We realize NABC by implementing a set of system calls and an user library. The end product of the implementation is a set of APIs specifically designed for use by the web servers. We port an in house web server called SWEET, to NABC APIs and evaluate performance using a range of workloads both simulated and real. The results show a very impressive gain of 12% to 21% in throughput for static file serving and 1.6 to 4 times gain in throughput for lightweight dynamic content serving for a server using NABC APIs over the one using UNIX APIs.