ARCO CH CHIESA UNIVERSIT CATHOLIQUE DE LOUVAIN JO JOINT - - PowerPoint PPT Presentation
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
A ¡fundamental ¡network ¡operations ¡performed ¡whenever:
- ‑
network ¡policy ¡changes
- ‑
network ¡devices ¡fail
- ‑
traffic ¡load ¡changes
- ‑ security ¡attacks
Updating the network configuration
A ¡fundamental ¡network ¡operations ¡performed ¡whenever:
- ‑
network ¡policy ¡changes
- ‑
network ¡devices ¡fail
- ‑
traffic ¡load ¡changes
- ‑ security ¡attacks
Updating the network configuration
planned ¡updates
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
Unplanned network update scenario
current ¡ routing new ¡ routing network ¡ controller protection ¡ routing
Unplanned network update scenario
current ¡ routing new ¡ routing network ¡ controller protection ¡ routing
suboptimal network ¡ event
Unplanned network update scenario
current ¡ routing new ¡ routing network ¡ controller protection ¡ routing
- ptimal
computes suboptimal network ¡ event
Desiderata: fast network update to the new configuration
current ¡ routing new ¡ routing network ¡ controller protection ¡ routing
- ptimal
suboptimal fast ¡update wanted
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!!
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ¡
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 ¡
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 ¡
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 ¡
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ¡