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 ¡ ¡LOUVAIN), ¡ ¡ MA MARCO ¡ ¡CANINI ¡ ¡(UC ¡ ¡LOUVAIN) ¡ ¡
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 A ¡fundamental ¡network ¡operations ¡performed ¡whenever: -‑ network ¡policy ¡changes planned ¡updates -‑ network ¡devices ¡fail -‑ traffic ¡load ¡changes -‑ security ¡attacks
Updating the network configuration A ¡fundamental ¡network ¡operations ¡performed ¡whenever: -‑ network ¡policy ¡changes planned ¡updates -‑ network ¡devices ¡fail -‑ traffic ¡load ¡changes unplanned ¡ updates -‑ network ¡attacks
Unplanned network update scenario network ¡ controller current ¡ protection ¡ new ¡ routing routing routing
Unplanned network update scenario network ¡ controller network ¡ current ¡ protection ¡ new ¡ event routing routing routing suboptimal
Unplanned network update scenario network ¡ controller computes network ¡ current ¡ protection ¡ new ¡ event routing routing routing optimal suboptimal
Desiderata: fast network update to the new configuration network ¡ controller fast ¡update current ¡ protection ¡ new ¡ wanted routing routing routing optimal suboptimal
One-shot updates are dangerous The ¡network ¡is ¡a ¡distributed ¡system 4 5 current Asynchronous ¡update ¡messages 1 2 3 If ¡Switch ¡2 ¡updates ¡BLUE ¡before ¡ Switch ¡5 ¡installs ¡the ¡forwarding ¡rule ¡ 4 5 for ¡BLUE, ¡traffic ¡is ¡blackholed!! target 1 2 3
One-shot updates are dangerous not ¡updated The ¡network ¡is ¡a ¡distributed ¡system 4 5 current Asynchronous ¡update ¡messages 1 2 3 If If ¡ ¡Switch ¡ ¡2 ¡ ¡updates ¡ ¡BLUE ¡ ¡before ¡ ¡ updated Sw Switch ¡ h ¡5 ¡ ¡ins nstalls ¡ ¡the he ¡ ¡forwardi ding ng ¡ ¡rul ule ¡ ¡ 4 5 fo for ¡ ¡BLUE, ¡ ¡traffic ¡ ¡is ¡ ¡bl blackho holed!! !! target 1 2 3
Flow dependencies must be met to avoid link congestion A ¡simple ¡network: 4 5 Each ¡link ¡capacity ¡is ¡10 • current Each ¡flow ¡requires ¡5 ¡units • 1 2 3 Goal: ¡update ¡from ¡cu current ¡ ¡to ¡ta target GREEN and ¡BL GR BLUE are ¡updated • 4 5 target If ¡Switch ¡1 ¡updates ¡BLUE ¡before ¡ RED:5 ¡ GREEN, ¡link ¡1-‑2 ¡is ¡congested!! 1 2 3 GREEN:5 ¡ BLUE:5 ¡
Flow dependencies must be met to avoid link congestion A ¡simple ¡network: 4 5 Each ¡link ¡capacity ¡is ¡10 • current Each ¡flow ¡requires ¡5 ¡units • 1 2 3 Goal: ¡update ¡from ¡cu current ¡ ¡to ¡ta target CONGESTION!! GR GREEN and ¡BL BLUE are ¡updated • 4 5 target If ¡Switch ¡1 ¡updates ¡BLUE ¡before ¡ RED:5 ¡ GREEN, ¡link ¡1-‑2 ¡is ¡congested!! 1 2 3 GREEN:5 ¡ BLUE:5 ¡
Most relevant related work Dy Dyonisus: centralized ¡synchronization ¡ Controller scheduling ¡computation Multiple ¡ rounds ¡ Sy Synchronization ¡ ¡between ¡ ¡switches ¡ ¡and ¡ ¡ depending ¡ on ¡ controller ¡ co ¡slows ¡ ¡down ¡ ¡the ¡ ¡update flow ¡ dependencies 4 5 TI TIME4: ¡one-‑shot ¡update ¡by ¡means ¡ of ¡clock ¡synchronization In Inaccuracy ¡ ¡in ¡ ¡clock ¡ ¡synchronization ¡ ¡lea eads ¡ ¡ 1 2 3 to ¡ to ¡anomalies
Most relevant related work Dy Dyonisus: centralized ¡synchronization ¡ Controller scheduling ¡computation Synchronization ¡ Sy ¡between ¡ ¡switches ¡ ¡and ¡ ¡ co controller ¡ ¡slows ¡ ¡down ¡ ¡the ¡ ¡update 4 5 TIME4: ¡one-‑shot ¡update ¡by ¡means ¡ TI of ¡clock ¡synchronization In Inaccuracy ¡ ¡in ¡ ¡clock ¡ ¡synchronization ¡ ¡lea eads ¡ ¡ 1 2 3 to to ¡ ¡anomalies
Ez-segway Decentralized ¡fast ¡network ¡update Controller Key ¡idea: ¡move ¡simple, ¡yet ¡powerful, ¡ logic ¡from ¡the ¡controller ¡to ¡the ¡ switches 4 5 1 2 3
Ez-segway Decentralized ¡fast ¡network ¡update Controller Ke Key ¡ ¡idea Move ¡simple, ¡yet ¡powerful, ¡logic ¡ from ¡the ¡controller ¡to ¡the ¡switches 4 5 1 2 3
Ez-segway Separation of concerns Central ¡controller ¡role: Controller detects ¡flow ¡dependencies • computes ¡flows ¡ partial ¡ ordering • sends ¡ordering ¡to ¡the ¡switches • only ¡one ¡ round Switches ¡role: 4 5 combine ¡local ¡and ¡global ¡(pre-‑ • computed) ¡information ¡to ¡ perform ¡the ¡update 1 2 3 coordinate ¡with ¡neighbors •
Ez-segway Separation of concerns Central ¡controller ¡role: Controller detects ¡flow ¡dependencies • computes ¡flows ¡ partial ¡ ordering • sends ¡ordering ¡to ¡the ¡switches • Switches ¡role: 4 5 combine ¡local ¡and ¡global ¡(pre-‑ • computed) ¡information ¡to ¡ perform ¡the ¡update 1 2 3 coordinate ¡with ¡neighbors •
Ez-segway the controller perspective Central ¡controller ¡role: 1. detects ¡flow ¡dependencies con onstructs ¡ ¡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 onl nly ¡ ¡onc nce •
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 current 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 4 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 current 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 4 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 current 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 4 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 4 5 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 5 4 5 5 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies 4 5 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 5 4 5 5 5 target RED:5 ¡ congestion ¡if ¡ 1 2 3 GREEN:5 ¡ performed BLUE:5 ¡
The dependency graph Central ¡controller ¡role: ¡1. ¡Detects ¡flow ¡dependencies congestion-‑free operation 4 5 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 5 4 5 5 5 target RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
Ez-segway the controller perspective Central ¡controller ¡role: 1. detects ¡flow ¡dependencies con onstructs ¡ ¡a ¡ ¡dependency ¡ ¡graph • 2. computes ¡flows ¡ partial ordering assi ssign ¡ n ¡pr priorities ¡ s ¡to ¡ ¡flows • scheduling ¡to ¡the ¡switches • onl nly ¡ ¡onc nce •
Assignign flow priorities Central ¡controller ¡role: ¡2. ¡ computes ¡flow ¡partial ¡ordering 4 5 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5 ¡ 5 4 5 5 5 target GREY:5 RED:5 ¡ 1 2 3 GREEN:5 ¡ BLUE:5 ¡
Assignign flow priorities Central ¡controller ¡role: ¡2. ¡ computes ¡flow ¡partial ¡ordering 4 5 5 current 5 5 1 2 3 1,4 5 ¡ 1,2 ¡ 0 ¡ 4,2 ¡ 5-‑>0 ¡ 5 4 5 5 5 target GREY:5 RED:5 ¡ 1 2 3 GREEN:5 ¡ Update ¡GREY ¡first… BLUE:5 ¡
Recommend
More recommend