A Generic Auto-Provisioning Framework for Cloud Databases



Similar documents
PUBLIC CLOUD USAGE TRENDS

Cloud Computing and E-Commerce

Amazon Elastic Compute Cloud Getting Started Guide. My experience

Network Infrastructure Services CS848 Project

THE DEFINITIVE GUIDE FOR AWS CLOUD EC2 FAMILIES

Evaluation Methodology of Converged Cloud Environments

Resource Sizing: Spotfire for AWS

Cornell University Center for Advanced Computing

QoS-Aware Storage Virtualization for Cloud File Systems. Christoph Kleineweber (Speaker) Alexander Reinefeld Thorsten Schütt. Zuse Institute Berlin

Cornell University Center for Advanced Computing

Run-time Resource Management in SOA Virtualized Environments. Danilo Ardagna, Raffaela Mirandola, Marco Trubian, Li Zhang

Smartronix Inc. Cloud Assured Services Commercial Price List

Heterogeneity-Aware Resource Allocation and Scheduling in the Cloud

Cloud computing security

Who moved my cloud? Part II: What s behind the cloud vendors AWS, GCE and Azure?

Aneka Dynamic Provisioning

By Cloud Spectator July 2013

IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 3, NO. X, XXXXX Monetary Cost Optimizations for Hosting Workflow-as-a-Service in IaaS Clouds

Dynamic Resource allocation in Cloud

How To Win At A Game Of Monopoly On The Moon

Comparing major cloud-service providers: virtual processor performance. A Cloud Report by Danny Gee, and Kenny Li

DataCenter optimization for Cloud Computing

The Cost of the Cloud. Steve Saporta CTO, SwipeToSpin Mar 20, 2015

How AWS Pricing Works May 2015

Permanent Link:

Cloud Computing Performance. Benchmark Testing Report. Comparing ProfitBricks vs. Amazon EC2

Cloud Computing Performance Benchmarking Report. Comparing ProfitBricks and Amazon EC2 using standard open source tools UnixBench, DBENCH and Iperf

Towards an understanding of oversubscription in cloud

Amazon Web Services vs. Horizon

Data Centers and Cloud Computing

BlobSeer: Towards efficient data storage management on large-scale, distributed systems

How AWS Pricing Works

Payment minimization and Error-tolerant Resource Allocation for Cloud System Using equally spread current execution load

Cloud security CS642: Computer Security Professor Ristenpart h9p:// rist at cs dot wisc dot edu University of Wisconsin CS 642

OTM in the Cloud. Ryan Haney

Part 1: Price Comparison Among The 10 Top Iaas Providers

CloudCmp:Comparing Cloud Providers. Raja Abhinay Moparthi

Hey, You, Get Off of My Cloud! Exploring Information Leakage in Third-Party Clouds. Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage

SimGrid Cloud Broker: Simulation of Public and Private Clouds

C-Meter: A Framework for Performance Analysis of Computing Clouds

Amazon EC2 Product Details Page 1 of 5

Cloud Computing: Meet the Players. Performance Analysis of Cloud Providers

HEY, YOU, GET OFF OF MY CLOUD: EXPLORING INFORMATION LEAKAGE

White Paper. Cloud Native Advantage: Multi-Tenant, Shared Container PaaS. Version 1.1 (June 19, 2012)

Private Cloud Database Consolidation with Exadata. Nitin Vengurlekar Technical Director/Cloud Evangelist

Cloud Performance Benchmark Series

AWS Storage: Minimizing Costs While Retaining Functionality

Cloud Computing Workload Benchmark Report

Comparison of Windows IaaS Environments

IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud

Performance Management for Cloudbased STC 2012

Cloud Based Tes,ng & Capacity Planning (CloudPerf)

Profit-driven Cloud Service Request Scheduling Under SLA Constraints

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

Workflow Allocations and Scheduling on IaaS Platforms, from Theory to Practice

Performance Analysis: Benchmarking Public Clouds

INCREASING SERVER UTILIZATION AND ACHIEVING GREEN COMPUTING IN CLOUD

Performance test report

IaaS Federation. Contrail project. IaaS Federation! Objectives and Challenges! & SLA management in Federations 5/23/11

Power Aware Load Balancing for Cloud Computing

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Data Centers and Cloud Computing. Data Centers

On defining metrics for elasticity of cloud databases

Assembling Cloud Infrastructures with Eucalyptus

Duke University

Introduction to AWS Economics

Cloud Computing and Amazon Web Services

DOCLITE: DOCKER CONTAINER-BASED LIGHTWEIGHT BENCHMARKING ON THE CLOUD

Workload-Aware Database Monitoring and Consolidation

How To Choose Between A Relational Database Service From Aws.Com

CLOUD computing has emerged as a new paradigm for

The Secret World of Cloud IaaS Pricing: How to Compare Apples and Oranges Among Cloud Providers

Amazon CloudWatch to monitor cloud resource usage

Optimizing the Cost for Resource Subscription Policy in IaaS Cloud

The Secret World of Cloud IaaS Pricing in 2014: How to Compare Apples and Oranges Among Cloud Providers

Deploying Splunk on Amazon Web Services

Cloud Computing. Adam Barker

UBUNTU DISK IO BENCHMARK TEST RESULTS

Cornell University Center for Advanced Computing A Sustainable Business Model for Advanced Research Computing

Transcription:

A Generic Auto-Provisioning Framework for Cloud Databases Jennie Rogers 1, Olga Papaemmanouil 2 and Ugur Cetintemel 1 1 Brown University, 2 Brandeis University

Instance Type Introduction Use Infrastructure-as-a-Service (IaaS) to provision virtual machines Rent on demand Pay reservation period and per-request charges Many VM configurations Cost per hour Elastic Block Storage Sequential Blocks / sec Seeks / sec Complex decision space CPU (cores x compute units) m1.small $0.085 295000 74913 1x1 (1) 1.7 m1.large $0.34 604000 72330 2x2 (2) 7.5 m1.xlarge $0.68 591333 59327 4x2 (8) 15 c1.medium $0.17 654000 82691 2x2.5 (5) 1.7 c1.xlarge $0.68 681000 57511 8x2.5 (20) 7 RAM (GB) 2

DBMS on the Cloud DBMS a natural fit for the cloud Complex to configure Very resource- and time-varying workloads Can require expensive hardware High up-front expenses, maintenance Historically have been over-provisioned Pay-as-you-go afford the user significant flexibility Example: data warehousing, scale up at night, pay less by day 3

Problem Statement Optimize for monetary cost as a first-class concern Provision to meet user-specified QoS requirements (latency, throughput) Defined on a per-query-class basis Gives users the opportunity to trade off between QoS and $ Provisioner reserves and releases machines as needed 4

Experimental Configuration Proof-of-Concept implementation on Amazon Web Services Used PostgreSQL Hand-configured with indexes and accurate buffer pool size Modified to display QEP costs in terms of I/Os and CPUs Used Elastic Block Storage volumes Instrumented resources with iostat and procfs TPC-H queries 1-5, scale factor 10 5

Isolated Options, TPC-H Query 1 Instance Type Cost per hour Latency (s) Cost Per Query m1.small $0.085 1268.4 $1.96 m1.large $0.34 583.77 $2.24 m1.xlarge $0.68 533.69 $2.58 c1.medium $0.17 620.51 $2.04 c1.xlarge $0.68 603.12 $2.58 Complicated; non-linear Need to estimate what is worth paying for 6

Concurrency Options, Query 2 Queries / Hour Latency Requirement Cheapest Configuration Cost / Query Cost / Hour 720 30 c1.xlarge $0.00344 $2.47590 360 30 m1.large $0.00120 $0.43109 240 20 m1.large $0.00145 $0.34912 180 20 m1.large $0.00192 $0.34508 144 15 c1.xlarge $0.00474 $0.68300 120 15 c1.xlarge $0.00569 $0.68260 Workload varies Queries / hour QoS No one-size-fits-all solution 7

QoS vs. Monetary Cost Trade Off 8

General Solution Flow Inputs Query-related data Workload specifications Prediction Engine Convert inputs into predictions Estimates query performance Formulates constraints Applies Apply solver Deployment Plan Q1: 2 large instances Q2: 1 medium instance... 9

Concrete Problems Provisioning When to deploy virtual machine instances? How many? What type? EBS or not for storage? When to declare overload and launch new instances? When to scale down? Scheduling How to route queries to deployed instances? Combine above into continuous allocation of instances Our focus: modeling query behavior to create deployment plans for a workload 10

Overview System model Predictor input options Three approaches: White Box (optimizer estimate-based) Gray Box (semantic info and profiling data) Black Box (profiling-based) Related Work Open Questions 11

System Model 12

Input Options White Box Gray Box Black Box Estimate resource requirements from query execution plans Use semantic data from query plans and profiling data to build performance predictions Use a set of profilinggenerated configuration options Provide different options for predictor data 13

Bin Packer Constraint CPU Rate Q1 Q1 Q1 I/O Rate Convert resource consumption to a rate w/qos Sum dimensions Enforce constraint to assure enough resources Can add constraints Adhere to expressive predictive modeling I.e., domain-specific policies, semantic groups 14

White Box Provisioning Use benchmarking for each instance type Estimate availability of individual resources (CPU rate, I/O rate) Estimate query resource usage from modified PostgreSQL explain statements Breaks estimator costs into CPU and I/O time Cost units ~time of one sequential page read Correct it with a scale factor to convert time into units consumed (CPU cycles and I/O requests) 15

White Box Provisioning Query Work Vectors (q 1, I/Os 1,a, cpu 1,a, ram a ) (q 1, I/Os 1,b, cpu 1,b, ram b ) (q 2, I/Os 2,a, cpu 2,a, ram a )... Cloud Resource Vectors (m1.small, I/Os, CPUs, ram, $) (m1.large, I/Os, CPUs, ram, $) (c1.medium, I/Os, CPUs, ram, $)... Workload Specification Q1: 110s, 25 / hr Q2: 30s, 60 / hr Q3: 240s,10 / hr... Constraint Solver Sum of (I/O CPU) allocated <= available All workload queries provisioned One query class / instance All vector RAM <= VM RAM Objective: minimize cost Deployment Plan Q1: 2 large instances Q2: 1 medium instance... 16

White Box Scheduling Create online bin packer for each instance provisioned Aware of what queries are currently assigned to instance Create new work vector for each incoming query Select instance with most available resources provisioned for its query class 17

Gray Box Provisioning Extend white box approach Use profiling information Create scale factors for query plan steps Discount shared steps Penalize discrete steps Take into account aggregate magnitude of resources 18

Discount and Penalty Rates -> HashAggregate (cost=1696603..1696 603) (actual time=510736..51073 6) -> Seq Scan on lineitem (cost=0..960131) (actual time=25..115192) Classify steps as shared by the mix or not Use explain analyze to determine actual run time and optimizer cost for each step Create two plots based on classification and perform power regression 19

Black Box Provisioning Create profiles of different input rates and query classes on each instance type Record latency PDF and cost per query Take in workload specifications for QoS, percentile and query mix Quantify min-cost configurations to complete a workload Use constraint solver 20

Black Box Provisioning Performance Vectors Q1: large, 18 / hour, $0.30, pdf q1,l Q1: small, 7 / hour, $0.20, pdf q1,s Q2: medium, 16 / hour, $0.10, pdf q2,m... Workload Specification Q1: 110s, 100%, 25 / hr Q2: 30s, 100%, 60 / hr Q3: 240s, 100%, 10 / hr... Constraint Solver All workload queries provisioned QoS percentile and latency met Objective: minimize cost Deployment Plan Q1: 2 large instances Q2: 1 medium instance... 21

Provisioning Options White box geared toward: Finer-grained provisioning More variation within query classes Work vectors created during scheduling phase Gray Box intended for heterogeneous mixes Allows them to be scheduled together Black box better optimized for: Efficiently making plans for larger workloads Has more options for QoS trade off Generates many work vectors for a configuration 22

Cost and the Cloud Related Work Cost as a performance metric (D. Florescu, et al., ACM SIGMOD Record, March 2009) An example of cost-performance trade-off (E. Deelman, et al., SC '08) VM Provisioning Provisioning VMs to meet QoS (P. Shivam, et al., SIGMOD 2007). Amazon AutoScale, Amazon Elastic Load Balance Query Performance Prediction Predicting query resource usage with machine learning (A. Ganapathi, et al., ICDE 2009) Predicting the effects of concurrency on QoS (M. Ahmad, et al., CIKM '08) 23

Open Challenges Mixed workloads Dealing with query contention Both latency and cost Probabilistic modeling of resources and queries Uncertainty in cloud performance, specific query interactions, optimizer estimates, etc. Dynamically allocating the system Form a control loop 24

Open Challenges (cont'd) Fine grained scheduling modeling Learn about how the DBMS actually allocates resources Multiple payment strategies On-demand instances vs. reserved Spot provisioning 25

Thank You! 26

Challenge: Query Latency Over Time (m1.large) 800 700 600 500 Latency (Secs) 400 300 Query 1 Query 2 Query 3 Query 4 Query 5 200 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Trial Model uncertainty? 27