The design and implementation of a log-structured file system
ACM Transactions on Computer Systems (TOCS)
TCP/IP illustrated (vol. 1): the protocols
TCP/IP illustrated (vol. 1): the protocols
Lazy receiver processing (LRP): a network subsystem architecture for server systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
IO-lite: a unified I/O buffering and caching system
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Resource containers: a new facility for resource management in server systems
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Better operating system features for faster network servers
ACM SIGMETRICS Performance Evaluation Review
A Dynamic Approach for Efficient TCP Buffer Allocation
IEEE Transactions on Computers
An evaluation of TCP splice benefits in web proxy servers
Proceedings of the 11th international conference on World Wide Web
UCFS-A Novel User-Space, High Performance, Customized File System for Web Proxy Servers
IEEE Transactions on Computers
NIST Net: a Linux-based network emulation tool
ACM SIGCOMM Computer Communication Review
An analysis of TCP reset behaviour on the internet
ACM SIGCOMM Computer Communication Review
ECEM: an event correlation based event manager for an I/O-intensive application
Journal of Systems and Software
Understanding The Linux Kernel
Understanding The Linux Kernel
Managing prefetch memory for data-intensive online servers
FAST'05 Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies - Volume 4
Scalable kernel performance for internet servers under realistic loads
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Analysis on disk scheduling for special user functions
IEEE Transactions on Circuits and Systems for Video Technology
Hi-index | 14.98 |
Most Internet services, including Web, FTP, and streaming, have been realized on top of TCP, which is the de facto protocol for data delivery over the Internet. Therefore, in order to achieve high-performance data delivery over TCP, we thoroughly analyze TCP-based data delivery and identify three critical mismatches in a general file system design while supplying data to TCP. The first is the frequent sleeping/waking up of a server process that accompanies excessive context switching overheads due to processing TCP data and ACK segments in different contexts. The second is the inefficient uniform data prefetching for TCP connections, irrespective of their characteristics such as bandwidth, latency, and the status of a send buffer. The third is inefficient disk access due to the ignorance of abrupt changes in TCP connections. As a remedy to these mismatches, we newly design a TCP-plugged file system (TPF) which is comprised of three novel mechanisms, each of which relieves the identified mismatches, integrated data sending routine, TCP aware data prefetching, and eager disk request cancellation. With these mechanisms, TPF becomes capable of supplying data managed by a file system to TCP connections timely and seamlessly and becomes reactive to abrupt changes in TCP connections. As a consequence, TPF provides minimal context switching overhead, high buffer utilization, and highly effective disk access utilization. We have implemented and tested the mechanisms in Linux 2.4. The experimental results show that the number of context switching is reduced by up to 40 percent and the overall system performance is improved by 3-34 percent.