Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.

Slides:



Advertisements
Similar presentations
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
Advertisements

Incremental Update for a Compositional SDN Hypervisor Xin Jin Jennifer Rexford, David Walker.
Openflow App Testing Chao SHI, Stephen Duraski. Motivation Network is still a complex stuff ! o Distributed mechanism o Complex protocol o Large state.
Compiling Path Queries in Software-Defined Networks Srinivas Narayana Jennifer Rexford and David Walker Princeton University.
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.
SDN Applications Jennifer Rexford Princeton University.
Dynamic Scheduling of Network Updates Based on the slides by Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer.
Live Migration of an Entire Network (and its Hosts) Eric Keller, Soudeh Ghorbani, Matthew Caesar, Jennifer Rexford HotNets 2012.
Composing Software Defined Networks
Nanxi Kang Princeton University
Jennifer Rexford Princeton University
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Slick: A control plane for middleboxes Bilal Anwer, Theophilus Benson, Dave Levin, Nick Feamster, Jennifer Rexford Supported by DARPA through the U.S.
PARIS: ProActive Routing In Scalable Data Centers Dushyant Arora, Theophilus Benson, Jennifer Rexford Princeton University.
OpenFlow-Based Server Load Balancing GoneWild
Ranges & Cross-Entrance Consistency with OpenFlow Liron Schiff (TAU) Joint work with Yehuda Afek (TAU) Anat Bremler-Barr (IDC) Israel Networking Day 2014.
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Software-Defined Networking
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
1 Latency Equalization: A Programmable Routing Service Primitive Minlan Yu Joint work with Marina Thottan, Li Li at Bell Labs.
MATE: MPLS Adaptive Traffic Engineering Anwar Elwalid, et. al. IEEE INFOCOM 2001.
ElasticTree: Saving Energy in Data Center Networks 許倫愷 2013/5/28.
Cellular Core Network Architecture
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Languages for Software-Defined Networks Nate Foster, Michael J. Freedman, Arjun Guha, Rob Harrison, Naga Praveen Katta, Christopher Monsanto, Joshua Reich,
DARD: Distributed Adaptive Routing for Datacenter Networks Xin Wu, Xiaowei Yang.
Using Measurement Data to Construct a Network-Wide View Jennifer Rexford AT&T Labs—Research Florham Park, NJ
Software Defined Networking Kathryn Abbett. Definition □Origins from Berkley and Stanford, around 2008 □Software-Defined Networking (SDNs) allows applications.
ORange: Multi Field OpenFlow based Range Classifier Liron Schiff Tel Aviv University Yehuda Afek Tel Aviv University Anat Bremler-Barr Inter Disciplinary.
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.
Program Synthesis for Network Updates Pavol Černý CU Boulder Dagstuhl, February 2015.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
SIMPLE-fying Middlebox Policy Enforcement Using SDN
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Programming Languages COS 597E: Software Defined Networking.
Measurement Query Languages for Software-Defined Networks Jennifer Rexford Princeton University Joint work with Srinivas.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
Improving Fault Tolerance in AODV Matthew J. Miller Jungmin So.
Theophilus Benson*, Ashok Anand*, Aditya Akella*, Ming Zhang + *University of Wisconsin, Madison + Microsoft Research.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
Authors: Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker Presenter: Byungkwon Choi Abstractions for Network Update INA.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Chen Qian, Xin Li University of Kentucky
SDN challenges Deployment challenges
SDN Network Updates Minimum updates within a single switch
Jennifer Rexford Princeton University
The DPIaaS Controller Prototype
Network Anti-Spoofing with SDN Data plane Authors:Yehuda Afek et al.
Praveen Tammana† Rachit Agarwal‡ Myungjin Lee†
Author: Ragalatha P, Manoj Challa, Sundeep Kumar. K
NOX: Towards an Operating System for Networks
Abstractions for Model Checking SDN Controllers
Enabling Innovation Inside the Network
Languages for Software-Defined Networks
COS 561: Advanced Computer Networks
Programmable Networks
Toward Self-Driving Networks
Toward Self-Driving Networks
Presentation transcript:

Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University

Policy : Collection of Openflow rules in the entire network Network Policy ===

From old policy Policy Update ===

From old policy to new policy Policy Update ===

Inconsistent policy during transition === ======

Inconsistent policy during transition === ======  Per Packet Consistency (Reitblatt et. al. SIGCOMM’12) A packet sees either exclusively the old policy or exclusively the new policy.  Per Packet Consistency (Reitblatt et. al. SIGCOMM’12) A packet sees either exclusively the old policy or exclusively the new policy.

Both old and new policy on the network

100% space overhead in intermediate steps

 Problem Statement Can we do a consistent update with less space?  Problem Statement Can we do a consistent update with less space?

 Less space overhead but more update time  Goals General : Works for any policy (with ternary matches) Efficient : No packet-processing overhead on the controller Trade Space for time 10

 Less space overhead but more update time  Goals General : Works for any policy (with ternary matches) Efficient : No packet-processing overhead on the controller Trade Space for time 11  Divide entire update into multiple rounds 1.Each round is assigned a set of predicates (predicate : a symbolic ingress packet) 2.Each round updates policy slice for assigned predicates  Slice : rules effecting the packets of a predicate  Divide entire update into multiple rounds 1.Each round is assigned a set of predicates (predicate : a symbolic ingress packet) 2.Each round updates policy slice for assigned predicates  Slice : rules effecting the packets of a predicate

Update the policy slice by slice ===

Update the policy slice by slice ===

Update the policy slice by slice ===

Update the policy slice by slice ===

Update the policy slice by slice ===

Update the policy slice by slice ===

Update the policy slice by slice ===  Given a predicate, how do you compute the slice?  How do you update the network with policy slices?  How do you assign predicates to slices?  Given a predicate, how do you compute the slice?  How do you update the network with policy slices?  How do you assign predicates to slices?

1. Computing a slice for a given predicate 19 Collect matching rules from all switches?

01->  Header Modifications  Multiple predicates match a single rule  Packets of predicate never reach a switch. 01 Challenges in computing a slice 20 0* 01 11

Compute policy slice using symbolic execution Similar to Header Space Analysis (NSDI 2012)

Compute policy slice using symbolic execution

Compute policy slice using symbolic execution ===

Similarly compute the old slice ===

2. Update policy slice – Add the new slice ===

Then remove the old slice? ===

Cannot remove 1* rule till both 10 and 11 migrate > > > > > 2 1* -> > 2 Difficult with multiple dependent predicates 27

Cannot remove 1* rule till both 10 and 11 migrate > > > > > 2 0* -> > 2 Difficult with multiple dependent predicates 28  Keep track of all dependent predicates Add a new rule as soon as any new slice needs it Delete an old rule as soon as no old slice needs it

 Optimal order of updates How many slices in total? Which predicates in which slice? 3. Choosing the predicates? 29

 Divide N ingress predicates into K ordered slices optimally Avoid exponential preprocessing Cannot consider slices in isolation Choosing the predicates 30

 Divide N ingress predicates into K ordered slices optimally Avoid exponential preprocessing Cannot consider slices in isolation  Pose it as a Mixed Integer Program Combine individual predicate symbolic analyses Encode dependency counting Choosing the predicates 31  Trade-off dimensions Rule space overhead Update time (# rounds/slices) Traffic volume of migrated rules  Trade-off dimensions Rule space overhead Update time (# rounds/slices) Traffic volume of migrated rules

 Fattree topology - 24 Switches, 576 hosts  Load Balancer Policy Each client chooses server randomly Packet modification at the ingress Shortest path forwarding to servers  Optimization solver Always within 1% in few (~5) seconds Evaluation 32

Overhead decreases significantly with increased rounds 33 Space Overhead (%) Consistent Updates Total number of slices

Minimizing update times finishes in just 9 slices 34 Switch space overhead capped at 5% Number of slices updated

80% traffic migrates in slice 1 and 99% in 3 slices 35 Switch space overhead capped at 5% Number of slices updated

 Policy abstractions come with a cost  How to implement efficiently?  Keeping the essence of abstraction  Optimizing consistent updates  Slice by slice policy update  Symbolic execution and MIP reduction Uses less rule space Moves high volume flows early Conclusion 36

Questions? Naga Praveen Katta

1.Update only parts of the network that change [Reitblatt et al] 100% overhead on policies that differ completely 2.Redirect traffic to controller [Rick McGeer, HotSDN 2012] Performance overhead 3.SWAN & zUpdate [SIGCOMM ‘13] Specialized for TE, do not consider general policies Related Work 38