Consistent Migration of Flows in SDNs Klaus-Tycho Frster Joint work - - PowerPoint PPT Presentation

consistent migration of flows in sdns
SMART_READER_LITE
LIVE PREVIEW

Consistent Migration of Flows in SDNs Klaus-Tycho Frster Joint work - - PowerPoint PPT Presentation

Dont disturb my Flows: Consistent Migration of Flows in SDNs Klaus-Tycho Frster Joint work with Sebastian Brandt, Laurent Vanbever, and Roger Wattenhofer ETH Zurich Distributed Computing www.disco.ethz.ch A Small Sample Network


slide-1
SLIDE 1

ETH Zurich – Distributed Computing – www.disco.ethz.ch

Don’t disturb my Flows: Consistent Migration of Flows in SDNs

Klaus-Tycho Förster Joint work with Sebastian Brandt, Laurent Vanbever, and Roger Wattenhofer

slide-2
SLIDE 2

A Small Sample Network

slide-3
SLIDE 3

Green wants to send as well

slide-4
SLIDE 4

Congestion!

slide-5
SLIDE 5

This would work

slide-6
SLIDE 6

So lets go back

slide-7
SLIDE 7

But Red is a bit Slow..

slide-8
SLIDE 8

Congestion Again!

slide-9
SLIDE 9

Appears in Practice

“some switches can ‘straggle,’ taking substantially more time than average (e.g., 10-100x) to apply an update” Jin et al., SIGCOMM 2014

slide-10
SLIDE 10

So lets go Back …

slide-11
SLIDE 11

First, Red switches

slide-12
SLIDE 12

Then, Blue …

slide-13
SLIDE 13

And then, Green …

slide-14
SLIDE 14

Done

slide-15
SLIDE 15

Consistent Migration of Flows

Introduced in SWAN (Hong et al., SIGCOMM 2013) Idea: Flows can be on the old or new route

For all edges: σ∀𝐺 max 𝐩𝐦𝐞, 𝐨𝐟𝐱 ≤ 𝑑𝑏𝑞𝑏𝑑𝑗𝑢𝑧

slide-16
SLIDE 16

Consistent Migration of Flows

Introduced in SWAN (Hong et al., SIGCOMM 2013) Idea: Flows can be on the old or new route

For all edges: σ∀𝐺 max 𝐩𝐦𝐞, 𝐨𝐟𝐱 ≤ 𝑑𝑏𝑞𝑏𝑑𝑗𝑢𝑧 No ordering exists (2/3 + 2/3 > 1)

2/3 2/3

slide-17
SLIDE 17

Consistent Migration of Flows

Approach of SWAN: use slack 𝑦 (i.e., %)

Here 𝑦 = 1/3 Move slack 𝑦 ⇛ 1/𝑦 − 1 staged partial moves

2/3 2/3

slide-18
SLIDE 18

Consistent Migration of Flows

Approach of SWAN: use slack 𝑦 (i.e., %)

Here 𝑦 = 1/3 Move slack 𝑦 ⇛ 1/𝑦 − 1 staged partial moves Update 1 of 2

1/3 1/3

slide-19
SLIDE 19

Consistent Migration of Flows

Approach of SWAN: use slack 𝑦 (i.e., %)

Here 𝑦 = 1/3 Move slack 𝑦 ⇛ 1/𝑦 − 1 staged partial moves Update 1 of 2

1/3 1/3

slide-20
SLIDE 20

Consistent Migration of Flows

Approach of SWAN: use slack 𝑦 (i.e., %)

Here 𝑦 = 1/3 Move slack 𝑦 ⇛ 1/𝑦 − 1 staged partial moves Update 2 of 2

2/3 2/3

slide-21
SLIDE 21

Consistent Migration of Flows

No slack on flow edges?

1 1

slide-22
SLIDE 22

Consistent Migration of Flows

Alternate routes?

slide-23
SLIDE 23

Consistent Migration of Flows

Think: variable swapping of 𝑐 & 𝑕

  • 1. 𝑦 ≔ 𝑐, 2. b ≔ 𝑕, 3. 𝑕 ≔ 𝑦
slide-24
SLIDE 24

Consistent Migration of Flows

Think: variable swapping of 𝑐 & 𝑕

  • 1. 𝑦 ≔ 𝑐, 2. b ≔ 𝑕, 3. 𝑕 ≔ 𝑦
slide-25
SLIDE 25

Consistent Migration of Flows

Think: variable swapping of 𝑐 & 𝑕

  • 1. 𝑦 ≔ 𝑐, 2. b ≔ 𝑕, 3. 𝑕 ≔ 𝑦
slide-26
SLIDE 26

Consistent Migration of Flows

SWAN: LP-approach with binary search 1 update? 2 updates? 4 updates? …

slide-27
SLIDE 27

Consistent Migration of Flows

SWAN: LP-approach with binary search 1 update? 2 updates? 4 updates? … 𝜻

slide-28
SLIDE 28

Consistent Migration of Flows

SWAN: LP-approach with binary search Θ 1/𝜁 updates  𝜻

slide-29
SLIDE 29

Consistent Migration of Flows

Open problem: Can we decide in (polynomial) time?

“Halting Problem”

Flow migration LP

slide-30
SLIDE 30

To Slack or not to Slack?

Slack of 𝑦 on all flow edges?

1/𝑦 − 1 updates

slide-31
SLIDE 31

To Slack or not to Slack?

What if not?

Try to create slack

slide-32
SLIDE 32

To Slack or not to Slack?

Combinatorial approach

Augmenting paths

slide-33
SLIDE 33

Combinatorial Approach

Move single commodities at a time

𝑓

1 1

u v

slide-34
SLIDE 34

Combinatorial Approach

Where to increase flow?

+ + + + + 𝑓 u v

slide-35
SLIDE 35

Combinatorial Approach

Where to push back flow?

− − 𝑓 − − − − − u v

slide-36
SLIDE 36

Combinatorial Approach

Resulting residual network

𝑓 u v

slide-37
SLIDE 37

Combinatorial Approach

We found an augmenting path ⇒ create slack on 𝑓

𝑓 − u v

slide-38
SLIDE 38

High-level Algorithm Idea

No slack on flow edges? Find augmenting paths

On both initial and desired state Success? Use SWAN method to migrate

Can’t create slack on some flow edge?

Consistent migration impossible By contradiction (else augmenting paths would create slack)

Runtime: 𝑃 𝐺𝑛³

(𝐺 being #commodities, 𝑛 being #edges)

slide-39
SLIDE 39

Are we done?

Consistent Migration = Lossless Migration?

slide-40
SLIDE 40

Moving Flows with High Latency

ping of new path ping of old path

slide-41
SLIDE 41

Moving Flows with High Latency

ping of new path ping of old path

slide-42
SLIDE 42

Moving Flows with High Latency

slide-43
SLIDE 43

Moving Flows with High Latency

UDP TCP

slide-44
SLIDE 44

Moving Flows with High Latency

packet loss equivalent to latency-Δ

slide-45
SLIDE 45

Overview and Outlook

Consistent migration of flows

Decidable in polynomial time

Lossless migration

Fixed delays: NP-hard, Arbitrary delays: Polynomially decidable

Unsplittable/Integer flow migration: NP-hard Migrate to new demands

Single-dest: Polynomial #updates, Multi-Dest: Ongoing work

slide-46
SLIDE 46

ETH Zurich – Distributed Computing – www.disco.ethz.ch

Don’t disturb my Flows: Consistent Migration of Flows in SDNs

Klaus-Tycho Förster Joint work with Sebastian Brandt, Laurent Vanbever, and Roger Wattenhofer