URSA: Precise Capacity Planning and Fair Scheduling based on Low-level Statistics for Public Clouds
- Wei Zhang ,
- Ningxin Zheng ,
- Quan Chen ,
- Yong Yang ,
- Zhuo Song ,
- Tao Ma ,
- Jingwen Leng ,
- Minyi Guo
2020 International Conference on Parallel Processing |
Published by ACM
Database platform-as-a-service (dbPaaS) is developing rapidly and a large number of databases have been migrated to run on the Clouds for the low cost and flexibility. Emerging Clouds rely on the tenants to provide the resource specification for their database workloads. However, they tend to over-estimate the resource requirement of their databases, resulting in the unnecessarily high cost and low Cloud utilization. A methodology that automatically suggests the “just-enough” resource specification that fulfills the performance requirement of every database workload is profitable. To this end, we propose URSA, a capacity planning and fair scheduling system that is comprised of an online capacity planner, a performance interference estimator, and a contention-aware scheduling engine. The capacity planner identifies the most cost-efficient resource specification for a database workload to achieve the required performance online. The interference estimator quantifies the pressure on the shared resource and the tolerance to the shared resource contention of each workload. The scheduling engine schedules the workloads across Cloud nodes carefully to eliminate unfair performance interference between the co-located workloads. Experimental results show that URSA reduces up to 25.9% of CPU usage, 53.4% of memory and reduces the performance unfairness between the co-located workloads by 47.6% usage compared to the prior works without hurting their performance.