Stream-Packing: Resource Allocation in Web Server Farms with a QoS Guarantee (Extended Version)

Current web server farms have simple resource allocation models. One such model used is to dedicate a server or a group of servers for each customer. Another model partitions physical servers into logical servers and assigns one to each customer. However, both these approaches prevent resource sharing and reduce the ability to handle peak loads except at the cost of having to reserve resources that will lie idle most of the time. Yet another model allows customers to be hosted on multiple servers by using load-balancing techniques to distribute incoming requests. This implies that every customer's application must reside and remain active on multiple servers. For complex applications, this approach uses up significant server resources.

We propose a new approach that improves resource utilization through sharing but does not suffer from the drawbacks of existing schemes. Customer load is expressed using a multidimensional probability distribution. The goal is to assign each customer to a server so as to minimize the total number of servers needed to host all the customers. We model it as a stochastic vector packing problem, which is an NP-hard problem. We use the notion of complementarity of customers in simple heuristics to find approximate solutions to this problem. The proposed method, called stream-packing, generates a resource allocation plan while guaranteeing a QoS to each customer.

Simulation results show significant reduction in total resource requirements needed to provide similar QoS as offered by current schemes.

By: Johara Shahabuddin, Abhay Chrungoo, Vishu Gupta, Sandeep Juneja, Sanjiv Kapoor, Arun Kumar

Published in: Lecture Notes in Computer ScienceBerlin, Germany, Springer-Verlag, vol.2238, p.182-91 in 2001

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to reports@us.ibm.com .