Commodity clusters are used routinely for deploying service hosting platforms.Due to hardware and operation costs, clusters need to be shared among multipleservices. Crucial for enabling such shared hosting platforms is virtual machine(VM) technology, which allows consolidation of hardware resources. A keychallenge, however, is to make appropriate decisions when allocating hardwareresources to service instances. In this work we propose a formulation of theresource allocation problem in shared hosting platforms for static workloadswith servers that provide multiple types of resources. Our formulation supportsa mix of best-effort and QoS scenarios, and, via a precisely defined objectivefunction, promotes performance, fairness, and cluster utilization. Further, thisformulation makes it possible to compute a bound on the optimal resourceallocation. We propose several classes of resource allocation algorithms, whichwe evaluate in simulation. We are able to identify an algorithm that achievesaverage performance close to the optimal across many experimental scenarios.Furthermore, this algorithm runs in only a few seconds for large platforms andthus is usable in practice.
展开▼