Track: Performance and Scalability
A Scalable Application Placement Controller for Enterprise Data Centers
- Chunqiang Tang (IBM T.J. Watson Research Center)
- Malgorzata Steinder (IBM Research)
- Michael Spreitzer (IBM Research)
- Giovanni Pacifici (IBM Research)
Given a set of machines and a set ofWeb applications with dynamically changing demands, an application placement controller decides how many instances to run for each application and where to put them, while observing all kinds of resource constraints. This problem is NP hard. In this paper, we propose an online algorithm that uses heuristics to efficiently solve this problem. It allows multiple applications to share a single machine, and strives to maximize the total satisfied application demand, to minimize the number of application starts and stops, and to balance the load across machines. It can produce within 30 seconds high-quality solutions for hard placement problems with thousands of machines and thousands of applications. This scalability is crucial for dynamic resource provisioning in large-scale enterprise data centers. Our algorithm significantly and consistently outperforms the existing state-of-the-art algorithm under a wide variety of workloads.