how hard can it be
play

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 &


  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)

  2. Today‘s Cloud Computing 8

  3. Today‘s Cloud Computing Source: Ballani et al. [1] in Sigcomm‘11 8

  4. Today‘s Cloud Computing “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 Source: Ballani et al. [1] in Sigcomm‘11 8

  5. Today‘s Cloud Computing “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 Source: Ballani et al. [1] in Sigcomm‘11 Costs for the tenats become unpredictable 8

  6. Proposed Solutions: Virtual Clusters v 1 v 2 9

  7. Proposed Solutions: Virtual Clusters v 1 v 2 ? 9

  8. Proposed Solutions: Virtual Clusters v 1 v 2 Remove the uncertainty by specifiying the bandwidth connecting the VMs 9

  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

  10. Embedding v 1 v 2 13

  11. Embedding v 1 v 2 13

  12. Embedding v 1 v 2 13

  13. Embedding v 1 v 2 14

  14. Embedding v 1 v 2 14

  15. Embedding v 1 v 2 14

  16. Embedding v 1 v 2 15

  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

  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

  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

  20. Can the problem be solved efficiently with additional properties?

  21. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 v 3 v 1 c 2 v 4 v 2 c 3 c 4 18

  22. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 v 4 v 2 c 3 c 4 18

  23. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 v 4 v 2 c 3 c 4 18

  24. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 v 4 v 2 c 3 c 4 18

  25. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 3. The output of the map task is transfered to reduce tasks (shuffle) v 4 v 2 c 3 c 4 18

  26. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 3. The output of the map task is transfered to reduce tasks (shuffle) v 4 v 2 c 3 c 4 18

  27. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 3. The output of the map task is transfered to reduce tasks (shuffle) v 4 v 2 c 3 4. Reduce tasks are executed c 4 18

  28. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 3. The output of the map task is transfered to reduce tasks (shuffle) v 4 v 2 c 3 4. Reduce tasks are executed 5. Once all reduce tasks finished there is c 4 an aggregated output 18

  29. Cloud Application: Batch processing Example: MapReduce 1. Input is given by a set of atomic chunks c 1 2. Every chunk is processed by a map task v 3 v 1 c 2 3. The output of the map task is transfered to reduce tasks (shuffle) v 4 v 2 c 3 4. Reduce tasks are executed 5. Once all reduce tasks finished there is c 4 an aggregated output 18

  30. Shortcoming of Virtual Clusters c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 20

  31. Shortcoming of Virtual Clusters v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 21

  32. Shortcoming of Virtual Clusters v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 22

  33. Shortcoming of Virtual Clusters Virtual Clusters provide a guarantee for the shuffle phase, but not for the transfer of chunks. v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 22

  34. Basic Problem v 1 v 2 c 1 c 2 23

  35. Basic Solution v 1 v 2 c 1 c 2 24

  36. Problem Decomposition The basic problem can be extended with: • VM interconnect ( NI ) 25

  37. Problem Decomposition v 1 v 2 c 1 c 2 26

  38. Problem Decomposition v 1 v 2 c 1 c 2 27

  39. Problem Decomposition The basic problem can be extended with: • VM interconnect ( NI ) • Replica Selection ( RS ) 28

  40. Problem Decomposition v 1 v 2 c 1 c 2 29

  41. Problem Decomposition v 1 v 2 c 1 c 1 c 2 c 2 30

  42. Problem Decomposition The basic problem can be extended with: • VM interconnect ( NI ) • Replica Selection ( RS ) • Multiple Assignment ( MA ) 31

  43. Problem Decomposition v 1 v 2 c 1 c 1 c 2 c 2 32

  44. Problem Decomposition v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 33

  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

  46. Problem Decomposition v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 35

  47. Problem Decomposition v 1 v 2 c 4 c 1 c 1 c 3 c 4 c 2 c 2 c 3 36

  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

  49. Problem Decomposition 38

  50. What is in the Paper? • Trivial problem identification 39

  51. What is in the Paper? 40

  52. What is in the Paper? • Trivial problem identification • Matching based algorithms 41

  53. What is in the Paper? 42

  54. What is in the Paper? 43

  55. What is in the Paper? • Trivial problem identification • Matching based algorithms • Flow based algorithm 44

  56. What is in the Paper? 45

  57. What is in the Paper? 46

  58. What is in the Paper? • Trivial problem identification • Matching based algorithms • Flow based algorithm • Hardness results 47

  59. What is in the Paper? 48

  60. Everything but Replicas (MA + NI + FP + BW) 49

  61. Everything but Replicas (MA + NI + FP + BW) 49

  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

  63. Dynamic Programming • Max 1 VM per server • 2 Chunks per VM c 4 c 1 c 3 c 2 51

  64. Dynamic Programming • Max 1 VM per server • 2 Chunks per VM c 4 c 1 c 3 c 2 51

  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

  66. Dynamic Programming • Max 1 VM per server • 2 Chunks per VM c 4 c 1 c 3 c 2 53

  67. Dynamic Programming • Max 1 VM per server • 2 Chunks per VM c 4 c 1 c 3 c 2 53

  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

  69. Which problems can be solved like this? 57

  70. Which problems can be solved like this? 58

  71. What is in the Paper? 59

  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

Recommend


More recommend