Satisfying Service Level Objectices in a Self-Managing Resource Pool
Daniel Gmach, Jerry Rolia, Lucy Cherkasova · 2009
We consider a self-managing, self-organizing pool of virtualized computer servers that provides infrastructure as a service (IaaS) for enterprise computing workloads. A global controller automatically manages the pool in a top down manner by periodically varying the number of servers used and re-assigning workloads to different servers. It aims to use as few servers as possible to minimize power usage while satisfying per-workload service level requirements. Each server is self-organizing. It has a local workload manager that dynamically varies the capacity allocated to each workload to satisfy per-workload service level objectives. This paper evaluates the impact of four alternative workload manager policies on the quality of service provided by the resource pool. The policies include: (i) a non-work-conserving feedback controller, (ii) a work-conserving feedback controller, (iii) a work-conserving feedback controller with fixed per-workload scheduling weights to support differentiated service, and (iv) a work-conserving feedback controller with dynamic per-workload weight to provide differentiated service while minimizing penalties. A case study involving three months of data for 138 SAP applications shows that the work-conserving policy significantly outperforms the non-work-conserving policy. The dynamic weight policy is better able to minimize penalties than the other policies while treating workloads fairly. Our study offers insights into the trade-offs between performance isolation, efficient resource sharing, and quality of service.