Off-campus UMass Amherst users: To download dissertations, please use the following link to log into our proxy server with your UMass Amherst user name and password.

Non-UMass Amherst users, please click the view more button below to purchase a copy of this dissertation from Proquest.

(Some titles may also be available free of charge in our Open Access Dissertation Collection, so please check there first.)

Resource allocation for self -managing servers

Abhishek Chandra, University of Massachusetts Amherst


The proliferation of diverse Internet applications has resulted in the advent of Internet data centers: shared server platforms that rent server resources to multiple client applications. The effective allocation of server resources in these platforms is a challenging task due to wide variations commonly observed in Internet workloads. Traditional approaches to resource allocation in Internet data centers, such as resource over-provisioning and manual allocation, are known to be inefficient and error-prone. The limitations of these approaches can be overcome by employing self-managing servers : servers that automate resource allocation and adapt to changing application workloads. This dissertation examines the challenges involved in the design of self-managing servers. In order to enforce application resource requirements in the server resources, a self-managing server needs to employ operating system mechanisms such as proportional-share schedulers. In this dissertation, we show that existing proportional-share schedulers have severe limitations in multiprocessor environments. We propose surplus fair scheduling and deadline fair scheduling, two novel scheduling algorithms that overcome these limitations. We demonstrate through a Linux kernel implementation that these algorithms achieve proportional allocation in real environments. We also present a hierarchical scheduling algorithm that achieves proportional-share allocation for multi-threaded applications in multiprocessor environments. To use proportional-share scheduling mechanisms effectively, a self-managing server needs to employ dynamic resource allocation techniques. These techniques determine application resource shares in the presence of changing workloads. In this dissertation, we present a measurement-based approach for dynamic resource allocation that uses online workload measurements to allocate resources to applications. This approach employs a transient queuing model coupled with a utility-based optimization technique to allocate resources to multiple applications under resource constraints. This technique has the advantage that its parameters do not need to be determined a priori, and it automatically adapts to changing application workload demands. Finally, using Web workload trace analysis, we explore the impact of resource allocation parameters on the resource utilization benefits of dynamic resource allocation. Our results indicate that short time-scales coupled with fine-grained resource allocation provide the most efficient resource usage in a data center.

Subject Area

Computer science

Recommended Citation

Chandra, Abhishek, "Resource allocation for self -managing servers" (2005). Doctoral Dissertations Available from Proquest. AAI3163657.