elasticity in cloud computing: what it is, and what it is not...software design and quality group...

17
KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS www.kit.edu Elasticity in Cloud Computing: What It Is, and What It Is Not Nikolas Herbst, Samuel Kounev, Ralf Reussner [email protected] ICAC’13, San Jose, CA – 26 th June 2013

Upload: others

Post on 27-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

KIT – University of the State of Baden-Wuerttemberg and

National Research Center of the Helmholtz Association

SOFTWARE DESIGN AND QUALITY GROUP

INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS

www.kit.edu

Elasticity in Cloud Computing: What It Is, and What It Is Not

Nikolas Herbst, Samuel Kounev, Ralf Reussner

[email protected] ICAC’13, San Jose, CA – 26th June 2013

Page 2: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

2

What People Say Elasticity Is…

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

OCDA [1]

up & down scaling

subscriber workload

Cohen [5]

quantifyable

real-time demands

local & remote

Page 3: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

3

Elasticity Definition

Elasticity

is the degree to which a system is able to

adapt to workload changes by

provisioning and de-provisioning resources

in an autonomic manner,

such that at each point in time the

available resources match the

current demand as closely as possible.

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

Page 4: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

4

Elasticity Example

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

time

workload intensity

#req./sec.

time

#VMs

8 6 4 2

resource demand

underprovisioning

resource supply

overprovisioning

Service Level Agreement (SLA):

E.g.: resp. time ≤ 2 sec, 95%

Resource Demand:

Minimal amount of #VMs required

to ensure SLAs.

Page 5: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

5

Comparability

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

time

workload intensity

curve i

#req./sec.

time

workload intensity

curve i

#req./sec.

time

#VMs

8 6 4 2

system B

time

#VMs

8 6 4 2

system A

Page 6: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

6

Comparability

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

time

workload intensity

curve i

#req./sec.

time

workload intensity

curve i*

#req./sec.

time

#VMs

8 6 4 2

system B

time

#VMs

8 6 4 2

system A

Page 7: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

7

Intuitive Elasticity ?

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

time

reso

urce

uni

ts [#

VM

s]

system A

resource demand

resource supply

overprovisioning

Same user workload on system B

Motivation Definition Metrics Benchmarking Conclusion

time

reso

urce

uni

ts [#

VM

s]

system B

System B at a doubled user workload

Page 8: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

8

Elasticity Metrics

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

reso

urce

uni

ts [#

VM

s]

time

T

A2

U2

U4

A4

B4

O4

B5

O5

B6

O6

A1

U1

resource demand

underprovisioning

resource supply

overprovisioning

Motivation Definition Metrics Benchmarking Conclusion

Page 9: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

9

Elasticity Metrics

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

𝐴 Average time of switch from an underprovisioned to an optimal or overprovisioned state

average speed of scaling up

∑𝐴 Accumulated time in underprovisioned state.

𝑈 Average amount of underprovisioned resources during an underprovisioned period.

∑𝑈 Accumulated amount of underprovisioned resources.

𝐵 , ∑𝐵, 𝑂 , ∑𝑂 correspondingly for overprovisioned states

𝑃𝑢 =∑𝑈

𝑇; 𝑃𝑑 =

∑O

𝑇,

𝑇 = 𝑡𝑜𝑡𝑎𝑙 𝑒𝑣𝑎𝑙𝑢𝑎𝑡𝑖𝑜𝑛 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛

Average precision

of scaling up / down

𝐸𝑢 =1

𝐴 𝑥𝑈 ; 𝐸𝑑 =

1

𝐵 𝑥𝑂

Elasticity metric

for scaling up /

down

Page 10: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

10

Benchmarking Challenges I

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

time

wor

kload

inte

nsity

scalability bound

(II) monitor performance &

resource allocations/releases

workload

intensity

resource

demand

W1 R1

… …

workload

intensity

resource

demand

wn rn

… …

upwards

downwards

(III) derive discrete matching

functions M(Wx) = Rx and m(wx) = rx

(I) in-/decrease

workload intensity

stepwise

Motivation Definition Metrics Benchmarking Conclusion

Derivation of a matching function

Page 11: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

11

Benchmarking Challenges II

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

1. Derive the system specific matching function of workload intensity and resource demand

2. Define a representative set of workload intensity traces

3. Induce identical demand curves on different systems by parameterizing a workload intensity trace

Fair, consistent,

reproducible ordering

of elastic systems (same elasticity dimension &

scaling units)

Page 12: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

12

Conclusion

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Motivation Definition Metrics Benchmarking Conclusion

• Generic definition

• Core aspects

• Prerequisites

• Delineation from scalability and efficiency

Elasticity

• Precision and speed of scaling up / down

Metrics

• Derivation of a matching function

Benchmarking Elasticity

Page 13: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

13

Literature

[1] COHEN, R. Defining Elastic Computing, September 2009. http://www.elasticvapor.com/2009/09/defining-elastic-computing.html, last consulted Feb. 2013.

[2] MELL, P., AND GRANCE, T. The NIST Definition of Cloud Computing Tech. rep., U.S. National Institute of Standards and Technology (NIST), 2011. Special Publication 800-145, http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf.

[3] OCDA. Master Usage Model: Compute Infrastructure as a Service. Tech. rep., Open Data Center Alliance (OCDA), 2012. http://www.opendatacenteralliance.org/docs/ODCA_Compute_IaaS_MasterUM_v1.0_Nov2012.pdf.

[4] SCHOUTEN, E. Rapid Elasticity and the Cloud, September 2012. http://thoughtsoncloud.com/index.php/2012/09/rapid-elasticity-and-the-cloud/ last consulted Feb. 2013.

[5] WOLSKI, R. Cloud Computing and Open Source: Watching Hype meet Reality, May 2011. http://www.ics.uci.edu/~ccgrid11/files/ccgrid-11_Rich_Wolsky.pdf last consulted Feb. 2013.

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

Page 14: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

14

Backup: Definitions

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

ODCA, Compute Infrastructure-as-a-Service:

”[...] defines elasticity as the configurability and expandability of the solution[...] Centrally, it

is the ability to scale up and scale down capacity based on subscriber workload.” [1]

NIST Definition of Cloud Computing

”Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases

automatically, to scale rapidly outward and inward commensurate with demand. To the

consumer, the capabilities available for provisioning often appear to be unlimited and can be

appropriated in any quantity at anytime.” [2]

IBM, Thoughts on Cloud, Edwin Schouten:

”Elasticity is basically a ’rename’ of scalability [...]” and ”removes any manual labor needed

to increase or reduce capacity.” [3]

Rich Wolski, CTO, Eucalyptus:

”Elasticity measures the ability of the cloud to map a single user request to different

resources.” [4]

Reuven Cohen:

Elasticity is ”the quantifiable ability to manage, measure, predict and adaptive

responsiveness of an application based on real time demands placed on an infrastructure

using a combination of local and remote computing resources.” [5]

Page 15: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

15

Backup: Elasticity Prerequisites

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

• What adaptation process is used for autonomic scaling?

Autonomic Scaling

• What is the set of resource types scaled as part of the adaptation process?

Elasticity Dimension

• For each resource type, in what unit is the amount of allocated resources varied?

Resource Scaling Units

• For each resource type, what is the upper bound on the amount of resources that can be allocated?

Scalability Bounds

Page 16: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

16

Backup: Elasticity Core Aspects

Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

• The speed of scaling up is defined as the time it takes to switch from an under-provisioned state to an optimal or overprovisioned state. The speed of scaling down is defined as the time it takes to switch from an overprovisioned state to an optimal or under-provisioned state. The speed does not correspond directly to the technical resource provisioning / de-provisioning time.

Speed

• The precision of scaling is defined as the absolute deviation of the current amount of allocated resources from the actual resource demand

Precision

Page 17: Elasticity in Cloud Computing: What It Is, and What It Is Not...SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS Elasticity

17 Herbst, Kounev, Reussner Elasticity in Cloud Computing ICAC’13, San Jose, CA – 26th June 2013

• … does not consider temporal aspects of how fast, how often, and at what granularity scaling actions can be performed.

• … is not directly related to how well the actual resource demands are matched by the provisioned resources at any point in time.

Scalability

• … expresses the amount of resources consumed for processing a given amount of work.

• … is not limited to resource types that are scaled as part of system’s adaptation mechanisms.

• Normally, better elasticity results in higher efficiency.

Efficiency

Backup: Scalability & Efficiency