1/15
Service Chain Placement in SDNs
Gilad Kutiel 1 Dror Rawitz 2
1Technion 2Bar Ilan University
ALGOCLOUD 2017
Service Chain Placement in SDNs Gilad Kutiel 1 Dror Rawitz 2 1 - - PowerPoint PPT Presentation
Service Chain Placement in SDNs Gilad Kutiel 1 Dror Rawitz 2 1 Technion 2 Bar Ilan University ALGOCLOUD 2017 1/15 Service Chain (Customers Perspective) An ordered set of Virtual Functions 2/15 Service
1/15
Gilad Kutiel 1 Dror Rawitz 2
1Technion 2Bar Ilan University
ALGOCLOUD 2017
2/15
◮ An ordered set of Virtual Functions
2/15
◮ An ordered set of Virtual Functions ◮ Bandwidth requirement
60mb/s
2/15
◮ An ordered set of Virtual Functions ◮ Bandwidth requirement ◮ Latency constraint
60mb/s 90ms
2/15
◮ An ordered set of Virtual Functions ◮ Bandwidth requirement ◮ Latency constraint ◮ Several alternatives
60mb/s 90ms
3/15
SDN Service Chain
3/15
SDN Service Chain
3/15
SDN Service Chain
≥ 12CPU ≥ 5CPU 3CPU 5CPU 2CPU 4CPU 6CPU 5CPU
3/15
SDN Service Chain
≥ 80mb/s ≥ 40mb/s ≥ 40mb/s
40mb/s
3/15
SDN Service Chain
90ms
3/15
SDN Service Chain
90ms 7$ 4$ 9$
4/15
Minimize Placement Cost s.t.
◮ CPU ◮ Bandwidth ◮ Latency
5/15
◮ System
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
◮ T. Lukovszki and S. Schmid 2015
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
◮ T. Lukovszki and S. Schmid 2015 ◮ Even et al. 2016
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
◮ T. Lukovszki and S. Schmid 2015 ◮ Even et al. 2016
◮ Different Model / Objective
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
◮ T. Lukovszki and S. Schmid 2015 ◮ Even et al. 2016
◮ Different Model / Objective
◮ Even et al. 2016
5/15
◮ System
◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015
◮ Online Service Chain Embedding Problem
◮ T. Lukovszki and S. Schmid 2015 ◮ Even et al. 2016
◮ Different Model / Objective
◮ Even et al. 2016 ◮ Cohen et al. 2015
6/15
◮ NP-hardness in many cases
1
6/15
◮ NP-hardness in many cases
SDN Costs Our Result
1
6/15
◮ NP-hardness in many cases
SDN Costs Our Result DAG Integral, Polynomial Optimal
1
6/15
◮ NP-hardness in many cases
SDN Costs Our Result DAG Integral, Polynomial Optimal DAG Any FPTAS - (1 + ε)-apx
1
6/15
◮ NP-hardness in many cases
SDN Costs Our Result DAG Integral, Polynomial Optimal DAG Any FPTAS - (1 + ε)-apx Any Any FPTAS - (1 + ε)-apx
1
6/15
◮ NP-hardness in many cases
SDN Costs Our Result DAG Integral, Polynomial Optimal DAG Any FPTAS - (1 + ε)-apx Any Any FPTAS - (1 + ε)-apx1
1running time depends on SDN’s typology
7/15
7/15
1 CPU 1 CPU 1 CPU 1 CPU 1 CPU
1 CPU 1 CPU 1 CPU 1 CPU 1 CPU
Hamiltonian path ⇐ ⇒ Feasible Placement
8/15
8/15
{2, 3, 6, 7, 4, 8}
0$ / 2 CPU 3$ / 0 CPU 0$ / 3 CPU 6$ / 0 CPU 0$ / 6 CPU 7$ / 0 CPU 0$ / 7 CPU 4$ / 0 CPU 0$ / 4 CPU 8$ / 0 CPU 0$ / 8 CPU
Partition ⇐ ⇒ Placement that costs 15$
8/15
{2, 3, 6, 7, 4, 8}
0$ / 2 CPU 3$ / 0 CPU 0$ / 3 CPU 6$ / 0 CPU 0$ / 6 CPU 7$ / 0 CPU 0$ / 7 CPU 4$ / 0 CPU 0$ / 4 CPU 8$ / 0 CPU 0$ / 8 CPU
Partition ⇐ ⇒ Placement that costs 15$
* Not hard for integral, polynomial values
9/15
9/15
· · · · · · · · ·
9/15
· · · · · · · · · See paper...
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
6 5 4 3 2 1
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
6 5 4 3 2 1
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 4 3 2 1
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 3 5 3 4 3 3 3 2 3 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 3 5 3 4 3 3 3 2 3 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 6 3 5 3 4 3 3 3 2 3 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 6 3 6 5 5 3 6 5 4 3 6 5 3 3 6 5 2 3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 6 3 6 5 5 3 6 5 4 3 6 5 3 3 6 5 2 3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 3 6 5 9 5 3 6 5 9 4 3 6 5 9 3 3 6 5 9 2 3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 3 6 5 9 5 3 6 5 9 4 3 6 5 9 3 3 6 5 9 2 3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 6 3 6 5 9 6 5 3 6 5 9 6 4 3 6 5 9 3 3 6 5 9 2 3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 6 3 6 5 9 6 5 3 6 5 9 6 4 3 6 5 9 7 3 3 6 5 9
3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 6 3 6 5 9 6 5 3 6 5 9 6 4 3 6 5 9 7 3 3 6 5 9
3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 9 6 3 6 5 9 6 9 5 3 6 5 9 6 10 4 3 6 5 9 7 12 3 3 6 5 9
3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 9 6 3 6 5 9 6 9 5 3 6 5 9 6 10 4 3 6 5 9 7 12 3 3 6 5 9
3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 9 6 3 6 5 9 6 9 5 3 6 5 9 6 10 4 3 6 5 9 7 12 3 3 6 5 9
3 6
3
10/15
Min CPU per Cost Budget.
3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU
$
3 6 5 9 6 9 6 3 6 5 9 6 9 5 3 6 5 9 6 10 4 3 6 5 9 7 12 3 3 6 5 9
3 6
3
11/15
Min Latency s.t. Cost Budget.
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y)
m b / s
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node
m b / s
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path
m b / s
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path ◮ Green Problem - Recursively
m b / s
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path ◮ Green Problem - Recursively
◮ At most |V | × |F| × Cost
m b / s
11/15
Min Latency s.t. Cost Budget.
◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path ◮ Green Problem - Recursively
◮ At most |V | × |F| × Cost
m b / s
Search for the minimum budget s.t. Latency constraint.
12/15
Theorem
Costs can be scaled and rounded such that for any ε > 0 an
for the original costs.
13/15
◮ Find unreachable nodes
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly
2 3
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly ◮ Use the previous algorithm
2 3
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly ◮ Use the previous algorithm ◮ Running time is O(k!t(n)) 1
2 3
13/15
◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly ◮ Use the previous algorithm ◮ Running time is O(k!t(n)) 1
2 3
1 Can be reduced to O(2kt(n))
14/15
◮ Attracts Attention
14/15
◮ Attracts Attention
◮ System
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
◮ Best we can hope solution for DAGs
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs
◮ Best we can hope solution under some assumptions
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs
◮ Best we can hope solution under some assumptions
◮ Fault Tolerance
14/15
◮ Attracts Attention
◮ System ◮ Algorithmically
◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs
◮ Best we can hope solution under some assumptions
◮ Fault Tolerance ◮ In practice?
15/15