document: A scalable application placement controller for enterprise data centers Given a set of machines and a set of Web applications with dynamically changing demands , an online 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 NP hard problem has real usage in commercial middleware products . Existing approximation algorithms for this problem can scale to at most a few hundred machines , and may produce placement solutions that are far from optimal when system resources are tight . In this paper , we propose a new algorithm that can produce within 30seconds 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 allows multiple applications to share a single machine , and strivesto maximize the total satisfied application demand , to minimize the number of application starts and stops , and to balance the load across machines . Compared with existing state-of-the-art algorithms , for systems with 100 machines or less , our algorithm is up to 134 times faster , reduces application starts and stops by up to 97 % , and produces placement solutions that satisfy up to 25 % more application demands . Our algorithm has been implemented and adopted in a leading commercial middleware product for managing the performance of Web applications .
doc_bio_tags: O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O