ARCO CH CHIESA UNIVERSIT CATHOLIQUE DE LOUVAIN JO JOINT - - PowerPoint PPT Presentation

arco ch chiesa
SMART_READER_LITE
LIVE PREVIEW

ARCO CH CHIESA UNIVERSIT CATHOLIQUE DE LOUVAIN JO JOINT - - PowerPoint PPT Presentation

To Towards Decentralized Fa Fast Consistent Upda Updates M AR ARCO CH CHIESA UNIVERSIT CATHOLIQUE DE LOUVAIN JO JOINT WORK WITH: TH THANH DANG NGUYEN (UC


slide-1
SLIDE 1

To Towards ¡ ¡Decentralized ¡ ¡Fa Fast ¡ ¡Consistent ¡ ¡Upda Updates

MAR

ARCO CH

CHIESA

UNIVERSITÉ ¡CATHOLIQUE ¡ DE LOUVAIN

JO JOINT ¡ ¡WORK ¡ ¡WITH: TH THANH ¡ ¡DANG ¡ ¡NGUYEN ¡ ¡(UC ¡ ¡LOUVAIN), ¡ ¡ MA MARCO ¡ ¡CANINI ¡ ¡(UC ¡ ¡LOUVAIN) ¡ ¡

slide-2
SLIDE 2

A ¡fundamental ¡network ¡operations ¡performed ¡whenever:

  • ­‑

network ¡policy ¡changes

  • ­‑

network ¡devices ¡fail

  • ­‑

traffic ¡load ¡changes

  • ­‑ security ¡attacks

Updating the network configuration

slide-3
SLIDE 3

A ¡fundamental ¡network ¡operations ¡performed ¡whenever:

  • ­‑

network ¡policy ¡changes

  • ­‑

network ¡devices ¡fail

  • ­‑

traffic ¡load ¡changes

  • ­‑ security ¡attacks

Updating the network configuration

planned ¡updates

slide-4
SLIDE 4

A ¡fundamental ¡network ¡operations ¡performed ¡whenever:

  • ­‑

network ¡policy ¡changes

  • ­‑

network ¡devices ¡fail

  • ­‑

traffic ¡load ¡changes

  • ­‑ network ¡attacks

Updating the network configuration

planned ¡updates unplanned ¡ updates

slide-5
SLIDE 5

Unplanned network update scenario

current ¡ routing new ¡ routing network ¡ controller protection ¡ routing

slide-6
SLIDE 6

Unplanned network update scenario

current ¡ routing new ¡ routing network ¡ controller protection ¡ routing

suboptimal network ¡ event

slide-7
SLIDE 7

Unplanned network update scenario

current ¡ routing new ¡ routing network ¡ controller protection ¡ routing

  • ptimal

computes suboptimal network ¡ event

slide-8
SLIDE 8

Desiderata: fast network update to the new configuration

current ¡ routing new ¡ routing network ¡ controller protection ¡ routing

  • ptimal

suboptimal fast ¡update wanted

slide-9
SLIDE 9

1 2 3 4 5

One-shot updates are dangerous

1 2 3 4 5

current target

The ¡network ¡is ¡a ¡distributed ¡system Asynchronous ¡update ¡messages If ¡Switch ¡2 ¡updates ¡BLUE ¡before ¡ Switch ¡5 ¡installs ¡the ¡forwarding ¡rule ¡ for ¡BLUE, ¡traffic ¡is ¡blackholed!!

slide-10
SLIDE 10

1 2 3 4 5

One-shot updates are dangerous

1 2 3 4 5

The ¡network ¡is ¡a ¡distributed ¡system Asynchronous ¡update ¡messages If If ¡ ¡Switch ¡ ¡2 ¡ ¡updates ¡ ¡BLUE ¡ ¡before ¡ ¡ Sw Switch ¡ h ¡5 ¡ ¡ins nstalls ¡ ¡the he ¡ ¡forwardi ding ng ¡ ¡rul ule ¡ ¡ fo for ¡ ¡BLUE, ¡ ¡traffic ¡ ¡is ¡ ¡bl blackho holed!! !!

updated not ¡updated

current target

slide-11
SLIDE 11

1 2 3 4 5 1 2 3 4 5

Flow dependencies must be met to avoid link congestion

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

A ¡simple ¡network:

  • Each ¡link ¡capacity ¡is ¡10
  • Each ¡flow ¡requires ¡5 ¡units

Goal: ¡update ¡from ¡cu current ¡ ¡to ¡ta target

  • GR

GREEN and ¡BL BLUE are ¡updated If ¡Switch ¡1 ¡updates ¡BLUE ¡before ¡ GREEN, ¡link ¡1-­‑2 ¡is ¡congested!!

current target

slide-12
SLIDE 12

1 2 3 4 5

Flow dependencies must be met to avoid link congestion

1 2 3 4 5

A ¡simple ¡network:

  • Each ¡link ¡capacity ¡is ¡10
  • Each ¡flow ¡requires ¡5 ¡units

Goal: ¡update ¡from ¡cu current ¡ ¡to ¡ta target

  • GR

GREEN and ¡BL BLUE are ¡updated If ¡Switch ¡1 ¡updates ¡BLUE ¡before ¡ GREEN, ¡link ¡1-­‑2 ¡is ¡congested!!

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

CONGESTION!!

current target

slide-13
SLIDE 13

Dy Dyonisus: centralized ¡synchronization ¡ scheduling ¡computation

Sy Synchronization ¡ ¡between ¡ ¡switches ¡ ¡and ¡ ¡ co controller ¡ ¡slows ¡ ¡down ¡ ¡the ¡ ¡update

TI TIME4: ¡one-­‑shot ¡update ¡by ¡means ¡

  • f ¡clock ¡synchronization

In Inaccuracy ¡ ¡in ¡ ¡clock ¡ ¡synchronization ¡ ¡lea eads ¡ ¡ to to ¡ ¡anomalies

Most relevant related work

1 2 3 4 5 Controller

Multiple ¡ rounds ¡ depending ¡ on ¡ flow ¡ dependencies

slide-14
SLIDE 14

Dy Dyonisus: centralized ¡synchronization ¡ scheduling ¡computation

Sy Synchronization ¡ ¡between ¡ ¡switches ¡ ¡and ¡ ¡ co controller ¡ ¡slows ¡ ¡down ¡ ¡the ¡ ¡update

TI TIME4: ¡one-­‑shot ¡update ¡by ¡means ¡

  • f ¡clock ¡synchronization

In Inaccuracy ¡ ¡in ¡ ¡clock ¡ ¡synchronization ¡ ¡lea eads ¡ ¡ to to ¡ ¡anomalies

Most relevant related work

1 2 3 4 5 Controller

slide-15
SLIDE 15

Decentralized ¡fast ¡network ¡update Key ¡idea: ¡move ¡simple, ¡yet ¡powerful, ¡ logic ¡from ¡the ¡controller ¡to ¡the ¡ switches

Ez-segway

1 2 3 4 5 Controller

slide-16
SLIDE 16

Decentralized ¡fast ¡network ¡update Ke Key ¡ ¡idea Move ¡simple, ¡yet ¡powerful, ¡logic ¡ from ¡the ¡controller ¡to ¡the ¡switches

Ez-segway

1 2 3 4 5 Controller

slide-17
SLIDE 17

Ez-segway Separation of concerns

1 2 3 4 5 Controller

  • nly ¡one ¡

round

Central ¡controller ¡role:

  • detects ¡flow ¡dependencies
  • computes ¡flows ¡partial ¡ordering
  • sends ¡ordering ¡to ¡the ¡switches

Switches ¡role:

  • combine ¡local ¡and ¡global ¡(pre-­‑

computed) ¡information ¡to ¡ perform ¡the ¡update

  • coordinate ¡with ¡neighbors
slide-18
SLIDE 18

Central ¡controller ¡role:

  • detects ¡flow ¡dependencies
  • computes ¡flows ¡partial ¡ordering
  • sends ¡ordering ¡to ¡the ¡switches

Switches ¡role:

  • combine ¡local ¡and ¡global ¡(pre-­‑

computed) ¡information ¡to ¡ perform ¡the ¡update

  • coordinate ¡with ¡neighbors

Ez-segway Separation of concerns

1 2 3 4 5 Controller

slide-19
SLIDE 19

Central ¡controller ¡role:

  • 1. detects ¡flow ¡dependencies
  • con
  • nstructs ¡

¡a ¡ ¡dependency ¡ ¡graph

  • 2. computes ¡flexible ¡scheduling
  • pa

partial ¡ ¡orde der ¡ ¡of ¡ ¡upda update ¡ ¡ope perations ns

  • if ¡

f ¡there ¡ ¡is ¡ ¡enough ¡ ¡spare ¡ ¡capacity, ¡ ¡most ¡ ¡of ¡ f ¡the ¡ ¡updates ¡ ¡can ¡ ¡ be be ¡ ¡pe performed ¡ d ¡ ¡ ¡in ¡ n ¡an ¡ n ¡arbi bitrary ¡ ¡orde der

  • 3. sends ¡scheduling ¡to ¡the ¡switches
  • nl

nly ¡ ¡onc nce

Ez-segway the controller perspective

slide-20
SLIDE 20

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡ 1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

current target

slide-21
SLIDE 21

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡ 1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

current target

slide-22
SLIDE 22

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡ 1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

current target

slide-23
SLIDE 23

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

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

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

slide-24
SLIDE 24

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

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

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

slide-25
SLIDE 25

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

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

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

congestion ¡if ¡ performed

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

slide-26
SLIDE 26

Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies

The dependency graph

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

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

congestion-­‑free

  • peration

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

slide-27
SLIDE 27

Central ¡controller ¡role:

  • 1. detects ¡flow ¡dependencies
  • con
  • nstructs ¡

¡a ¡ ¡dependency ¡ ¡graph

  • 2. computes ¡flows ¡partial ordering
  • assi

ssign ¡ n ¡pr priorities ¡ s ¡to ¡ ¡flows

  • scheduling ¡to ¡the ¡switches
  • nl

nly ¡ ¡onc nce

Ez-segway the controller perspective

slide-28
SLIDE 28

Assignign flow priorities

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

5 5 5 5 5 5

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

GREY:5

slide-29
SLIDE 29

Assignign flow priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

5 5 5 5 5 5

Update ¡GREY ¡first…

current target

1,4 5 ¡

4,2 ¡ 5-­‑>0 ¡

1,2 ¡ 0 ¡

GREY:5

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-30
SLIDE 30

Assignign priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

5 5 5 5 5 5

Update ¡GREY ¡first… …leads ¡to ¡link ¡congestion

current target

1,4 5 ¡ 4,2 ¡ 0 1,2 ¡ 0 ¡

GREY:5

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-31
SLIDE 31

Assignign priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

5 5 5 5 5 5

Update ¡GREEN ¡first…

current target

1,4 5-­‑>0 ¡ 4,2 ¡ 5-­‑>0 ¡ 1,2 ¡ 0-­‑>5 ¡

GREY:5

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-32
SLIDE 32

Assignign priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡

5 5 5 5 5 5

Update ¡GREEN ¡first… …BLUE ¡second…

current target

1,4 0-­‑>5 ¡ 4,2 ¡ 0-­‑>5 ¡ 1,2 ¡ 5-­‑>0 ¡

GREY:5

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-33
SLIDE 33

Assignign priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡ GREY:5

5 5 5 5 5 5

Update ¡GREEN ¡first… …BLUE ¡second… ¡then ¡GREY

current target

1,4 5 ¡

4,2 ¡ 5-­‑>0 ¡

1,2 ¡ 0 ¡

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-34
SLIDE 34

Assignign flow priorities

1 2 3 4 5 1 2 3 4 5

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡ GREY:5 ¡

5 5 5 5 5 5

GREY ¡should ¡be ¡given ¡lower ¡priority

current target

1,4 5 ¡ 4,2 ¡ 5 ¡ 1,2 ¡ 0 ¡

Central ¡controller ¡role: ¡2. ¡computes ¡flow ¡partial ¡ordering

slide-35
SLIDE 35

Central ¡controller ¡role:

  • 1. detects ¡flow ¡dependencies
  • con
  • nstructs ¡

¡a ¡ ¡dependency ¡ ¡graph

  • 2. computes ¡flows ¡partial ordering
  • as

assign ¡ ¡priorities ¡ ¡to ¡ ¡flows

  • 3. sends ¡scheduling ¡to ¡the ¡switches
  • nl

nly ¡ ¡onc nce

Ez-segway: the controller perspective

slide-36
SLIDE 36

Switches ¡role:

  • coordinate ¡with ¡neighbors
  • combine ¡local ¡and ¡global ¡(pre-­‑computed) ¡information ¡to ¡

perform ¡the ¡update

  • Perform ¡an ¡update ¡operations ¡only ¡if ¡
  • i) ¡th

there ¡ ¡is ¡ ¡enough ¡ ¡spare ¡ ¡capacity ty

  • ii) ¡th

the ¡ ¡update te ¡ ¡operati tions ¡ ¡will ¡ ¡not ¡ t ¡prevent ¡ t ¡any ¡ ¡higher-­‑

  • ­‑

pr priority ¡ ¡upda update ¡ ¡tha hat ¡ ¡is ¡ s ¡st still ¡ ¡no not ¡ ¡execut utabl ble ¡ ¡

Ez-segway: the switches perspective

slide-37
SLIDE 37

1 2 3 4 5

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5

current target

New ¡path ¡installed ¡upwards

slide-38
SLIDE 38

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards

slide-39
SLIDE 39

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards

slide-40
SLIDE 40

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards Packets ¡are ¡routed ¡on ¡the ¡new ¡path

slide-41
SLIDE 41

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards Packets ¡are ¡routed ¡on ¡the ¡new ¡path Old ¡path ¡removed ¡downwards

slide-42
SLIDE 42

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards Packets ¡are ¡routed ¡on ¡the ¡new ¡path Old ¡path ¡removed ¡downwards

slide-43
SLIDE 43

In-band message passing

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

New ¡path ¡installed ¡upwards Packets ¡are ¡routed ¡on ¡the ¡new ¡path Old ¡path ¡removed ¡downwards

slide-44
SLIDE 44

1 2 3 4 5

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5

current target

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths

slide-45
SLIDE 45

1 2 3 4 5

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5

current target

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

1st segment 2st segment

slide-46
SLIDE 46

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

1st segment 2st segment

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

slide-47
SLIDE 47

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

1st segment 2st segment

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

slide-48
SLIDE 48

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

1st segment 2st segment

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

slide-49
SLIDE 49

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

1st segment 2st segment

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

slide-50
SLIDE 50

Update speed up via segmentation

Switch ¡role: ¡coordinate ¡with ¡neighbors

1 2 3 4 5 1 2 3 4 5

current target

1st segment 2st segment

Switch ¡2 ¡is ¡traversed ¡in ¡both ¡paths Parallelizable ¡segment ¡updates

slide-51
SLIDE 51

Switches ¡role:

  • coordinate ¡with ¡neighbors
  • combine ¡local ¡and ¡global ¡(pre-­‑computed) ¡information ¡to ¡

perform ¡the ¡update

  • perform ¡an ¡update ¡operations ¡only ¡if ¡
  • i) ¡th

there ¡ ¡is ¡ ¡enough ¡ ¡spare ¡ ¡capacity ty

  • ii) ¡th

the ¡ ¡update te ¡ ¡operati tions ¡ ¡will ¡ ¡not ¡ t ¡prevent ¡ t ¡any ¡ ¡higher-­‑

  • ­‑

pr priority ¡ ¡upda update ¡ ¡tha hat ¡ ¡is ¡ s ¡st still ¡ ¡no not ¡ ¡execut utabl ble ¡ ¡

Ez-segway: the switches perspective

slide-52
SLIDE 52

Enforcing priorities

1 2 3 4 5

COLD

1 2 3 4 5

CNEW

RED:5 ¡ GREEN:5 ¡ BLUE:5 ¡ GREY:5 ¡

Switch ¡4 ¡can ¡move ¡both ¡ GR GREEN and ¡GR

  • GREY. ¡

It ¡first ¡moves ¡GR GREEN since ¡it ¡ has ¡higher ¡priority ¡than ¡GR GREY

slide-53
SLIDE 53

Large-scale simulations

ez-­‑

  • ­‑se

segway: ¡ : ¡ ¡ ¡ ¡ ¡switches ¡ ¡ ¡coordinate ¡ ¡the ¡update cen entralized ed: ¡ ¡controller ¡coordinates ¡the ¡update Me Measure re: ¡total ¡update ¡time Se Setting ng:

  • 6 ¡real ¡topologies ¡from ¡RocketFuel
  • link ¡capacities: ¡1…100 ¡Gbps
  • controller ¡placed ¡at ¡centroid ¡
  • gravity ¡traffic ¡model
  • shortest-­‑path-­‑via-­‑random-­‑node
  • updates ¡triggered ¡by ¡link ¡failures
  • 10 ¡executions ¡per ¡topology
slide-54
SLIDE 54

Update time comparison [ms]

Completion ¡time ¡reduced ¡by ¡15%-­‑50%

Abovenet 25% Abovenet 75% Ebone 25% Ebone 75% Exodus 25% Exodus 75% Sprint 25% Sprint 75% Telstra 25% Telstra 75% Tiscali 25% Tiscali 75% 200 400 Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway Centralized ez−Segway

Update time [ms] Approach

slide-55
SLIDE 55

Summary

ezSegway design

  • Co

Control ¡ ¡pl plane ne computes ¡flows ¡partial ¡ordering

  • Da

Data ¡ ¡plane coordinates ¡the ¡update Better ¡performance: ¡Speeding ¡up ¡the ¡update ¡(up ¡to ¡2x) Ongoing ¡work:

  • Mininet evaluation
  • Feasibility ¡check ¡on ¡Centec switch ¡
  • Formalization ¡