The Power of Two in Consistent Network Updates: Hard Loop Freedom, Easy Flow Migration Klaus-Tycho Förster and Roger Wattenhofer.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin, Harry Liu, Vijay Gill, Srikanth Kandula, Mohan Nanduri,
Dynamic Scheduling of Network Updates Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, Roger Wattenhofer.
Dynamic Scheduling of Network Updates Based on the slides by Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer.
Introduction to Algorithms Greedy Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Combinatorial Algorithms
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
Nick McKeown Spring 2012 Maximum Matching Algorithms EE384x Packet Switch Architectures.
SWAN: Software-driven wide area network
Introduction to Approximation Algorithms Lecture 12: Mar 1.
QoS-Aware Path Protection in MPLS Networks Ashish Gupta Ashish Gupta Bijendra Jain Indian Institute of Technology Delhi Satish Tripathi University of California.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Adaptive CSMA under the SINR Model: Fast convergence using the Bethe Approximation Krishna Jagannathan IIT Madras (Joint work with) Peruru Subrahmanya.
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Resource Allocation in Network Virtualization Jie Wu Computer and Information Sciences Temple University.
Lagrangean Relaxation
Network Simplex Animations Network Simplex Animations.
1 CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
ETH Zurich – Distributed Computing – On Consistent Migration of Flows in SDNs Sebastian Brandt, Klaus-Tycho Förster, Roger Wattenhofer.
Great Theoretical Ideas in Computer Science.
ETH Zurich – Distributed Computing – Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined.
Operations Research II Course,, September Part 2: Network Flow Operations Research II Dr. Aref Rashad.
Impact of Interference on Multi-hop Wireless Network Performance
Chapter 10 NP-Complete Problems.
SDN Network Updates Minimum updates within a single switch
Nanyang Technological University
Introduction of BP & TRW-S
Augmenting Anycast Network Flows
EMIS 8373: Integer Programming
Suhankar Mishra1, Thang N. Dinh2, My T. Thai1, and Incheol Shin3
Chapter - 12 GRAPH MATRICES AND APPLICATIONS.
Constraint-Based Routing
Introduction | Model | Solution | Evaluation
The minimum cost flow problem
Network Simplex Animations
Dynamic Scheduling of Network Updates
ISP and Egress Path Selection for Multihomed Networks
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Multi-Core Parallel Routing
Data Integration with Dependent Sources
Bin Fu Department of Computer Science
Coping With NP-Completeness
Shared Memory Consistency Models: A Tutorial
Dynamic Programming General Idea
Robustness of wireless ad hoc network topologies
Robustness of wireless ad hoc network topologies
L12. Network optimization
Lecture 19-Problem Solving 4 Incremental Method
CSE 421 Richard Anderson Autumn 2016, Lecture 3
Chaitanya Swamy University of Waterloo
Chapter 11 Limitations of Algorithm Power
Minimizing the Aggregate Movements for Interval Coverage
CSE 421 Richard Anderson Autumn 2015, Lecture 3
Dynamic Programming General Idea
Lecture 10, Computer Networks (198:552)
Maximum Flow Neil Tang 4/8/2008
CSE 421, University of Washington, Autumn 2006
Ch09 _2 Approximation algorithm
CSE 421 Richard Anderson Winter 2019, Lecture 3
Coping With NP-Completeness
Constraint Graph Binary CSPs
Maximum Flow Problems in 2005.
Optimal Control for Generalized Network-Flow Problems
Consistency algorithms
CSE 421 Richard Anderson Autumn 2019, Lecture 3
Presentation transcript:

The Power of Two in Consistent Network Updates: Hard Loop Freedom, Easy Flow Migration Klaus-Tycho Förster and Roger Wattenhofer

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

< By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

By Xin Jin

“some switches can ‘straggle,’ taking substantially more time 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

By Xin Jin

“Tree Ordering” By Xin Jin

“Tree Ordering” By Xin Jin

“Tree Ordering” By Xin Jin

“Tree Ordering” By Xin Jin

Software-Defined Networking Centralized controller updates networks rules for optimization Controller (control plane) updates the switches/routers (data plane)

old network rules new network rules network updates

old network rules new network rules network updates

possible solution: be fast! old network rules new network rules network updates possible solution: be fast! e.g., B4 [Jain et al., 2013]

possible solution: be consistent! old network rules new network rules network updates possible solution: be consistent! e.g., per-router ordering [Vanbever et al., 2012] two phase commit [Reitblatt et al., 2012] SWAN [Hong et al., 2013] Dionysus [Jin et al., 2014] ….

possible solution: be consistent! old network rules new network rules network updates possible solution: be consistent!

Idea: Update as many edges as you can Dynamic Updates Idea: Update as many edges as you can

Dynamic Updates a b d a b d network updates … …

Dynamic Updates a b d a b d network updates … … a b d …

Dynamic Updates a b d a b d network updates … … a b d …

Dynamic Updates a b d a b d network updates … … a b d …

Dynamic Updates a b d a b d network updates … … a b d …

Dynamic Updates … … … greedy maximum update b d a b d network updates … … a b d … greedy maximum update a & b update → all others wait 2 nodes update

Dynamic Updates … … … … greedy maximum update b d a b d network updates … … a b d a b d … … greedy maximum update a & b update → all others wait 2 nodes update maximal update a waits→ all others update all but 1 update

Find maximal update? Let’s go more general

Find maximal update? Let’s go more general Delete all cycles in a graph

Find maximal update? Let’s go more general Delete all cycles in a graph V1 V2 V4 V3

Find maximal update? Let’s go more general Delete all cycles in a graph V1 V2 V4 V3

Find maximal update? Let’s go more general Delete all cycles in a graph NP-hard to approximate Feedback Arc Set V1 V2 V4 V3

Find maximal update? ≅ Let’s go more general Delete all cycles in a graph NP-hard to approximate Feedback Arc Set And it’s equivalent  d V1 V2 ≅ V4 V3 V1 V2 V3 V4

Find maximal update? ≅ Let’s go more general Delete all cycles in a graph NP-hard to approximate Feedback Arc Set And it’s equivalent  V2 ≅ V3 V2 V3

Dynamic Updates Maximize #edges updated ≈ Feedback Arc Set Approximate within 𝑂( log 𝑛 log log 𝑛 ) Better approximation bound for Feedback Arc? Implies better bound for #edges

Scheduling Updates But how long until all edges updated?

Scheduling Updates But how long until all edges updated? Ludwig et al. (2015): NP-hard for 3-schedule

Scheduling Updates But how long until all edges updated? Ludwig et al. (2015): NP-hard for 3-schedule Our result (with 2 destinations) NP-hard for any sublinear schedule

Scheduling Updates Idea: Delay updates w' d v d w

Scheduling Updates Idea: Delay updates w' w' d d v v d d w w

Scheduling Updates Idea: Delay updates d' w' w' d' d' d d v v d d w w

Scheduling Updates Idea: Delay updates d' w' w' d' d' d d,d’ v v d d w

Scheduling Updates Iterate over and over and over…. d' w' w' d' d' d

Loop Freedom Overview Maximize updated #edges per update NP-hard Sublinear schedule checking for 2 destinations

How to Move Flows? 𝒗 𝒘 𝑺𝟐 𝑻𝟐 𝑺𝟏 𝑻𝟏

How to Move Flows? 𝒗 𝒘 𝑺𝟐 𝑻𝟐 𝑺𝟏 𝑻𝟏

How to Move Flows? 𝒗 𝒘 𝑺𝟐 𝑻𝟐 𝑺𝟏 𝑻𝟏

How to Move Flows? 𝒗 𝒘 𝑺𝟐 𝑻𝟐 𝑺𝟏 𝑻𝟏

How to Move Flows? 𝒗 𝒘 𝑺𝟐 𝑻𝟐 𝑺𝟏 𝑻𝟏

How Hard in General w/o Splitting? Previous work: Fastest Migration is NP-hard

How Hard in General w/o Splitting? Previous work: Fastest Migration is NP-hard Our work: Deciding is NP-hard

How Hard in General w/o Splitting? Previous work: Fastest Migration is NP-hard Our work: Deciding is NP-hard Reduction from Partition 𝑺𝟏 𝒗11 𝒘12 𝑻𝟏 𝑺𝟏 𝒗11 𝒘12 𝑻𝟏 … … … … 𝑺𝒌 𝒗21 𝒘22 𝑻𝒌 𝑺𝒌 𝒗21 𝒘22 𝑻𝒌 𝑺𝒃 𝑻𝒃 𝑺𝒃 𝑻𝒃

Issues with Splitting 𝑓𝑤 𝑓𝑤 𝒗 𝒘 𝑺𝟏 𝑻𝟏

Issues with Splitting 𝑓𝑤 𝑓𝑤 𝒗 𝒘 𝑺𝟏 𝑻𝟏

Issues with Splitting 𝑓𝑤 𝑓𝑤 𝒗 𝒘 𝑺𝟏 𝑻𝟏

Packets bypass Waypoints! 𝑓𝑤 𝑓𝑤 𝒗 𝒘 𝑺𝟏 𝑻𝟏

2-Splittable Flows Keep both flow paths at the same time Easy updates: Change allocations @sources 𝑓𝑤 𝑓𝑤 𝒗 𝒘 𝑺𝟏 𝑻𝟏

High-Level Algorithm Idea Establish new paths at size 0

High-Level Algorithm Idea Establish new paths at size 0 Only if >0 for all paths can be obtained: Consistent migration possible

High-Level Algorithm Idea Establish new paths at size 0 Only if >0 for all paths can be obtained: Consistent migration possible By changing allocations over multiple steps

High-Level Algorithm Idea Establish new paths at size 0 Only if >0 for all paths can be obtained: Consistent migration possible By changing allocations over multiple steps 𝑺𝟏 𝒗11 𝒘12 𝑻𝟏 𝑺𝟏 𝒗11 𝒘12 𝑻𝟏 … … … … 𝑺𝒌 𝒗21 𝒘22 𝑻𝒌 𝑺𝒌 𝒗21 𝒘22 𝑻𝒌 𝑺𝒃 𝑻𝒃 𝑺𝒃 𝑻𝒃

Summary

The Power of Two in Consistent Network Updates: Hard Loop Freedom, Easy Flow Migration Klaus-Tycho Förster and Roger Wattenhofer

“some switches can ‘straggle,’ taking substantially more time Appears in Practice “Data plane updates may fall behind the control plane acknowledgments and may be even reordered.” Kuzniar et al., PAM 2015 “…the inbound latency is quite variable with a […] standard deviation of 31.34ms…” He et al., SOSR 2015 “some switches can ‘straggle,’ taking substantially more time than average (e.g., 10-100x) to apply an update” Jin et al., SIGCOMM 2014