Service Chain Placement in SDNs Gilad Kutiel 1 Dror Rawitz 2 1 - - PowerPoint PPT Presentation

service chain placement in sdns
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1/15

Service Chain Placement in SDNs

Gilad Kutiel 1 Dror Rawitz 2

1Technion 2Bar Ilan University

ALGOCLOUD 2017

slide-2
SLIDE 2

2/15

Service Chain (Customer’s Perspective)

◮ An ordered set of Virtual Functions

slide-3
SLIDE 3

2/15

Service Chain (Customer’s Perspective)

◮ An ordered set of Virtual Functions ◮ Bandwidth requirement

  • 100mb/s

60mb/s

slide-4
SLIDE 4

2/15

Service Chain (Customer’s Perspective)

◮ An ordered set of Virtual Functions ◮ Bandwidth requirement ◮ Latency constraint

  • 100mb/s

60mb/s 90ms

slide-5
SLIDE 5

2/15

Service Chain (Customer’s Perspective)

◮ An ordered set of Virtual Functions ◮ Bandwidth requirement ◮ Latency constraint ◮ Several alternatives

  • 100mb/s

60mb/s 90ms

slide-6
SLIDE 6

3/15

Problem (ISP’s Perspective)

SDN Service Chain

slide-7
SLIDE 7

3/15

Problem (ISP’s Perspective)

SDN Service Chain

slide-8
SLIDE 8

3/15

Problem (ISP’s Perspective)

SDN Service Chain

  • ≥ 8CPU

≥ 12CPU ≥ 5CPU 3CPU 5CPU 2CPU 4CPU 6CPU 5CPU

slide-9
SLIDE 9

3/15

Problem (ISP’s Perspective)

SDN Service Chain

  • ≥ 80mb/s

≥ 80mb/s ≥ 40mb/s ≥ 40mb/s

  • 80mb/s

40mb/s

slide-10
SLIDE 10

3/15

Problem (ISP’s Perspective)

SDN Service Chain

  • ≤ 90ms

90ms

slide-11
SLIDE 11

3/15

Problem (ISP’s Perspective)

SDN Service Chain

  • ≤ 90ms

90ms 7$ 4$ 9$

slide-12
SLIDE 12

4/15

Problem cont.

Minimize Placement Cost s.t.

◮ CPU ◮ Bandwidth ◮ Latency

slide-13
SLIDE 13

5/15

Related Work

◮ System

slide-14
SLIDE 14

5/15

Related Work

◮ System

◮ A. Gember-Jacobson et al. 2014

slide-15
SLIDE 15

5/15

Related Work

◮ System

◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015

slide-16
SLIDE 16

5/15

Related Work

◮ System

◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015

◮ Online Service Chain Embedding Problem

slide-17
SLIDE 17

5/15

Related Work

◮ System

◮ A. Gember-Jacobson et al. 2014 ◮ R. Hartert et al. 2015

◮ Online Service Chain Embedding Problem

◮ T. Lukovszki and S. Schmid 2015

slide-18
SLIDE 18

5/15

Related Work

◮ 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

slide-19
SLIDE 19

5/15

Related Work

◮ 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

slide-20
SLIDE 20

5/15

Related Work

◮ 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

slide-21
SLIDE 21

5/15

Related Work

◮ 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

slide-22
SLIDE 22

6/15

Our Results

◮ NP-hardness in many cases

1

slide-23
SLIDE 23

6/15

Our Results

◮ NP-hardness in many cases

SDN Costs Our Result

1

slide-24
SLIDE 24

6/15

Our Results

◮ NP-hardness in many cases

SDN Costs Our Result DAG Integral, Polynomial Optimal

1

slide-25
SLIDE 25

6/15

Our Results

◮ NP-hardness in many cases

SDN Costs Our Result DAG Integral, Polynomial Optimal DAG Any FPTAS - (1 + ε)-apx

1

slide-26
SLIDE 26

6/15

Our Results

◮ NP-hardness in many cases

SDN Costs Our Result DAG Integral, Polynomial Optimal DAG Any FPTAS - (1 + ε)-apx Any Any FPTAS - (1 + ε)-apx

1

slide-27
SLIDE 27

6/15

Our Results

◮ 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

slide-28
SLIDE 28

7/15

Hardness (Feasibility)

slide-29
SLIDE 29

7/15

Hardness (Feasibility)

  • 1 CPU

1 CPU 1 CPU 1 CPU 1 CPU 1 CPU

  • 1 CPU

1 CPU 1 CPU 1 CPU 1 CPU 1 CPU

Hamiltonian path ⇐ ⇒ Feasible Placement

slide-30
SLIDE 30

8/15

Hardness (SDN with a single node)

slide-31
SLIDE 31

8/15

Hardness (SDN with a single node)

{2, 3, 6, 7, 4, 8}

  • 15 CPU
  • 2$ / 0 CPU

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$

slide-32
SLIDE 32

8/15

Hardness (SDN with a single node)

{2, 3, 6, 7, 4, 8}

  • 15 CPU
  • 2$ / 0 CPU

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

slide-33
SLIDE 33

9/15

Hardness (simple paths)

slide-34
SLIDE 34

9/15

Hardness (simple paths)

  • · · ·

· · · · · · · · ·

slide-35
SLIDE 35

9/15

Hardness (simple paths)

  • · · ·

· · · · · · · · · See paper...

slide-36
SLIDE 36

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

6 5 4 3 2 1

slide-37
SLIDE 37

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

6 5 4 3 2 1

slide-38
SLIDE 38

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 5 4 3 2 1

slide-39
SLIDE 39

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 3 5 3 4 3 3 3 2 3 1 3

slide-40
SLIDE 40

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 3 5 3 4 3 3 3 2 3 1 3

slide-41
SLIDE 41

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 6 3 5 3 4 3 3 3 2 3 1 3

slide-42
SLIDE 42

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3

slide-43
SLIDE 43

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3

slide-44
SLIDE 44

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 5 6 3 6 5 3 6 4 3 6 3 3 6 2 3 6 1 3

slide-45
SLIDE 45

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 5 6 3 6 5 5 3 6 5 4 3 6 5 3 3 6 5 2 3 6

  • 1

3

slide-46
SLIDE 46

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

3 6 5 6 3 6 5 5 3 6 5 4 3 6 5 3 3 6 5 2 3 6

  • 1

3

slide-47
SLIDE 47

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 1

3

slide-48
SLIDE 48

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 1

3

slide-49
SLIDE 49

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 1

3

slide-50
SLIDE 50

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

slide-51
SLIDE 51

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

slide-52
SLIDE 52

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

slide-53
SLIDE 53

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

slide-54
SLIDE 54

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

slide-55
SLIDE 55

10/15

Integral Polynomial Costs, Single Node

Min CPU per Cost Budget.

  • 10CPU
  • 1$

3CPU 1$ 3CPU 2$ 2CPU 1$ 3CPU 2$ 1CPU 1$ 3CPU

$

  • 7

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

  • 2

3 6

  • 1

3

  • Search for min Budget s.t. CPU constraint.
slide-56
SLIDE 56

11/15

Small, Integral Costs, DAG

Min Latency s.t. Cost Budget.

slide-57
SLIDE 57

11/15

Small, Integral Costs, DAG

Min Latency s.t. Cost Budget.

◮ Pick 2 arcs (x ≥ y)

  • x

m b / s

  • ymb/s
slide-58
SLIDE 58

11/15

Small, Integral Costs, DAG

Min Latency s.t. Cost Budget.

◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node

  • x

m b / s

  • ymb/s
slide-59
SLIDE 59

11/15

Small, Integral Costs, DAG

Min Latency s.t. Cost Budget.

◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path

  • x

m b / s

  • ymb/s
slide-60
SLIDE 60

11/15

Small, Integral Costs, DAG

Min Latency s.t. Cost Budget.

◮ Pick 2 arcs (x ≥ y) ◮ Orange Problem - Single Node ◮ Blue Problem - Shortest Path ◮ Green Problem - Recursively

  • x

m b / s

  • ymb/s
slide-61
SLIDE 61

11/15

Small, Integral Costs, DAG

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

  • x

m b / s

  • ymb/s
slide-62
SLIDE 62

11/15

Small, Integral Costs, DAG

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

  • x

m b / s

  • ymb/s

Search for the minimum budget s.t. Latency constraint.

slide-63
SLIDE 63

12/15

Theorem

Costs can be scaled and rounded such that for any ε > 0 an

  • ptimal solution w.r.t the rounded value is a 1 + ε-approximation

for the original costs.

slide-64
SLIDE 64

13/15

General Case

◮ Find unreachable nodes

slide-65
SLIDE 65

13/15

General Case

◮ Find unreachable nodes ◮ Mark nodes with deg > 2

slide-66
SLIDE 66

13/15

General Case

◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation

slide-67
SLIDE 67

13/15

General Case

◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly

  • 1

2 3

slide-68
SLIDE 68

13/15

General Case

◮ Find unreachable nodes ◮ Mark nodes with deg > 2 ◮ Choose a permutation ◮ Orient the network accordingly ◮ Use the previous algorithm

  • 1

2 3

slide-69
SLIDE 69

13/15

General Case

◮ 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

  • 1

2 3

slide-70
SLIDE 70

13/15

General Case

◮ 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

  • 1

2 3

1 Can be reduced to O(2kt(n))

slide-71
SLIDE 71

14/15

Conclusion

◮ Attracts Attention

slide-72
SLIDE 72

14/15

Conclusion

◮ Attracts Attention

◮ System

slide-73
SLIDE 73

14/15

Conclusion

◮ Attracts Attention

◮ System ◮ Algorithmically

slide-74
SLIDE 74

14/15

Conclusion

◮ Attracts Attention

◮ System ◮ Algorithmically

◮ Best we can hope solution for DAGs

slide-75
SLIDE 75

14/15

Conclusion

◮ Attracts Attention

◮ System ◮ Algorithmically

◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs

slide-76
SLIDE 76

14/15

Conclusion

◮ Attracts Attention

◮ System ◮ Algorithmically

◮ Best we can hope solution for DAGs ◮ Open questions for general SDNs

◮ Best we can hope solution under some assumptions

slide-77
SLIDE 77

14/15

Conclusion

◮ 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

slide-78
SLIDE 78

14/15

Conclusion

◮ 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?

slide-79
SLIDE 79

15/15

Thank You.