2004 Symposium on Applications and the Internet (SAINT'04)
DNS: Disk-to-Network Splicing for Network Driven Data Transferring
Tokyo, Japan
January 26-January 30
ISBN: 0-7695-2068-5
In Internet servers that run on general-purpose operating systems, network subsystems and disk subsystems cooperate with each other for user requests. Many studies have focused on optimizing the data movement across the subsystems to reduce data copying overhead among intermediate buffers such as process buffers, network send buffers and disk buffers. When data are moved across the subsystems, events such as read requests and write requests for data movement are also delivered across the subsystems by the servers and operating systems. However, there have been fewer studies on the optimization of event delivery which controls data copying timing across the subsystems. In conventional operating systems, to transfer data in the disk subsystem into the network subsystem, several different contexts are involved. A series of events are passed through the contexts. Whenever an event in one context is passed into the other context, context switching and scheduling are incurred. We have developed inter-subsystem event delivery mechanism, disk-to-network splicing (DNS), that optimizes event delivery among the subsystems involved to suppress scheduling and context switching during I/O request processing. We developed an DNS mechanism and performed experiments on Linux 2.4. The experimental results show that the system performance is improved by 4.9% - 10.1%.