Decentralized allocation of CPU computation power for web applications

  • Authors:
  • Shrutivandana Sharma;Asser Tantawi;Michael Spreitzer;Malgorzata Steinder

  • Affiliations:
  • Yahoo! Labs, Bangalore, 560071, India;IBM T.J. Watson Research Center, Hawthorne, NY, 10532, USA;IBM T.J. Watson Research Center, Hawthorne, NY, 10532, USA;IBM T.J. Watson Research Center, Hawthorne, NY, 10532, USA

  • Venue:
  • Performance Evaluation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

With increasing demand for web services, the efficient management of web server resources is becoming increasingly important for the delivery of a desired quality of service to the customers. The diversity and scale of web services make the task of resource management challenging for several reasons. Since a number of different enterprizes are involved in offering web services to the customers and providing resources (e.g. virtual machines in a cloud) to host service applications, the information in such systems is highly decentralized. In these systems it is difficult for any one entity to have centralized information about the customer service contracts of all service providers and the infrastructure of all server owners. It is also often impossible to know all of above information due to privacy issues of various enterprizes. For these reasons it is desirable to have decentralized resource management in such systems. In this paper we investigate decentralized allocation of Central Processing Unit (CPU) computation power of server nodes among multiple service applications. Each application is provided at multiple grades of service with each grade offering a different average response time for the service. Each application is hosted on a group of server nodes. For a given application placement on the server nodes, the goal is to allocate the CPU computation power of these nodes among the applications so as to maximize the aggregate utility of all applications. We present an analytical formulation of the above problem and propose a decentralized algorithm for solving it. In the proposed algorithm each application and each server node performs local optimization based on its own information and does not need to reveal its private information. It is shown that with limited communication between applications and server nodes, the algorithm obtains an optimum centralized CPU allocation.