How Hard Can It Be? Understanding the Complexity of Replica Aware - - PowerPoint PPT Presentation

how hard can it be
SMART_READER_LITE
LIVE PREVIEW

How Hard Can It Be? Understanding the Complexity of Replica Aware - - PowerPoint PPT Presentation

How Hard Can It Be? Understanding the Complexity of Replica Aware Virtual Cluster Embeddings Carlo Fuerst (TU Berlin, Germany), Maciek Pacut (University of Wroclaw, Poland) Paolo Costa (Microsoft Research, UK), Stefan Schmid (TU Berlin &


slide-1
SLIDE 1

How Hard Can It Be?

Understanding the Complexity of Replica Aware Virtual Cluster Embeddings

Carlo Fuerst (TU Berlin, Germany), Maciek Pacut (University of Wroclaw, Poland) Paolo Costa (Microsoft Research, UK), Stefan Schmid (TU Berlin & T-Labs, Germany)

slide-2
SLIDE 2

Today‘s Cloud Computing

8

slide-3
SLIDE 3

Today‘s Cloud Computing

Source: Ballani et al. [1] in Sigcomm‘11

8

slide-4
SLIDE 4

Today‘s Cloud Computing

Source: Ballani et al. [1] in Sigcomm‘11

“Hadoop traces from Facebook show that, on average, transferring data between successive stages accounts for 33% of the running times of jobs with reduce phases”

Source: Chowdhury et al. [2] in Sigcomm’11

8

slide-5
SLIDE 5

Today‘s Cloud Computing

Source: Ballani et al. [1] in Sigcomm‘11

Costs for the tenats become unpredictable

“Hadoop traces from Facebook show that, on average, transferring data between successive stages accounts for 33% of the running times of jobs with reduce phases”

Source: Chowdhury et al. [2] in Sigcomm’11

8

slide-6
SLIDE 6

Proposed Solutions: Virtual Clusters

v2 v1

9

slide-7
SLIDE 7

Proposed Solutions: Virtual Clusters

v2 v1

?

9

slide-8
SLIDE 8

Proposed Solutions: Virtual Clusters

Remove the uncertainty by specifiying the bandwidth connecting the VMs

v2 v1

9

slide-9
SLIDE 9

Proposed Solutions: Virtual Clusters

  • Introduced by Ballani et al. [1]
  • Provides absolute guarantees on VMs and network perfomance
  • Specified by two parameters:
  • N the number of VMs
  • B the available bandwidth between VMs.

10

slide-10
SLIDE 10

Embedding

v2 v1

13

slide-11
SLIDE 11

Embedding

v2 v1

13

slide-12
SLIDE 12

Embedding

v2 v1

13

slide-13
SLIDE 13

v2 v1

Embedding

14

slide-14
SLIDE 14

v2 v1

Embedding

14

slide-15
SLIDE 15

v2 v1

Embedding

14

slide-16
SLIDE 16

Embedding

15

v2 v1

slide-17
SLIDE 17

Virtual Cluster Embedding Problem

  • Subproblem of the NP-hard virtual network embeddding problem
  • Good heuristics available
  • Ballani et al. [1] in Sigcomm’11
  • Xie et al. [3] in Sigcomm’12

16

slide-18
SLIDE 18

Virtual Cluster Embedding Problem

  • Subproblem of the NP-hard virtual network embeddding problem
  • Good heuristics available
  • Ballani et al. [1] in Sigcomm’11
  • Xie et al. [3] in Sigcomm’12

but…

16

slide-19
SLIDE 19

Virtual Cluster Embedding Problem

  • Subproblem of the NP-hard virtual network embeddding problem
  • Good heuristics available
  • Ballani et al. [1] in Sigcomm’11
  • Xie et al. [3] in Sigcomm’12

but…

The virtual cluster embedding problem is not NP-hard.[4]

16

slide-20
SLIDE 20

Can the problem be solved efficiently with additional properties?

slide-21
SLIDE 21

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-22
SLIDE 22

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-23
SLIDE 23

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-24
SLIDE 24

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-25
SLIDE 25

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task
  • 3. The output of the map task is

transfered to reduce tasks (shuffle)

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-26
SLIDE 26

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task
  • 3. The output of the map task is

transfered to reduce tasks (shuffle)

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-27
SLIDE 27

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task
  • 3. The output of the map task is

transfered to reduce tasks (shuffle)

  • 4. Reduce tasks are executed

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-28
SLIDE 28

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task
  • 3. The output of the map task is

transfered to reduce tasks (shuffle)

  • 4. Reduce tasks are executed
  • 5. Once all reduce tasks finished there is

an aggregated output

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-29
SLIDE 29

Cloud Application: Batch processing

Example: MapReduce

  • 1. Input is given by a set of atomic chunks
  • 2. Every chunk is processed by a map task
  • 3. The output of the map task is

transfered to reduce tasks (shuffle)

  • 4. Reduce tasks are executed
  • 5. Once all reduce tasks finished there is

an aggregated output

c3 c2 c4 c1 v2 v1 v3 v4

18

slide-30
SLIDE 30

Shortcoming of Virtual Clusters

c3 c2 c4 c2 c1 c1 c3 c4

20

slide-31
SLIDE 31

Shortcoming of Virtual Clusters

21

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

slide-32
SLIDE 32

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

Shortcoming of Virtual Clusters

22

slide-33
SLIDE 33

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

Shortcoming of Virtual Clusters

Virtual Clusters provide a guarantee for the shuffle phase, but not for the transfer of chunks.

22

slide-34
SLIDE 34

Basic Problem

c2 c1 v2 v1

23

slide-35
SLIDE 35

Basic Solution

24

c2 c1 v2 v1

slide-36
SLIDE 36

Problem Decomposition

The basic problem can be extended with:

  • VM interconnect (NI)

25

slide-37
SLIDE 37

Problem Decomposition

c2 c1 v2 v1

26

slide-38
SLIDE 38

Problem Decomposition

27

c2 c1 v2 v1

slide-39
SLIDE 39

Problem Decomposition

The basic problem can be extended with:

  • VM interconnect (NI)
  • Replica Selection (RS)

28

slide-40
SLIDE 40

Problem Decomposition

29

c2 c1 v2 v1

slide-41
SLIDE 41

Problem Decomposition

30

c2 c2 c1 c1 v2 v1

slide-42
SLIDE 42

Problem Decomposition

The basic problem can be extended with:

  • VM interconnect (NI)
  • Replica Selection (RS)
  • Multiple Assignment (MA)

31

slide-43
SLIDE 43

Problem Decomposition

32

c2 c2 c1 c1 v2 v1

slide-44
SLIDE 44

Problem Decomposition

33

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

slide-45
SLIDE 45

Problem Decomposition

The basic problem can be extended with:

  • VM interconnect (NI)
  • Replica Selection (RS)
  • Multiple Assignment (MA)
  • Free placement of VMs (FP)

34

slide-46
SLIDE 46

Problem Decomposition

35

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

slide-47
SLIDE 47

Problem Decomposition

36

c3 c2 c4 c2 c1 c1 c3 c4 v2 v1

slide-48
SLIDE 48

Problem Decomposition

The basic problem can be extended with:

  • VM interconnect (NI)
  • Replica Selection (RS)
  • Multiple Assignment (MA)
  • Free placement of VMs (FP)
  • Bandwidth Constraints (BW)

37

slide-49
SLIDE 49

Problem Decomposition

38

slide-50
SLIDE 50

What is in the Paper?

  • Trivial problem identification

39

slide-51
SLIDE 51

What is in the Paper?

40

slide-52
SLIDE 52

What is in the Paper?

  • Trivial problem identification
  • Matching based algorithms

41

slide-53
SLIDE 53

What is in the Paper?

42

slide-54
SLIDE 54

What is in the Paper?

43

slide-55
SLIDE 55

What is in the Paper?

  • Trivial problem identification
  • Matching based algorithms
  • Flow based algorithm

44

slide-56
SLIDE 56

What is in the Paper?

45

slide-57
SLIDE 57

What is in the Paper?

46

slide-58
SLIDE 58

What is in the Paper?

  • Trivial problem identification
  • Matching based algorithms
  • Flow based algorithm
  • Hardness results

47

slide-59
SLIDE 59

What is in the Paper?

48

slide-60
SLIDE 60

Everything but Replicas (MA + NI + FP + BW)

49

slide-61
SLIDE 61

Everything but Replicas (MA + NI + FP + BW)

49

slide-62
SLIDE 62

Dynamic Programming

  • Create physical topology annotations in a bottom-up manner
  • Start at the servers
  • For each amount n of VMs in {0,...,N}
  • Set cost[n] to ∞ if n exceeds the servers capacity
  • Set cost[n] to the bandwidth costs of placing n VMs at the server

50

slide-63
SLIDE 63

c3 c2 c1 c4

Dynamic Programming

  • Max 1 VM per server
  • 2 Chunks per VM

51

slide-64
SLIDE 64

c3 c2 c1 c4

Dynamic Programming

  • Max 1 VM per server
  • 2 Chunks per VM

51

slide-65
SLIDE 65

Dynamic Programming

  • Create physical topology annotations in a bottom-up manner
  • Start at the servers
  • For each amount n of VMs in {0,...,N}
  • Set cost[n] to ∞ if n exceeds the servers capacity
  • Set cost[n] to the bandwidth costs of placing n VMs at the server
  • For each switch and each amount of VMs in {0,…,N}
  • Set cost[n] to the sum of the cheapest combination of the children and add

the costs for the bandwdith on the uplink

52

slide-66
SLIDE 66

c3 c2 c1 c4

Dynamic Programming

  • Max 1 VM per server
  • 2 Chunks per VM

53

slide-67
SLIDE 67

c3 c2 c1 c4

Dynamic Programming

  • Max 1 VM per server
  • 2 Chunks per VM

53

slide-68
SLIDE 68

Runtimes

  • Intel(R) Xeon(R) CPU L5420 @

2.50GHzwith (single threaded)

  • 512 MB
  • openjdk-7
  • Max 4 VMs per Server
  • 3 Chunks per VM

56

slide-69
SLIDE 69

Which problems can be solved like this?

57

slide-70
SLIDE 70

Which problems can be solved like this?

58

slide-71
SLIDE 71

What is in the Paper?

59

slide-72
SLIDE 72

Summary

  • Virtual clusters provide dedicated resource guarantees
  • Datalocality can be incorporated into the virtual cluster abstraction
  • Problem decomposition into five properties
  • NP-hardness proofs for some property combinations
  • Algorithms for all other property combinations

60

slide-73
SLIDE 73

References

[1] Ballani et al. „Towards Predictable Datacenter Networks“ The ACM SIGCOMM Conference on Data Communication (SIGCOMM'11), Toronto,Canada, August 2011 [2] Chowdhury et al. „Managing Data Transfers in Computer Clusters with Orchestra.“ The ACM SIGCOMMConference on Data Communication (SIGCOMM'11) [3] D. Xie, et al. "The only constant is change: incorporating time-varying network reservations in data centers." The ACM SIGCOMMConference on Data Communication (SIGCOMM'12) [4] M. Rost, et al. "Beyond the stars: Revisiting virtual cluster embeddings." ACM SIGCOMM Computer Communication Review 45.3(2015)

61