a model-based system to automate cloud resource allocation and optimization cisc 836 – graydon...

19
A Model-Based System to Automate Cloud Resource Allocation and Optimization CISC 836 – GRAYDON SMITH

Upload: vanessa-lawrence

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

A Model-Based System to Automate Cloud Resource Allocation and OptimizationCISC 836 – GRAYDON SMITH

ProblemCloud providers offer quick and easy methods to allocate resources

Not a simple task to optimize

Not cost-effective

Pick several configurations and load test

Motivating ExampleHybrid 4-Dimensional Augmented Reality (HD4AR)

◦ Take picture◦ upload to cloud◦ Returned augmented image has information tagged to it

Originally designed for in-house, standalone use

Demand caused creation of HD4ARWebDataService

QoS requirements of 2000 active users/minute

gsmith
Spelling mistake in the paper

Challenges1) Translating high-level QoS goals into low-level load generator configuration

a. jMeter Thread groups b. OS level details creates complexity

2) Customized test flows not supported or difficulty to verifya. Testing single API at a timeb. Chaining of requests based upon logic

3) Resource bottleneck analysis a. Difficult or non-existentb. Correlate to QoS metrics

Challenges Continued4) Lack of Model analysis to derive resource config strategy

a. Termination criteriab. How much data is enough?

5) Lack of End-to-End testing of resource allocation, load generation, resource utilization metric collection and QoS metric tracking

a. Most systems generate load tests for single itemsb. Focus on a few QoS metricsc. How to test multi-tier configurations? (security groups, load-balancers, databases, etc)d. Providers offer many resource types and parameterse. E.g. Amazon AWS offers 50 resource types with hundreds of parameters

Solution (ROAR)Model-based Resource Optimization, Allocation and Recommendation (ROAR) System

◦ Raises abstraction level when load-testing◦ Textual DSL specifies testing plan – Generic Resource Optimization for Web applications Language

(GROWL)◦ Implemented in XText◦ DSL specifies QoS requirements and high-level test plan◦ Generates jMeter XML configuration ◦ Code generator to automate allocation and testing of configurations

Addressing Challenges 1 & 2GROWL addresses challenges by

Specifying QoS goals Removing the need to configure Thread Groups, Logic Controllers, etc. No need to know underlying jMeter details jMeter thread count may not sufficiently test load or “ramp up” too quickly Throughput shaping by steps

Comparison

Addressing Challenge 3Automates Temporal Correlation of Resource Utilization and QoS Metrics

Throughput Shaper discretizes tests into temporal blocks

Lines up server resource usage with QoS measurements

Only looks at CPU, memory, network I/O, and disk I/O

Step 4 of model

Addressing Challenge 4Filtering step (Step 5 of the process)

N = [ Tex / Tp ]

N : number of servers

Tex : Expected throughput

Tp : Actual peak throughput

Problems: Reasonable Tp from all data points Determined by a resource reaching near 100% utilization and dramatic latency increase

Repeat process for each configuration

Addressing Challenge 5Different applications have a variety of configurations e.g. Libraries and environment

Package application using Docker Virtualized packaging Versioned in Git

Currently only support Amazon AWS

Plans for OpenStack

Case StudyExperiments outlined

Based on the motivating example 2400 requests/sec 5000 requests/sec

Conclusion/DiscussionMotivations and problems clearly defined

Presents a clear process for assessing cloud configurations and resource configuration

Low detail on GROWL Xtext model

Multiple case studies?

ReferencesY. Sun, J. White, S. Eade. A Model-Based System to Automate Cloud Resource Allocation and Optimization. Model-Driven Development of Mobile Applications Allowing Role-Driven Variants. 17th International Conference on Model-Driven Engineering Languages and Systems (MoDELS'14). Springer LNCS 8767. Pages 18-34.

Amazon Web Services (2014), http://aws.amazon.com/

Apache JMeter (2014), https://jmeter.apache.org/