towards a resource elasticity benchmark for cloud...

29
Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey Charapko, Priyanka D H, Kevin Harper, Vivek Madesi

Upload: others

Post on 28-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Towards a Resource Elasticity Benchmark

for Cloud Environments

Presented By: Aleksey Charapko, Priyanka D

H, Kevin Harper, Vivek Madesi

Page 2: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Introduction &

Background

Page 3: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Resource Elasticity

● Utility Computing (Pay-Per-Use): Ability to dynamically

adapt resource allocation based on the client’s demands.

● Existing benchmarking cloud offerings neglect certain

aspect of elasticity.

● No good way to benchmark elasticity between

o Cloud providers; and

o Elasticity strategies

Page 4: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Existing Approaches

● The existing approaches have limited perspective.

● Take specialized approaches

o metrics are part of efficiency measurements, and not

elasticity alone.

o Analyze scale out, but not scale down

● Take business perspective

o helps make cost-based decisions, not performance-

based

o Not scientific or accurate.

o Do not define penalty’s for SLA’s.

Page 5: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

New Benchmark

● Quantify resource elasticity in the IaaS context.

● Compare changing resource demand with actual allocation.

● What sets it apart are

o Strict calibration to match system behaviour.

o Similar stress loads throughout.

o Quantify metrics that capture elasticity.

o Refine metrics iteratively.

Page 6: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Elastic Cloud Architecture

● Scalable Infrastructure

o VMs with network access and

storage

o Ability to Scale-up or Scale-out

● Management System

o Reconfiguration Management

Allows starting, stopping

and reconfiguration of VMs

o Load Balancer

o Monitoring System

o Elasticity Mechanism

Page 7: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Terms & Definitions

Page 8: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Efficiency

● Cost efficiency

● Energy efficiency

● Resource efficiency

Page 9: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Aspects of Scalability

● Fulfilled within a range across a specific quality

● Refers to input variables that are scaled

o Problem size

o Number of users

o commonly referred to as load intensity

● Measured by evaluating quality criteria

o Performance measures/dependant variables

o Ex. Memory consumption, Response time.

Page 10: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

No Scaling vs. Scaling

Dashed gray line: tolerable response time

Blue line: resources available

Black line: actual response time

Dashed gray line: tolerable response time

Blue line: resources available

Black line: actual response time

Page 11: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Two kinds of Quality Criteria

Service Levels ● Described by measures like response time

● Specified by Service Level Objectives (SLOs)

Resource Amounts ● Measured at different levels of abstraction with varying granularity

○ Physical memory or CPU cores

○ CPU cycles per second

○ VM server images

○ Threads or locks

Page 12: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Scalability in the Cloud

● Cloud customers require constant service levels over

variable load intensity to satisfy quality criteria defined

in SLOs.

● Scaling behavior is characterized by resource amounts

that vary over variable loads.

● Thus, Resource Scaling is the term used to emphasize

that it is the underlying resources used that we are

referring to.

Page 13: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Resource Elasticity

“Elasticity is the degree to which a system is able

to adapt to load changes by provisioning and

deprovisioning resources in an autonomic

manner, such that at each point in time the

available resources match the current demand as

closely as possible."

- G. Galante and L. C. E. d. Bona. A Survey on

Cloud Computing Elasticity.

Page 14: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Scalability vs. Elasticity

● Scalability - degree to which a system can adopt to a

varying load conditions.

● Resource Elasticity - the quality of the adaptation to a

varying load conditions.

Page 15: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Resource Elasticity

System A and B are equal except for their elasticity mechanisms. The elasticity

mechanism of system B is superior compared to system A since it is able to match the

demand closer.

Page 16: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Autonomic Scaling

● Elasticity is the result of the adaptation process that scales

the resources according to the load intensity.

o Automated mechanism

o Manual steps sometimes may be required

Page 17: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Resource Type and Scaling Unit

● Base resources

o CPU, Memory or Disk Storage and Container

Resources.

● Scaling Unit

o Different resources have different measurement units

CPU time

o Need to be the same across the various systems to be

able to compare

Page 18: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Scalability Bounds

● Scalability is limited.

● Depends on

o Maximum amount of physical resources

o Service level constraints

● Can compare two systems if such system can scale within

the same bounds.

Page 19: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Evaluation Aspects

● Accuracy

o Whether the system can provision enough

resources and match the demand precisely

o Under-provisioning and over-provisioning

hurts accuracy

● Timing

o How quickly a system can react to the change

in load conditions

Page 20: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Evaluation Aspects

Both systems adapt to the load changes instantly, but system C constantly over-provisions resources, while

system D under-provisions and both systems do not match the demand very precisely.

Page 21: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Evaluation Aspects

Systems with imperfect timing. System E always lags behind the changes in demand, while system F

changes the available resource too often without real change in demand. System F can be seen as

having bad timing and bad accuracy.

Page 22: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Elasticity Mechanisms

● Resources are allocated according to changing demand

● Usage of different scaling methods

o scaling vertically or horizontally

● Retractive elasticity

o scalability happens after the change in demand

● Proactive elasticity

o system can predict demand changes and scale

accordingly before the demand increase or decreases

Page 23: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Proposed Benchmark

Page 24: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Load Intensity Variation

● Elastic behavior is triggered by a change in load intensity

● Realistic load is needed for proper benchmarking

● Load patterns or load profiles are used for benchmarking

o bursts

o linear trends

o general variability over time interval

● LIMBO toolkit

Page 25: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Benchmark Calibration

● Resource demand can be different under the same load

o ex. System H has faster CPU than System G, as such it

needs less CPU utilization for the same load.

o creates a need for system calibration

● to test elasticity we

need to trigger

scalability under

same load profile

but not necessary

the same load

Page 26: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Benchmark Calibration

● Iteratively analyze scalability potential of a system

o small increment

o elastic mechanism is turned off

o scaling is controlled manually

provision / deprovision resources manually as load

changes

o helps establish load intensity levels needed to maintain

load profile for benchmarking

Page 27: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Metrics

Page 28: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

Metrics

● Average time to switch from an under-provisioned state to

optimal or over-provisioned

● Average time to switch from an over-provisioned state to

optimal or under-provisioned

● Accumulated time in under-provisioned / over-provisioned

state state

● Average amount of under-provisioned / over-provisioned

resources

● Total duration of tests

Page 29: Towards a Resource Elasticity Benchmark for Cloud Environmentssahuja/cloudcourse/StudentPres2.pdf · Towards a Resource Elasticity Benchmark for Cloud Environments Presented By: Aleksey

References 1. Weber, A., Herbst, N. R., Groenda, H., & Kounev, S. (2014, March). Towards a Resource Elasticity Benchmark for Cloud

Environments. In 2nd International Workshop on Hot Topics in Cloud Service Scalability (HotTopiCS 2014). ACM (March

2014).

1. Galante, G., & Bona, L. C. E. D. (2012, November). A survey on cloud computing elasticity. In Proceedings of the 2012

IEEE/ACM Fifth International Conference on Utility and Cloud Computing (pp. 263-270). IEEE Computer Society.

1. J. G. von Kistowski, N. R. Herbst, and S. Kounev. LIMBO: A Tool For Modeling Variable Load Intensities (Demo Paper). In

Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE 2014). ACM, March

2014.