Top Banner
Fabien Hermenier Resource management in IaaS cloud
166

Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Jul 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Fabi

en H

erm

enier

Resource management in IaaS cloud

Page 2: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

where to place the VMs

how much to allocate?

Page 3: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

1What can a resource manager do for you

3

Page 4: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

2Models of VM scheduler

4

Page 5: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

3Implementing VM schedulers

5

Page 6: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

1What can a resource manager do for you

6

Page 7: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

central piece of code

provide the awaited Quality of Service address the management objectives

Page 8: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

?

the RM should solve that

VM1VM2 V

M3

VM4 VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

Page 9: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the RM should prevent that

VM1

VM

3

VM4VM5

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem VM6

VM2

Page 10: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

a contract where a service is formally defined

Service

Agreement

Levelperformance indicator

MTTRMTBF

availability (MTBF/MTTR + MTBF)pricing

penalties…

Page 11: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

uptime as the only Key Performance Indicator (KPI)?

Page 12: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Cloud Performance SLAs

What customers wantguaranteed capacities (CPU, memory, bw)

guaranteed latencies/throughput (network, load balancer, disk)

What providers give-

Page 13: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem
Page 14: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the objectiveprovider side

min(x) or max(x)

Page 15: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

min(penalties)min(Total Cost Ownership)

min(unbalance)

atomic objectives

Page 16: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

min(αx + β y)

composite objectivesusing weights

useful to model sth. you don’t understand ?How to estimate coefficients ?

min(α TCO + β VIOLATIONS)max(REVENUES)

€ as a common quantifier:

Page 17: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

?Should a client ask for an objective

Page 18: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

?Should a client ask for an objective

no if the provider cannot prove it is achieved

proving a latency is minimal …one can check the latency is below a threshold

Page 19: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM-host affinity (DRS 4.1)

Dedicated instances (EC2)

MaxVMsPerServer (DRS 5.1)

apr. 2011

mar. 2011

sep. 2012

The constraint needed in 2012

?? 2013

VM-VM affinity (DRS)

2010 ?

Dynamic Power Management (DRS 3.1)

2009 ?

SLOs and objectives are evolving

there is no holy grail

Page 20: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

2Models of VM schedulers

20

Page 21: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

monitoring data

VM queue

actu

ator

sVM scheduler

cloud model

decisions

Page 22: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

sche

dulin

g m

odel

s

static dynamic schedulers

static dynamic resource allocation

Page 23: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

VM7

Page 24: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

VM7

Page 25: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

VM7

Page 26: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Combinatorial problem !

past decisions impact the future ones

Page 27: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

buffering might help

Page 28: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

buffering might help

Page 29: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulers

VM7

buffering might help

Page 30: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulersVM7

buffering might help

Page 31: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

static schedulersVM7

buffering might help

/!\ incoming ratestarvation

Page 32: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static schedulersmanipulate the VM queue only

react on VM arrival

Page 33: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static schedulersproseasy to model simple standard actions manage a few elements

Page 34: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static schedulerscons

hard to perform fine grain optimisation

Page 35: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

dynamic schedulers

consider every VMs

Page 36: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

dynamic schedulers

consider every VMs

Page 37: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

dynamic schedulers

consider every VMs

VM7

Page 38: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

dynamic schedulers

consider every VMs

VM7

Page 39: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM1

VM2 VM

3

VM4VM5

VM

6

N1 N2

N4N3

cpu cpu

cpucpu

mem

mem

mem

mem

dynamic schedulers

consider every VMsVM7

Page 40: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersmanipulate the VM queue

reconfigure the schedule with migrations

Page 41: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersa migration takes time

Page 42: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersa migration impacts performance

Page 43: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulers

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

?

dependency management

VM1

VM1

VM2 VM2

VM3

VM4

VM5VM5

VM

6

VM

6

VM3

VM4

Page 44: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersdependency management

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5V

M6

Page 45: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersdependency management

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5V

M6

Page 46: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersdependency management

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5V

M6

Page 47: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersdependency management

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1

VM2

VM3

VM4

VM5V

M6

Page 48: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscyclic dependencies

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1

VM5VM3

VM4

anti-affinity(VM3,VM4)min(#onlineNodes)

?

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1

VM4VM3

VM5

anti-affinity(VM3,VM4)min(#onlineNodes)

Page 49: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscyclic dependencies

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1

VM5VM3

VM4

a pivot to break the cycle

fix or prevent the situation ?

Page 50: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscyclic dependencies

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1

VM5VM3

VM4a pivot to break the cycle

fix or prevent the situation ?

Page 51: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscyclic dependencies

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1VM5

VM3

VM4a pivot to break the cycle

fix or prevent the situation ?

Page 52: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscyclic dependencies

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

VM1VM5

VM3 VM4

a pivot to break the cycle

fix or prevent the situation ?

Page 53: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

Page 54: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

Page 55: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

Page 56: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1

VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

Page 57: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1

VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

Page 58: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

Page 59: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

Page 60: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

Page 61: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

sol #2: 1m,1m1m

Page 62: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

min(#onlineNodes) = 3

sol #1: 1m,1m,2m

sol #2: 1m,1m1m

lower MTTR (faster)

Page 63: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersquality at a price

the objective should reflect reconfiguration costs

min(MTTR), min(#migrations),…

Page 64: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulersproscontinuous optimisation through reconfiguration

Page 65: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic schedulerscons

harder to model harder to scale

technically expensive costly reconfiguration

Page 66: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

benefits depends on

dynamic scheduling is rare in public or large clouds

dynamic scheduling for the win

in theory yes but that’s theory

the workload the objective/ SLAs the infrastructure

?

Page 67: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static dynamic

schedulersstatic dynamic

resource allocation

sche

dulin

g m

odel

s

Page 68: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static resource allocation

cpu, ram, i/o, bandwidth allocated once for all

allocation != utilisation

N1

mem

no sharing conservative allocation

pcpu

VM1

VM2

VM3

Page 69: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 pcpu

mem

sharing (overbooking)

performance loss with concurrent accesses

acceptable if stated in the SLA

static resource allocation

VM1

VM2

VM3

Page 70: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

cpu, ram, i/o, bandwidth allocated can be revised

N1 pcpu

mem

to fix violations

VM1

VM3

VM2

Page 71: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

cpu, ram, i/o, bandwidth allocated can be revised

N1 pcpu

mem

to fix violations

VM1

VM2

Page 72: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

cpu, ram, i/o, bandwidth allocated can be revised

N1 pcpu

mem

to fix violations

VM1

VM2

Page 73: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

N1 pcpu

mem

to support vertical elasticity

VM1

VM2

VM3

Page 74: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

N1 pcpu

mem

VM1

VM2

to support vertical elasticity

VM3

Page 75: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

N1 pcpu

mem

VM1

VM2

to support vertical elasticity

Page 76: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic resource allocation

N1 pcpu

mem

N1 pcpu

mem

VM1

VM2

to support vertical elasticity

VM2

Page 77: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

benefits depends on

dynamic resource allocation for the win

common on CPU + overbooking (inc. hosting capacity)

the workload the objective/ SLAs the infrastructure

?exceptional for memory

(huge performance loss)

Page 78: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

RECAP50

Page 79: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

The VM scheduler makes cloud benefits real

51

Page 80: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

no holy grail

52

Page 81: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

think about what is costly

53

Page 82: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static scheduling for a peaceful life

54

Page 83: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dynamic scheduling to cease the day

55

Page 84: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

with great power comes great responsibility

56

Page 85: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Coding a VM scheduler3

Page 86: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem
Page 87: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

static or dynamic scheduler allocation

does the workload/SLA/objective requires migration

VM scheduling is hard

?

?

maximum duration to schedule ?

Page 88: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

issues with large infrastructures or hard problems

fast adhoc heuristics despite corner cases

some use biased complete approaches (linear programming, constraint programming)

VM scheduling is NP-Hard

like him

Page 89: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

vector packing problemitems with a finite volume to

place inside finite bins

the basic to model the infra. 1 dimension = 1 resource

a generalisation of the bin packing problem

VM1

VM

3

N1 cpu

mem

VM2

VM

4

N2 cpu

mem

Page 90: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

?Which resource can be modeled as a

packing dimension

Page 91: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

?Which resource can be modeled as a

packing dimension

CPU, memory, disk IO, licences cardinality, network boundaries, …end to end network

Page 92: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrations

temporary, resources are used on the source and the destination nodes

Page 93: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

easy to implement

Page 94: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

easy to implementVM4

Page 95: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3 VM5

VM

6

easy to implementVM4

Page 96: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3 VM5

VM

6

easy to implement

VM

6

VM4

Page 97: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3 VM5

easy to implementVM4

VM

6

Page 98: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3 VM5

easy to implementVM1VM4

VM

6

Page 99: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsa simple way

n-phases vector packing

VM duplication between 2 phases to simulate the migration

hard to manipulate to compute long term previsionsN3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM2

VM3 VM5

easy to implementVM4

VM

6

VM1

Page 100: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsthe alternative way

1-phase

+ compute dependencies step by steps

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2

VM3

VM4

VM5

VM

6

ok to implement

N5 cpu

memVM7

offline(N2) + no CPU sharing

cycles #migrations/!\

Page 101: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsthe alternative way

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1 VM2VM3VM5V

M6

N5 cpu

mem

VM7 VM4

Page 102: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsthe alternative way

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2 cpu

mem

VM1

VM2

VM3

VM5V

M6

N5 cpu

mem

VM7

1) migrate VM2, migrate VM4, migrate VM5

VM4

Page 103: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to support migrationsthe alternative way

N3 cpu

mem

N1 cpu

mem

N4 cpu

mem

N2

VM1

VM2

VM3

VM5V

M6

N5 cpu

mem

VM7

1) migrate VM2, migrate VM4, migrate VM52) shutdown(N2), migrate VM7

VM4

Page 104: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

coarse grain staging delay actions

mig(VM2)

mig(VM4)

mig(VM5)

off(N2)

mig(VM7)

timestage1 stage2

Page 105: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 106: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 107: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 108: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 109: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 110: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the clean way to model space and time

Resource-Constrained Project Scheduling Problem

N1

N2

N3

N4

time

VM1

VM5VM6

VM3VM7

VM4VM2 off

0

VM1

VM3

VM7

N5

VM5

VM4VM2

VM6

3 4 8

Page 111: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

the pure way to support migrations

Resource-Constrained Project Scheduling Problem

1 resource per (node x dimension), bounded capacity

tasks to model the VM lifecycle. height to model a consumption width to model a duration

at any moment, the cumulative task consumption on a resource cannot exceed its capacity

comfortable to express continuous optimisation

very hard to implement (properly)

Page 112: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

From a theoretical schedule to a practical one

duration may be longer

0:3 - migrate VM4 0:3 - migrate VM5 0:4 - migrate VM2 3:8 - migrate VM7 4:8 - shutdown(N2)

convert to an event based schedule

- : migrate VM4 - : migrate VM5 - : migrate VM2 !migrate(VM2) & !migrate(VM4): shutdown(N2) !migrate(VM5): migrate VM7

Page 113: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Back to vector packing

based approaches

Page 114: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Fit Fit Decrease (FFD)basic VM scheduling

sort VMs in desc order for each VM pick the first suitable node

Page 115: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Fit Fit Decrease (FFD)basic VM scheduling

sort VMs in desc order for each VM pick the first suitable node

difficult VMs first !

Page 116: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Fit Fit Decrease (FFD)basic VM scheduling

sort VMs in desc order for each VM pick the first suitable node

difficult VMs first !enough free resources

Page 117: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 N2 N3 N4

V1

V2

V3

V4

Fit Fit Decrease (FFD)example

Page 118: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 N2 N3 N4

V1

V2

V3

V4

Fit Fit Decrease (FFD)example

Page 119: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 N2 N3 N4

V1

V2

V3

V4

Fit Fit Decrease (FFD)example

Page 120: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 N2 N3 N4

V1

V2

V3

V4

Fit Fit Decrease (FFD)example

Page 121: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

N1 N2 N3 N4

V1

V2

V3

V4

Fit Fit Decrease (FFD)example

Page 122: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

multi-dimension sorting ?

V1

V2

V3

V4 easy, 1 dimension is varying

V1

V3

V4 easy, uniform variation

?V1

V3

V4

Page 123: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

multi-dimension sorting ?

V1

V2

V3

V4 easy, 1 dimension is varying

V1

V3

V4 easy, uniform variation

V1

V3

V4 sort by dimension

aggregate dimensions find the most critical one …

Page 124: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Balancing VMs

Page 125: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Why?

Page 126: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Why?to reduce loss in terms of failures to reduce hotspots to absorb load spikes

Page 127: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

balancingmin(stddev([load(n ), … , load(n )]))

in theory

1 i

min(max([load(n ), … , load(n )]),min([load(n ), … , load(n )]),)

1 i

1 i

OR

Page 128: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Worst Fit Decrease (WFD)balancing, a practice

sort VMs in desc order for each VM pick the suitable node with the highest remaining space

Page 129: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

balancing over multiple dimensions

?

Page 130: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

dimension normalisation worst dimension dimension aggregation current state vs. next state

balancing over multiple dimensions

?

Page 131: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM-host affinity (DRS 4.1)

Dedicated instances (EC2)

MaxVMsPerServer (DRS 5.1)

apr. 2011

mar. 2011

sep. 2012

The constraint needed in 2012

?? 2013

VM-VM affinity (DRS)

2010 ?

Dynamic Power Management (DRS 3.1)

2009 ?

What about the SLOs ?

Page 132: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

SLOs inject additional rules

placement constraint (anti)affinity rules

VM-VM, VM-PM, relative, absolute

temporal constraint precedences, parralelism, sequence

fault tolerance, hw. compatibility, security

control between actionscontrol, performance

counting constraint

per node, group of nodes, resourceperformance, licensing restriction

… …

Page 133: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

discrete constraints

spread(VM[1,2]) ban(VM1, N1) ban(VM2, N2)

N1

N2

N3

VM1

VM2

N1

N2

N3

VM1

VM2

continuous constraints

>>spread(VM[1,2]) ban(VM1, N1) ban(VM2, N2)

harder scheduling problem (think about actions interleaving)

“simple” spatial problem

Page 134: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

soft constraints

hard constraints

must be satisfied all or nothing approach not always meaningful

satisfiable or not internal or external penalty model

harder to implement/scale hard to standardise ?

spread(VM[1..50])

mostlySpread(VM[1..50], 4, 6)

Page 135: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

energy efficient VM scheduler

Page 136: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

(Environmental Protection Agency, 2007)

of the 2005 budget

1.5%

in 2010 ?3 %USA

Page 137: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem
Page 138: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

1Consume less2003

Page 139: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ●●●●●

●●●

●●●●●●

●●●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●

●●●●●●●●●●●●●●●●●●●●●●●●

●●●

●●●●●●●●●●●●

●●●●●●●●●●●●●

●●

●●●●●●●●

●●●

●●●●●●●●●●●●

●●●

●●●●●●●●●●

●●●

●●●●●●●

●●●

●●

●●●●●●●●

●●●●●●●●●

●●●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●●●

●●

●●

●●●●●

●●●●●●●

●●

●●

●●

●●●●

●●●

●●●●●

●●

●●●

●●●●●●●●●●●●●●

●●

●●●●●●●●

●●●●●●●●●●●●

●●

●●●●●●●●●●

●●●●

●●●●●●●●●●●●●●●●

●●●

●●●●

●●

●●●●●●●●●●●●●

●●

●●●●●●

●●●●

●●

●●●●●●

●●

●●●●●●●●●

●●

●●

●●●

●●●

●●

●●

●●●●●●●●

●●

●●●●●●●●

●●

●●●●●●●●●

●●●

●●

●●●●●

●●●

110

120

130

140

150

160

170

180

0 1 2 3 4VM #

Con

sum

ptio

n (W

att)

Node consumption statistics (Cluster edel, 128GB HDD)

110 W

175 W

servers are not energy efficient

Page 140: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

how to reduce consumption with identical nodes

?

Page 141: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

The principles

place VMs on the minimum number of nodes

turn off idle nodes

rince/repeat for the dynamic version

Page 142: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Best Fit Decrease (BFD)a simple heuristic to pack VMs

sort VMs in desc order for each VM pick the suitable node with the least remaining space

efficiency decreases when nb. of dimensions increase

Page 143: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

2-pass dynamic VM packingto manage the running VMs

on saturated nodes, BFD to move away VMs on non-saturated nodes

on low-loaded nodes, BFD to move away VMs on heavily loaded nodes

1) address performance issues

2) address energy efficiency issues

many variations using threshold based systems, load predictions …

Page 144: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

No packing 2-passes packing

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

1Domain-1

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

2

Domain-2

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

3

Domain-3

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

4

Time (in sec.)

Domain-4

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

1

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

2

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

3

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

4

Time (in sec.)boot time Domain-4 Domain-3 Domain-2 Domain-1

Page 145: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

No packing 2-passes packing

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

1Domain-1

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

2

Domain-2

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

3

Domain-3

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

4

Time (in sec.)

Domain-4

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

1

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

2

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

3

0

25

50

75

100

0 500 1000 1500 2000 2500

% C

PU N

ode-

4

Time (in sec.)boot time Domain-4 Domain-3 Domain-2 Domain-1

worthy ?

Page 146: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

300

400

500

600

700

800

0 5 10 15 20 25 30 35 40

Ener

gy (W

atts

)

Time (min)Native execution IVS execution prototype

baseline IVS 2-pass VM packing

interesting gains, the node boot time was the bottleneck

simplistic model (identical nodes)

Page 147: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Consequences of having heterogeneous nodes ?

Page 148: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Consequences of having heterogeneous nodes ?

different performance different Power Usage Effectiveness

how to estimate the benefits of a migration ?

Page 149: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

a specialised model

vector packing problem +performance model +power model +cost model +…

Page 150: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

power modelsestimate the energy consumption

usually linear equations

model the static and the dynamic energy profile of the components

Wh(node) = α Hw +β

Page 151: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

VM performance models

a model to map VM performance with their host

a neutral performance unit mips, ECU, GCU, …

perf(VM, N) = α %cpu +βn

Page 152: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

multi-core CPUs, DDR3 memory, spinning HD, PUE / CUE, boot/shutdown time

VM template migration duration

migration payback time

hw. particularities

a fine-grain power model

workload particularities

Page 153: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

coarse to fine grain optimisation

-16%

-47%

- 27%-7%

Page 154: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

2Consume better2012 from a spatial to a temporal point of view

Page 155: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

2013 2016

let existing and new data centres become energy adaptive

DC4Cities

Page 156: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

0

25

50

75

100

16/01 17/01 18/01 19/01 20/01Date

rene

wabl

e po

wer (

%)

0

200

400

600

16/01 17/01 18/01 19/01 20/01Date

Powe

r (W

)

grid renewable part

sunroof PV production

renewable energies are intermittent

Page 157: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

1000

1500

2000

2500

3000

23:00 05:00 11:00 17:00 23:00Time

Request/s

0.0

0.5

1.0

1.5

2.0

0 200 400 600 800Performance degradation (Req/s)

Pena

lty (e

uros

)

6 to 20 moonshot cartridges

penalty modelSLO

so are elastic and batch-oriented applications

Page 158: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

align workload to renewable energies availability

DC4Cities

Page 159: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

shape EASCs for sustainable profitability

forecasts

energyproviders

sustainable objectiveEasc

application descriptor

elected working modes

smart cityauthority

Easc...Carverweb service

videotranscoder

energy adaptiveapplications

min(penalty(SLO) + penalty(SMA) + price(E))pick WMs such as

Page 160: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

Energy Adaptive Software Components

attached to an application

exhibit - working modes - SLO (cumulative or instant) - actuators

(see UCC’15 paper)

Page 161: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

An automaton for each EASC model the behavior,

+ penalty functions for the SMA, the SLA

Page 162: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

0

100

200

300

400

500

16/01 17/01 18/01 19/01 20/01Date

Watts

applicationE−learningG−indexingWebsite

0

200

400

16/01 17/01 18/01 19/01 20/01Date

Watts

applicationE−learningG−indexingWebsite

0

200

400

16/01 17/01 18/01 19/01 20/01Date

Watts

applicationE−learningG−indexingWebsite

baseline (satisfy perf )

“green” (max renewable)

carver

Page 163: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

17/01/15 18/01/15 19/01/15 20/01/15

0

1000

2000

perf

green

Carver pe

rfgre

enCarv

er perf

green

Carver pe

rfgre

enCarv

er

Run

ning

cos

t (eu

ros)

expenseenergySLOSMA

Resulting running costs

Page 164: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

RECAP114

Page 165: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

no holy grail

115

Page 166: Resource management in IaaS cloud · 2017-01-30 · VM5 6 min(#onlineNodes) = 3 sol #1: 1m,1m,2m. dynamic schedulers quality at a price N3 cpu mem N1 cpu mem N4 cpu mem N2 cpu mem

master the problem

116