PageRankVM A PageRank Based Algorithm with Anti-Collocation - - PowerPoint PPT Presentation

pagerankvm
SMART_READER_LITE
LIVE PREVIEW

PageRankVM A PageRank Based Algorithm with Anti-Collocation - - PowerPoint PPT Presentation

PageRankVM A PageRank Based Algorithm with Anti-Collocation Constraints for Virtual Machine Placement in Cloud Datacenters Zhuozhao Li Haiying Shen Cole Miles University of Virginia July 3, 2018 1 / 19 Virtual Machine Placement In a cloud


slide-1
SLIDE 1

PageRankVM

A PageRank Based Algorithm with Anti-Collocation Constraints for Virtual Machine Placement in Cloud Datacenters Zhuozhao Li Haiying Shen Cole Miles

University of Virginia

July 3, 2018

1 / 19

slide-2
SLIDE 2

Virtual Machine Placement

In a cloud datacenter, one wants to satisfy demands for varying types of virtual machines while utilizing as few physical machines as possible.

. . .

?

. . .

2 / 19

slide-3
SLIDE 3

Virtual Machine Placement

Problem Statement

Model both VMs and PMs as vectors, where each dimension is a different resource. Example: Write machine resources as

  

CPU Memory Disk

  

VMs =

       

1 1 2

   ,   

2 3 2

       

PMs =

       

4 4 4

       

3 / 19

slide-4
SLIDE 4

Virtual Machine Placement

Problem Statement

Model both VMs and PMs as vectors, where each dimension is a different resource. Example: Write machine resources as

  

CPU Memory Disk

  

VMs =

       

1 1 2

   ,   

2 3 2

       

PMs =

       

4 4 4

       

  • ,
  • 3 / 19
slide-5
SLIDE 5

Virtual Machine Placement

Anti-Collocation Constraints

In addition, we want to satisfy sets of anti-collocation constraints on certain resources. Solution Treat anti-collocation constrained resources as multiple dimensions in the resource vector

4 / 19

slide-6
SLIDE 6

Virtual Machine Placement

Anti-Collocation Constraints

In addition, we want to satisfy sets of anti-collocation constraints on certain resources. Solution Treat anti-collocation constrained resources as multiple dimensions in the resource vector Permuting same resource type OK: ≡

4 / 19

slide-7
SLIDE 7

Virtual Machine Placement

Vector Bin Packing

The problem of allocating VMs to physical machines in datacenters is analogous to the vector bin packing problem VMs . . . Pack PMs . . .

5 / 19

slide-8
SLIDE 8

Virtual Machine Placement

Vector Bin Packing

The problem of allocating VMs to physical machines in datacenters is analogous to the vector bin packing problem VMs . . . Pack PMs . . . Issue: Vector Bin Packing is an NP-Hard problem!

5 / 19

slide-9
SLIDE 9

Virtual Machine Placement

Vector Bin Packing - Differences

However, the VM packing problem deviates from standard vector bin packing in a few ways

◮ Don’t know full set of vectors to pack at a single time ◮ Vectors are pulled from a fixed, known set we decide upon ◮ Allowed to permute some dimensions of the vector (CPU cores)

6 / 19

slide-10
SLIDE 10

Previous Solutions

Try to maximize PM usage or minimize PM variance

◮ First Fit - Assign VM to first PM it fits into ◮ First Fit Decreasing Sum - Assign VM to the PM whose resource

utilization is highest

◮ CompVM (Dot Product) ◮ Integer Linear Programming

7 / 19

slide-11
SLIDE 11

Previous Solutions

Try to maximize PM usage or minimize PM variance

◮ First Fit - Assign VM to first PM it fits into ◮ First Fit Decreasing Sum - Assign VM to the PM whose resource

utilization is highest

◮ CompVM (Dot Product) ◮ Integer Linear Programming

Do not account for resource imbalances Unusable resources!

7 / 19

slide-12
SLIDE 12

Previous Solutions

Try to maximize PM usage or minimize PM variance

◮ First Fit - Assign VM to first PM it fits into ◮ First Fit Decreasing Sum - Assign VM to the PM whose resource

utilization is highest

◮ CompVM (Dot Product) ◮ Integer Linear Programming

Assigns VMs to complementary PMs, but is not aware of the set of VM types or the best final PM state

7 / 19

slide-13
SLIDE 13

Previous Solutions

Try to maximize PM usage or minimize PM variance

◮ First Fit - Assign VM to first PM it fits into ◮ First Fit Decreasing Sum - Assign VM to the PM whose resource

utilization is highest

◮ CompVM (Dot Product) ◮ Integer Linear Programming

Too slow for large problem instances

7 / 19

slide-14
SLIDE 14

Desired Solution

Goal Minimize the number of wasted resources in each dimension.

◮ Needs to be efficient at assignment time ◮ Capable of handling anti-collocation constraints ◮ Minimizes the total number of PMs used

8 / 19

slide-15
SLIDE 15

PageRankVM

Profile Graph

Idea Describe each possible state of a PM as a profile. Link these together into a graph based on possible transitions between states. Example Let VMs = {[1, 1, 1, 1], [1, 2, 1, 1], [1, 1, 2, 2]}.

  • ,

,

  • Let PMs = {[4, 4, 4, 4]}.
  • 9 / 19
slide-16
SLIDE 16

PageRankVM

Profile Graph

slide-17
SLIDE 17

PageRankVM

Profile Graph

slide-18
SLIDE 18

PageRankVM

Profile Graph

slide-19
SLIDE 19

PageRankVM

Profile Graph

slide-20
SLIDE 20

PageRankVM

Profile Graph

Same profile!

slide-21
SLIDE 21

PageRankVM

Profile Graph

slide-22
SLIDE 22

PageRankVM

Profile Graph

slide-23
SLIDE 23

PageRankVM

Profile Graph

slide-24
SLIDE 24

PageRankVM

Profile Graph

slide-25
SLIDE 25

PageRankVM

Profile Graph

10 / 19

slide-26
SLIDE 26

Desired Metric Qualities

11 / 19

slide-27
SLIDE 27

Desired Metric Qualities

Want to rank each profile based on

◮ how connected it is to

higher-utilization profiles

◮ how flexible the profile is

to accommodating various VM types

11 / 19

slide-28
SLIDE 28

Desired Metric Qualities

Want to rank each profile based on

◮ how connected it is to

higher-utilization profiles

◮ how flexible the profile is

to accommodating various VM types = ⇒ PageRank!

11 / 19

slide-29
SLIDE 29

PageRank

Initialize PageRanks uniformly PR(pi; 0) = 1 N At each time step update as PR(pi; t+1) = 1 − d N +d

  • pj∈M(pi)

PR(pj; t) L(pj)

12 / 19

slide-30
SLIDE 30

PageRank

On Our Profile Graph

13 / 19

slide-31
SLIDE 31

PageRank

On Our Profile Graph

0.267 0.091 0.123 0.088 0.032 0.046 0.032 0.022 0.018 0.034 0.018 0.018 0.018

13 / 19

slide-32
SLIDE 32

PageRankVM

At assignment time Out of your active PMs, assign the VM to the PM whose resulting profile has the highest PageRank. Activate more PMs if current set of PMs gets too full

14 / 19

slide-33
SLIDE 33

PageRankVM

At assignment time Out of your active PMs, assign the VM to the PM whose resulting profile has the highest PageRank. Activate more PMs if current set of PMs gets too full Example ← PMs ← VM to place

14 / 19

slide-34
SLIDE 34

Experiments

Simulation

◮ PM Usage ◮ VM Migrations ◮ Energy Consumption ◮ SLO Violations

Real Testbed

◮ PM Usage ◮ VM Migrations ◮ SLO Violations

15 / 19

slide-35
SLIDE 35

Experiment

Simulation

Simulation performed on CloudSim using VM and PM types below.

16 / 19

slide-36
SLIDE 36

Experiment

CloudSim

3000 VMs were allocated in batches of 1000. CPU utilization of VMs were given by two public traces. Results are averaged over 100 trials. PM Usage

500 1000 1500 2000 1000 2000 3000

Number of PMs Number of VMs

FF FFDSum CompVM PageRankVM

(a) PlanetLab

200 400 600 800 1000 1200 1000 2000 3000

Number of PMs Number of VMs

FF FFDSum CompVM PageRankVM

(b) Google Cluster VM Migrations

200 400 600 800 1000 1200 1000 2000 3000

Number of migrations Number of VMs

FF FFDSum CompVM PageRankVM

(a) PlanetLab

50 100 150 200 250 300 350 1000 2000 3000

Number of migrations Number of VMs

FF FFDSum CompVM PageRankVM

(b) Google Cluster

17 / 19

slide-37
SLIDE 37

Summary

PageRankVM is a heuristic VM placement algorithm that:

◮ Reduces the total number of PMs needed to host VM demands ◮ Satisfies anti-collocation constraints by considering VM permutations ◮ Has very low placement-time cost

18 / 19

slide-38
SLIDE 38

Questions

?

19 / 19