a model-based system to automate cloud resource allocation and optimization cisc 836 – graydon...
Post on 19-Dec-2015
214 Views
Preview:
TRANSCRIPT
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
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
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
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/
top related