how hard can it be?stefan/icnp_fuerst.pdf · •set cost[n] to the bandwidth costs of placing n vms...
TRANSCRIPT
![Page 1: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/1.jpg)
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)
![Page 2: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/2.jpg)
Today‘s Cloud Computing
8
![Page 3: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/3.jpg)
Today‘s Cloud Computing
Source: Ballani et al. [1] in Sigcomm‘11
8
![Page 4: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/4.jpg)
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
![Page 5: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/5.jpg)
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
![Page 6: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/6.jpg)
Proposed Solutions: Virtual Clusters
v2v1
9
![Page 7: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/7.jpg)
Proposed Solutions: Virtual Clusters
v2v1 ?
9
![Page 8: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/8.jpg)
Proposed Solutions: Virtual Clusters
Remove the uncertainty by specifiying the bandwidth connecting the VMs
v2v1
9
![Page 9: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/9.jpg)
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
![Page 10: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/10.jpg)
Embedding
v2v1
13
![Page 11: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/11.jpg)
Embedding
v2v1
13
![Page 12: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/12.jpg)
Embedding
v2v1
13
![Page 13: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/13.jpg)
v2v1
Embedding
14
![Page 14: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/14.jpg)
v2v1
Embedding
14
![Page 15: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/15.jpg)
v2v1
Embedding
14
![Page 16: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/16.jpg)
Embedding
15
v2v1
![Page 17: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/17.jpg)
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
![Page 18: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/18.jpg)
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
![Page 19: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/19.jpg)
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
![Page 20: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/20.jpg)
Can the problem be solved efficiently with additional properties?
![Page 21: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/21.jpg)
Cloud Application: Batch processing
Example: MapReduce
1. Input is given by a set of atomic chunks
c3
c2
c4
c1
v2
v1v3
v4
18
![Page 22: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/22.jpg)
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
v1v3
v4
18
![Page 23: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/23.jpg)
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
v1v3
v4
18
![Page 24: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/24.jpg)
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
v1v3
v4
18
![Page 25: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/25.jpg)
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
v1v3
v4
18
![Page 26: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/26.jpg)
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
v1v3
v4
18
![Page 27: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/27.jpg)
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
v1v3
v4
18
![Page 28: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/28.jpg)
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
v1v3
v4
18
![Page 29: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/29.jpg)
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
v1v3
v4
18
![Page 30: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/30.jpg)
Shortcoming of Virtual Clusters
c3 c2c4 c2c1c1 c3
c4
20
![Page 31: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/31.jpg)
Shortcoming of Virtual Clusters
21
c3 c2c4 c2c1c1 c3
c4v2v1
![Page 32: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/32.jpg)
c3 c2c4 c2c1c1 c3
c4v2v1
Shortcoming of Virtual Clusters
22
![Page 33: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/33.jpg)
c3 c2c4 c2c1c1 c3
c4v2v1
Shortcoming of Virtual Clusters
Virtual Clusters provide a guarantee for the shuffle phase, but not for the transfer of chunks.
22
![Page 34: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/34.jpg)
Basic Problem
c2c1
v2v1
23
![Page 35: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/35.jpg)
Basic Solution
24
c2c1
v2v1
![Page 36: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/36.jpg)
Problem Decomposition
The basic problem can be extended with:
• VM interconnect (NI)
25
![Page 37: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/37.jpg)
Problem Decomposition
c2c1
v2v1
26
![Page 38: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/38.jpg)
Problem Decomposition
27
c2c1
v2v1
![Page 39: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/39.jpg)
Problem Decomposition
The basic problem can be extended with:
• VM interconnect (NI)
• Replica Selection (RS)
28
![Page 40: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/40.jpg)
Problem Decomposition
29
c2c1
v2v1
![Page 41: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/41.jpg)
Problem Decomposition
30
c2 c2c1c1
v2v1
![Page 42: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/42.jpg)
Problem Decomposition
The basic problem can be extended with:
• VM interconnect (NI)
• Replica Selection (RS)
• Multiple Assignment (MA)
31
![Page 43: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/43.jpg)
Problem Decomposition
32
c2 c2c1c1
v2v1
![Page 44: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/44.jpg)
Problem Decomposition
33
c3 c2c4 c2c1c1 c3
c4v2v1
![Page 45: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/45.jpg)
Problem Decomposition
The basic problem can be extended with:
• VM interconnect (NI)
• Replica Selection (RS)
• Multiple Assignment (MA)
• Free placement of VMs (FP)
34
![Page 46: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/46.jpg)
Problem Decomposition
35
c3 c2c4 c2c1c1 c3
c4v2v1
![Page 47: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/47.jpg)
Problem Decomposition
36
c3 c2c4 c2c1c1 c3
c4
v2v1
![Page 48: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/48.jpg)
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
![Page 49: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/49.jpg)
Problem Decomposition
38
![Page 50: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/50.jpg)
What is in the Paper?
• Trivial problem identification
39
![Page 51: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/51.jpg)
What is in the Paper?
40
![Page 52: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/52.jpg)
What is in the Paper?
• Trivial problem identification
• Matching based algorithms
41
![Page 53: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/53.jpg)
What is in the Paper?
42
![Page 54: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/54.jpg)
What is in the Paper?
43
![Page 55: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/55.jpg)
What is in the Paper?
• Trivial problem identification
• Matching based algorithms
• Flow based algorithm
44
![Page 56: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/56.jpg)
What is in the Paper?
45
![Page 57: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/57.jpg)
What is in the Paper?
46
![Page 58: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/58.jpg)
What is in the Paper?
• Trivial problem identification
• Matching based algorithms
• Flow based algorithm
• Hardness results
47
![Page 59: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/59.jpg)
What is in the Paper?
48
![Page 60: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/60.jpg)
Everything but Replicas (MA + NI + FP + BW)
49
![Page 61: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/61.jpg)
Everything but Replicas (MA + NI + FP + BW)
49
![Page 62: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/62.jpg)
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
![Page 63: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/63.jpg)
c3 c2c1
c4
Dynamic Programming
• Max 1 VM per server
• 2 Chunks per VM
51
![Page 64: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/64.jpg)
c3 c2c1
c4
Dynamic Programming
• Max 1 VM per server
• 2 Chunks per VM
51
![Page 65: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/65.jpg)
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
![Page 66: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/66.jpg)
c3 c2c1
c4
Dynamic Programming
• Max 1 VM per server
• 2 Chunks per VM
53
![Page 67: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/67.jpg)
c3 c2c1
c4
Dynamic Programming
• Max 1 VM per server
• 2 Chunks per VM
53
![Page 68: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/68.jpg)
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
![Page 69: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/69.jpg)
Which problems can be solved like this?
57
![Page 70: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/70.jpg)
Which problems can be solved like this?
58
![Page 71: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/71.jpg)
What is in the Paper?
59
![Page 72: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/72.jpg)
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
![Page 73: How Hard Can It Be?stefan/icnp_fuerst.pdf · •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]](https://reader034.vdocument.in/reader034/viewer/2022050217/5f62e8e7a51573072f564931/html5/thumbnails/73.jpg)
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