Resource allocation algorithms for virtualized service hosting platforms - Stillwell, Mark; Schanzenbach, David; Vivien, Frédéric; Casanova, Henri (Journal of parallel and distributed computing, 2010)
Commodity clusters are used routinely for deploying service hosting platforms. Due to hardware and operation costs, clusters need to be shared among multiple services. Crucial for enabling such shared hosting platforms is virtual machine (VM) technology, which allows consolidation of hardware resources. A key challenge, however, is to make appropriate decisions when allocating hardware resources to service instances. In this work we propose a formulation of the resource allocation problem in shared hosting platforms for static workloads with servers that provide multiple types of resources. Our formulation supports a mix of best-effort and QoS scenarios, and, via a precisely defined objective function, promotes performance, fairness, and cluster utilization. Further, this formulation makes it possible to compute a bound on the optimal resource allocation. We propose several classes of resource allocation algorithms, which we evaluate in simulation. We are able to identify an algorithm that achieves average performance close to the optimal across many experimental scenarios. Furthermore, this algorithm runs in only a few seconds for large platforms and thus is usable in practice. ► Resource allocation for static workloads on virtualized cluster platforms can be formulated as the optimization of a novel metric called the “yield”. ► Yield optimization can be framed as a mixed-integer linear program with a computable bound on the optimal.► Using a binary search on the optimum yield, solving a vector packing problem at each iteration of the search, can lead to results close to the optimal in practice.