augmenting anycast network flows · –increase demand and calculate new flow with lp ... number of...

56
ETH Zurich – Distributed Computing – www.disco.ethz.ch Augmenting Anycast Network Flows Sebastian Brandt, Klaus-Tycho Förster, Roger Wattenhofer January 06, 2016 @ ICDCN 2016 - Singapore

Upload: others

Post on 22-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

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

Augmenting Anycast Network Flows

Sebastian Brandt, Klaus-Tycho Förster, Roger WattenhoferJanuary 06, 2016 @ ICDCN 2016 - Singapore

Page 2: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

t

Page 3: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

t

Page 4: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

t

Page 5: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Network Updates

• The Internet: Designed for selfish participants – Often inefficient (low utilization of links), but robust

• But what happens if the WAN is controlled by a single entity?– Examples: Microsoft & Amazon & Google …– They spend hundreds of millions of dollars per year

• General Idea: Separate data & control plane in a network• Centralized controller updates networks rules for optimization

– Controller (control plane) updates the switches/routers (data plane)

Page 6: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Think: Google, Amazon, Microsoft

Network Updates

Page 7: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Network Updates

• The Internet: Designed for selfish participants – Often inefficient (low utilization of links), but robust

• But what happens if the WAN is controlled by a single entity?– Examples: Microsoft & Amazon & Google …– They spend hundreds of millions of dollars per year

• Possible solution: Software Defined Networking (SDN)

• General Idea: Separate data & control plane in a network• Centralized controller updates networks rules for optimization

– Controller (control plane) updates the switches/routers (data plane)

Page 8: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

t

Page 9: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

network updates

t

Page 10: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

network updates

t

Page 11: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

network updates

t

Page 12: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

network updates

t

Page 13: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

network updates

t

Page 14: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Motivation

size of each flow: 1capacity of links: 1

t

network updates

Page 15: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Structure of the Talk

• Motivation & Software Defined Networking

• Related Work & Splittable Flows

• Our Approach

• Extension beyond Anycast Flows

Page 16: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Network Updates of Flows without Congestion

old networkrules

new networkrules

network updates

• State of the art: (Partial) moves of flows using linear programming (LPs), e.g.,• SWAN [Hong et al., SIGCOMM 2013], zUPDATE [Liu et al., SIGCOMM 2013]• Dionysus [Jin et al., SIGCOMM 2014]

• Open problems: • When are network updates without congestion possible?• How can we do them fast?

• This paper: Addresses the case of one (logical) destination for splittable flows

Page 17: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Swapping of Flows

size of each flow: 2capacity of links: 3

network updates

t t

Page 18: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Just Switch? Congestion!

size of each flow: 2capacity of links: 3

Page 19: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Migrate only parts of the flow

50%

50%

size of each flow: 2capacity of links: 3

Page 20: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Can even do both flows at once

V1 V2

V3 V4

50%

50%

50%

50%

size of each flow: 2capacity of links: 3

Page 21: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Done in two steps

V1 V2

V3 V4

size of each flow: 2capacity of links: 3

Page 22: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

But not always possible!

V1 V2

V3 V4

size of each flow: 2capacity of links: 2

Page 23: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

How about other paths?

V1 V2

V3 V4

size of each flow: 2capacity of links: 2

𝜀 capacityNumber of steps can be unbounded

Page 24: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

How about other paths?

V1 V2

V3 V4

size of each flow: 2capacity of links: 2

𝜀 capacityNumber of steps can be unbounded

Binary search with LPsineffective

Page 25: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Structure of the Talk

• Motivation & Software Defined Networking

• Related Work & Splittable Flows

• Our Approach

• Extension beyond Anycast Flows

Page 26: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Our Approach

• Compute our own new rules

– Based off the new demands

• Deviate from linear programming binary search

– Go combinatorial with augmenting flows

• “Push back” flows for migration

Page 27: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Augmenting Flows

s1

s2

t

size of each flow: 1capacity of links: 1

Page 28: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Consider Residual Network

s1

s2

t

size of each flow: 1capacity of links: 1

Page 29: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Find a Way in the Residual Network

s1

s2

t

size of each flow: 1capacity of links: 1

Page 30: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Push back the old Flow

s1

s2

t

size of each flow: 1capacity of links: 1

Page 31: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Insert the new Flow

s1

s2

t

size of each flow: 1capacity of links: 1

Page 32: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Migrated without Congestion

s1

s2

t

size of each flow: 1capacity of links: 1

Page 33: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Similar to “Addition”

s1

s2

t

s1

s2

t

s1

s2

t =+

size of each flow: 1capacity of links: 1

Page 34: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Also works as “Subtraction”

s1

s2

t

s1

s2

t

s1

s2

t =-

size of each flow: 1capacity of links: 1

Page 35: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

Page 36: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 1 5

1 1 2

2 2 6

3 3 3

2 2 8

Page 37: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 5 5

1 1 2

2 2 6

3 3 3

4 2 8

Page 38: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 5 5

1 2 2

2 2 6

3 3 3

4 2 8

Page 39: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 5 5

1 2 2

2 6 6

3 3 3

4 2 8

Page 40: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 5 5

1 2 2

2 6 6

3 3 3

4 2 8

Page 41: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

High-level Mechanism Idea

For all commodities (iteratively):

– Increase demand and calculate new flow with LP• offline calculation

– Apply augmenting flow from the difference• linear # re-routing in the network

OLD CURRENT NEW

1 5 5

1 2 2

2 6 6

3 3 3

4 8 8

Page 42: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Number of “Push Back”- Links decreases

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

size of flows: 1, 2, 1, 1capacity of links: 1 (or marked)

Page 43: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

Number of “Push Back”- Links decreases

size of flows: 1, 2, 1, 1capacity of links: 1 (or marked)

Page 44: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

Number of “Push Back”- Links decreases

size of flows: 1, 2, 1, 1capacity of links: 1 (or marked)

Page 45: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

Number of “Push Back”- Links decreases

size of flows: 1, 2, 1, 1capacity of links: 1 (or marked)

Page 46: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

Number of “Push Back”- Links decreases

size of flows: 1, 2, 1, 1capacity of links: 1 (or marked)

Page 47: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3

s4

t

s2

uv2

2 2

2

3 2

2

22

2

2

2

4

x yw

z

Number of “Push Back”- Links decreases

size of flows: 1+3=4, 2, 1, 1capacity of links: 1 (or marked)

Page 48: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Structure of the Talk

• Motivation & Software Defined Networking

• Related Work & Splittable Flows

• Our Approach

• Extension beyond Anycast Flows

Page 49: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s2

t2

t1

s1

s2

t2

t1

s1

s2

t2

t1

• Flows end up at the wrong destination!

• So let’s stick with augmenting flows that don’t mix destinations

Flow Augmentation for many Destinations

Page 50: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3 t3

t1

s2 t2

size of each flow: 1capacity of each links: 1

Extension beyond one logical destination?

Page 51: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3 t3

t1

s2 t2

Augmenting flows that don’t mix up the destinations?

size of each flow: 1capacity of each links: 1

Page 52: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3 t3

t1

s2 t2

Augmenting flows that don’t mix up the destinations?

size of each flow: 1capacity of each links: 1

Page 53: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3 t3

t1

s2 t2

But impossible to migrate!

size of each flow: 1capacity of each links: 1

Page 54: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

s1

s3 t3

t1

s2 t2

But impossible to migrate!

size of each flow: 1capacity of each links: 1

“it is unlikely that similar techniques can be developedfor constructing multicommodity flows”

[Hu, 1963]

Page 55: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

Summary

• We studied how to migrate flows with one logical destination in SDNs without congestion

– We can decide fast if demands can be met

– We can migrate with linear # re-routings in the networkusing augmenting flows

• Open question:

– How to extend beyond one logical destination?

Page 56: Augmenting Anycast Network Flows · –Increase demand and calculate new flow with LP ... Number of “Push Back”- Links decreases size of flows: 1+3=4, 2, 1, 1 capacity of links:

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

Thank you

Sebastian Brandt, Klaus-Tycho Förster, Roger WattenhoferJanuary 06, 2016 @ ICDCN 2016 - Singapore