Browsing by Author "Banga, Gaurav"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item Operating system support for server applications(1999) Banga, Gaurav; Druschel, PeterGeneral-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, server applications cannot provide differentiated quality of service to requests from different clients. The root cause of these problems is a fundamental mismatch between the original design assumptions underlying the resource management mechanisms of current general-purpose operating systems, and the behavior of modern server applications. In particular, the notions of protection domain and resource principal coincide in the process abstraction of current operating systems. Moreover, these operating systems provide insufficient control to an application over the resources that are consumed inside the kernel on behalf of the application. These aspects of current operating systems prevent a server process that manages large numbers of network connections, for example, from properly allocating system resources among those connections. This dissertation addresses the lack of operating system support for fine-grained resource management in large-scale server systems. It starts by characterizing the nature of the mismatch between the design assumptions of current general-purpose operating systems, and the behavior of server applications. The traditional design of core operating system abstractions and APIs is reevaluated in the light of the requirements of server applications. This reevaluation leads to a set of novel operating system abstractions and APIs that serve to provide effective support for server applications.Item Operating system support for server applications(1999-05-25) Banga, GauravGeneral-purpose operating systems provide inadequate support for large-scale servers. Server applications lack sufficient control over scheduling and management of machine resources, which makes it difficult to enforce priority policies, and to provide robust and controlled service. For example, server applications cannot provide differentiated quality of service to requests from different clients. The root cause of these problems is a fundamental mismatch between the original design assumptions underlying the resource management mechanisms of current general-purpose operating systems, and the behavior of modern server applications. In particular, the notions of protection domain and resource principal coincide in the process abstraction of current operating systems. Moreover, these operating systems provide insufficient control to an application over the resources that are consumed inside the kernel on behalf of the application. These aspects of current operating systems prevent a server process that manages large numbers of network connections, for example, from properly allocating system resources among those connections. This dissertation addresses the lack of operating system support for fine-grained resource management in large-scale server systems. It starts by characterizing the nature of the mismatch between the design assumptions of current general-purpose operating systems, and the behavior of server applications. The traditional design of core operating system abstractions and APIs is reevaluated in the light of the requirements of server applications. This reevaluation leads to a set of novel operating system abstractions and APIs that serve to provide effective support for server applications.Item The design and implementation of a new network subsystem architecture for server systems(1998) Banga, Gaurav; Druschel, PeterThe 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.