TY - JOUR
T1 - Resource overbooking and application profiling in a shared internet hosting platform
AU - Urgaonkar, Bhuvan
AU - Shenoy, Prashant
AU - Roscoe, Timothy
PY - 2009/2/1
Y1 - 2009/2/1
N2 - In this article, we present techniques for provisioning CPU and network resources in shared Internet hosting platforms running potentially antagonistic third-party applications. The primary contribution of our work is to demonstrate the feasibility and benefits of overbooking resources in shared Internet platforms. Since an accurate estimate of an application's resource needs is necessary when overbooking resources, we present techniques to profile applications on dedicated nodes, possibly while in service, and use these profiles to guide the placement of application components onto shared nodes. We then propose techniques to overbook cluster resources in a controlled fashion. We outline an empirical appraoch to determine the degree of overbooking that allows a platform to achieve improvements in revenue while providing performance guarantees to Internet applications. We show how our techniques can be combined with commonly used QoS resource allocation mechanisms to provide application isolation and performance guarantees at run-time. We implement our techniques in a Linux cluster and evaluate them using common server applications. We find that the efficiency (and consequently revenue) benefits from controlled overbooking of resources can be dramatic. Specifically, we find that overbooking resources by as little as 1% we can increase the utilization of the cluster by a factor of two, and a 5% overbooking yields a 300 - 500% improvement, while still providing useful resource guarantees to applications.
AB - In this article, we present techniques for provisioning CPU and network resources in shared Internet hosting platforms running potentially antagonistic third-party applications. The primary contribution of our work is to demonstrate the feasibility and benefits of overbooking resources in shared Internet platforms. Since an accurate estimate of an application's resource needs is necessary when overbooking resources, we present techniques to profile applications on dedicated nodes, possibly while in service, and use these profiles to guide the placement of application components onto shared nodes. We then propose techniques to overbook cluster resources in a controlled fashion. We outline an empirical appraoch to determine the degree of overbooking that allows a platform to achieve improvements in revenue while providing performance guarantees to Internet applications. We show how our techniques can be combined with commonly used QoS resource allocation mechanisms to provide application isolation and performance guarantees at run-time. We implement our techniques in a Linux cluster and evaluate them using common server applications. We find that the efficiency (and consequently revenue) benefits from controlled overbooking of resources can be dramatic. Specifically, we find that overbooking resources by as little as 1% we can increase the utilization of the cluster by a factor of two, and a 5% overbooking yields a 300 - 500% improvement, while still providing useful resource guarantees to applications.
UR - http://www.scopus.com/inward/record.url?scp=62149087382&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=62149087382&partnerID=8YFLogxK
U2 - 10.1145/1462159.1462160
DO - 10.1145/1462159.1462160
M3 - Article
AN - SCOPUS:62149087382
SN - 1533-5399
VL - 9
JO - ACM Transactions on Internet Technology
JF - ACM Transactions on Internet Technology
IS - 1
M1 - 1
ER -