URSA: Precise Capacity Planning and Contention-aware Scheduling for Public Clouds
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 workload scheduling system for dbPaaS Clouds. USRA is comprised by 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 sensitivity to the shared resource contention of each database workload. The scheduling engine schedules the workloads across Cloud nodes carefully to eliminate unfair performance interference between the co-located workloads. Our real system experimental results show that URSA reduces 27.5 memory usage for database workloads while satisfying their performance requirements. Meanwhile, URSA reduces the performance unfairness between the co-located workloads by 42.8
READ FULL TEXT