The design and implementation of a new network subsystem architecture for server systems
Master of Science
The explosive growth of the Internet, the widespread use of WWW-related applications, and the increased reliance on client-server architectures places interesting new demands on network servers. In particular, the operating system running on such systems needs to manage the machine's resources in a manner that maximizes and maintains throughput under conditions of high load. In this thesis, I present a study of the impact of the architecture of a network subsystem and the performance of network applications under heavy load. My study indicates that traditional network subsystems, which are based on an interrupt-driven architecture, give strictly highest priority to the processing of incoming network packets. Under high load, this leads to scheduling anomalies, decreased throughput and potential resource starvation of applications. Moreover, such systems become unstable under overload. I propose and evaluate a new network subsystem architecture called Lazy Receiver Processing (LRP) that provides improved fairness, stability, and increased throughput under high network load. This network subsystem architecture is based on lazy processing of packets at the priority of the receiver application. The architecture is hardware independent and does not degrade network latency or bandwidth under normal load conditions. In evaluating the effect of LRP on WWW server performance, I discovered that existing benchmarks are unable to generate request traffic that exceeds the capacity of the server. Thus, these benchmarks cannot overload a server. I developed a new method for Web traffic generation which can generate bursty traffic, with peak loads that exceed the capacity of the server.
Electronics; Electrical engineering; Computer science