Computing and Combinatorics

Volume 3595 of the series Lecture Notes in Computer Science pp 632-643

Server Allocation Algorithms for Tiered Systems

  • Kamalika ChaudhuriAffiliated withComputer Science Division, University of California
  • , Anshul KothariAffiliated withComputer Science Depart, University of California
  • , Rudi PendavinghAffiliated withDepart. of Math. and CS., TU Eindhoven
  • , Ram SwaminathanAffiliated withHP Labs
  • , Robert TarjanAffiliated withHP Labs
  • , Yunhong ZhouAffiliated withHP Labs

* Final gross prices may vary according to local VAT.

Get Access


Many web-based systems have a tiered application architecture, in which a request needs to transverse all the tiers before finishing its processing. One of the most important QoS metrics for these applications is the expected response time for the user. Since the expected response time in any tier depends upon the number of servers allocated to this tier, and a request’s total response time is the sum of the response times at all the tiers, many different configurations (number of servers allocated to each tier) can satisfy the expected response time requirement. Naturally, one would like to find the configuration to minimize the total system cost while satisfying the total response time requirement. This is modeled as a non-linear optimization problem using an open-queuing network model of response time, which we call the server allocation problem for tiered systems (SAPTS).

In this paper we study the computational complexity of SAPTS and design efficient algorithms to solve it. For a variable number of tiers, we show that the decision problem of SAPTS is NP-complete. Then we design a simple two-approximation algorithm and a fully polynomial time approximation scheme (FPTAS). If the number of tiers is a constant, we show that SAPTS is polynomial-time solvable. Furthermore, we design a fast polynomial-time exact algorithm to solve for the important two-tier case. Most of our results extend to the general case where each tier has an arbitrary response time function.