SWAN: Software-driven wide area network

Slides:



Advertisements
Similar presentations
CONFIDENTIAL © 2004 Procket Networks, Inc. All rights reserved. 4-Feb-14 The 21 st Century Intelligent Network Tony Li, Carl DeSousa.
Advertisements

Interconnection Networks: Flow Control and Microarchitecture.
Internet Protocols Steven Low CS/EE netlab.CALTECH.edu October 2004 with J. Doyle, L. Li, A. Tang, J. Wang.
SDN Controller Challenges
Traffic Engineering with Forward Fault Correction (FFC)
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.
Practical and Incremental Convergence between SDN and Middleboxes 1 Zafar Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Dynamic Scheduling of Network Updates Based on the slides by Xin Jin Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—8-1 MPLS TE Overview Introducing the TE Concept.
Nanxi Kang Princeton University
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Making Cellular Networks Scalable and Flexible Li Erran Li Bell Labs, Alcatel-Lucent Joint work with collaborators at university of Michigan, Princeton,
SIGCOMM 2003 Making Intra-Domain Routing Robust to Changing and Uncertain Traffic Demands: Understanding Fundamental Tradeoffs David Applegate Edith Cohen.
60 GHz Flyways: Adding multi-Gbps wireless links to data centers
Traffic Engineering With Traditional IP Routing Protocols
Traffic Engineering Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Shadow Configurations: A Network Management Primitive Richard Alimi, Ye Wang, Y. Richard Yang Laboratory of Networked Systems Yale University.
Effects of Interference on Wireless Mesh Networks: Pathologies and a Preliminary Solution Yi Li, Lili Qiu, Yin Zhang, Ratul Mahajan Zifei Zhong, Gaurav.
A Routing Control Platform for Managing IP Networks Jennifer Rexford Princeton University
Rethinking Internet Traffic Management: From Multiple Decompositions to a Practical Protocol Jiayue He Princeton University Joint work with Martin Suchara,
Software Defined Networking COMS , Fall 2014 Instructor: Li Erran Li SDNFall2014/
S. Suri, M, Waldvogel, P. Warkhede CS University of Washington Profile-Based Routing: A New Framework for MPLS Traffic Engineering.
1 Network-wide Decision Making: Toward a Wafer-thin Control Plane Jennifer Rexford, Albert Greenberg, Gisli Hjalmtysson ATT Labs Research David A. Maltz,
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
Software Defined Networking COMS , Fall 2013 Instructor: Li Erran Li SDNFall2013/
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Network Aware Resource Allocation in Distributed Clouds.
MPLS and Traffic Engineering Ji-Hoon Yun Computer Communications and Switching Systems Lab.
Central Control over Distributed Routing fibbing.net SIGCOMM Stefano Vissicchio 18th August 2015 UCLouvain Joint work with O. Tilmans (UCLouvain), L. Vanbever.
Scalable Multi-Class Traffic Management in Data Center Backbone Networks Amitabha Ghosh (UtopiaCompression) Sangtae Ha (Princeton) Edward Crabbe (Google)
Agenda Motion Imagery Challenges Overview of our Cloud Activities -Big Data -Large Data Implementation Lessons Learned Summary.
Program Synthesis for Network Updates Pavol Černý CU Boulder Dagstuhl, February 2015.
Sep. 1, SIGCOMM '99 Dan Rubenstein1 The Impact of Multicast Layering on Network Fairness Dan Rubenstein Jim Kurose Don Towsley.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
6 December On Selfish Routing in Internet-like Environments paper by Lili Qiu, Yang Richard Yang, Yin Zhang, Scott Shenker presentation by Ed Spitznagel.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Theophilus Benson*, Ashok Anand*, Aditya Akella*, Ming Zhang + *University of Wisconsin, Madison + Microsoft Research.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
ETH Zurich – Distributed Computing – On Consistent Migration of Flows in SDNs Sebastian Brandt, Klaus-Tycho Förster, Roger Wattenhofer.
MicroGrid Update & A Synthetic Grid Resource Generator Xin Liu, Yang-suk Kee, Andrew Chien Department of Computer Science and Engineering Center for Networked.
Traditional network Coupled data plane (switch hardware) and control plane (switch software) Closed, proprietary interface Hard to change and innovate.
ETH Zurich – Distributed Computing – Klaus-Tycho Förster, Ratul Mahajan, and Roger Wattenhofer Consistent Updates in Software Defined.
Maslow’s hierarchy of network programming and the unmet needs Ratul Mahajan Microsoft Research.
B4: Experience with a Globally-Deployed Software WAN
Yiting Xia, T. S. Eugene Ng Rice University
SDN challenges Deployment challenges
A Network-State Management Service
Multi-layer software defined networking in GÉANT
Augmenting Anycast Network Flows
The DPIaaS Controller Prototype
Data Center Network Architectures
Hydra: Leveraging Functional Slicing for Efficient Distributed SDN Controllers Yiyang Chang, Ashkan Rezaei, Balajee Vamanan, Jahangir Hasan, Sanjay Rao.
NOX: Towards an Operating System for Networks
Author: Daniel Guija Alcaraz
Predictable performance optimization for wireless networks
The NPD Group - Enterprise DC Agenda
Dynamic Scheduling of Network Updates
Multi-Core Parallel Routing
Dingming Wu+, Yiting Xia+*, Xiaoye Steven Sun+,
The Power of Two in Consistent Network Updates: Hard Loop Freedom, Easy Flow Migration Klaus-Tycho Förster and Roger Wattenhofer.
Data and Computer Communications
Jellyfish: Networking Data Centers Randomly
SDNFV: Towards a Flexible and Dynamic Smart Data Plane Motivation
Backbone Traffic Engineering
Presentation transcript:

SWAN: Software-driven wide area network Ratul Mahajan

Partners in crime Rohan Gandhi Xin Jin Harry Liu Chi-Yao Hong Vijay Gill Srikanth Kandula Ratul Mahajan Mohan Nanduri Ming Zhang Roger Wattenhofer

Inter-DC WAN: A critical, expensive resource Hong Kong Seoul Seattle Los Angeles New York Miami Dublin Barcelona Services need inter-DC WAN for performance and reliability. 100s of Gbps capacity over long distances. Costs 100s of millions of dollars amortized annually.

But it is highly inefficient Even the busiest links are used 40-60% of the time.

One cause of inefficiency: Lack of coordination Services send when they want and however much they want. - leads to cycles of over and under-subscription Poor utilization can be countered by leveraging traffic characteristics. - some traffic can be delayed Adapting this traffic will allow a smaller network to carry the same traffic or allow more traffic to be carried over a network.

Another cause of inefficiency: Local, greedy resource allocation B C D B C D A A E E Explain MPLS and tunnels. Sub-optimality was observed in practice. [IMC paper] H G F H G F Local, greedy allocation Globally optimal allocation [Latency inflation with MPLS-based traffic engineering, IMC 2011]

SWAN: Software-driven WAN Goals Key design elements Highly efficient WAN Flexible sharing policies Coordinate across services Centralize resource allocation Want network utilization to be upwards of 95% from the current standard of 40-60% High efficiency alone is trivial to achieve; must support policies. Strict priority classes Max-min fair within a class [Achieving high utilization with software-driven WAN, SIGCOMM 2013]

Software-defined networking: Primer Beefy routers are expensive Control logic: - Distributed means that its inefficient and does not enable direct, flexible control - On-board means that bugs take a long time to detect and resolve Streamlined switches: retain only the forwarding component Centralized control logic: Centralized means its direct and flexible We write it means that we have quickly detect and resolve issues Network allocation is programmed directly into the forwarding filters Networks today Beefy routers Control plane: distributed, on-board Data plane: indirect configuration SDNs Streamlined switches Control plane: centralized, off-board Data plane: direct configuration

SWAN overview SWAN controller Traffic demand Topology, traffic BW allocation Network config. Network agent Service broker Bandwidth broker represents service hosts. Required for scalability and also allows for service-specific logic and policies. Rate limiting WAN Service hosts

Key design challenges Scalably computing BW allocations Avoiding congestion during network updates Working with limited switch memory

Scalably computing allocation Goal: Prefer higher-priority traffic and max-min fair within a class Challenge: Network-wide fairness requires many MCFs Approach: Bounded max-min fairness (fixed number of MCFs) Allocate resources to higher priority traffic first, along shorter paths. Then allocate lower priority traffic. Path-constrained, multi-commodity flow (MCF) problem Faireness is hard because the exact solution requires linearly many MCFs Solutions exist with fancier search functions that reduce the number of LPs Our solution offers bounded fairness with provable bounds on the degree of unfairness Fixed number of iterations

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 Geometrically partition the demand space with parameters α and 𝑈

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 Maximize throughput while limiting all allocations below α𝑈

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 Maximize throughput while limiting all allocations below α𝑈

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 Fix the allocation for smaller flows

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 Continue until all flows fixed

Bounded max-min fairness α3𝑈 demand 𝑑 5 demand 𝑑 4 α2𝑈 demand 𝑑 3 α𝑈 demand 𝑑 2 demand 𝑑 1 “practice” Fairness bound: Each flow is within 1 𝛼 , 𝛼 of its fair rate Number of MCFs: log 𝛼 max⁡(𝑑𝑖) 𝑈

SWAN computes fair allocations MPLS TE Relative deviation Relative deviation SWAN (α=2) Flows sorted by demand In practice, only 4% of the flows deviate more than 5%

Key design challenges Scalably computing BW allocations Avoiding congestion during network updates For scalable computations, we played several other tricks too, which I won’t get into. Working with limited switch memory

Congestion during network updates

Congestion-free network updates

Computing congestion-free update plan Leave scratch capacity 𝑠 on each link Ensures a plan with at most 1 𝑠 −1 steps Find a plan with minimal number of steps using an LP Search for a feasible plan with 1, 2, …. max steps Use scratch capacity for background traffic

SWAN provides congestion-free updates Complementary CDF Oversubscription ratio Extra traffic (MB)

Key design challenges Scalably computing BW allocations Avoiding congestion during network updates Working with limited switch memory

Working with limited switch memory Fully using capacity requires using many paths through the network. Each path needs memory at switches. Analysis shows: If we take the demand matrix across time, the number of paths required exceeds the capacity of even next generation switches. Current generation switches will lead to a big loss in utilization.

Working with limited switch memory Observation: at any given instant the number of paths required is much smaller. Install only the “working set” of paths Use scratch capacity to enable disruption-free updates to the set

SWAN comes close to optimal (relative to optimal) Throughput SWAN w/o rate control SWAN MPLS TE

Deploying SWAN in production Data center Data center Lab prototype Partial deployment Full deployment

Key lesson from using SDNs Promise of SDNs: - You can configure your network just the way you want it - Direct control can avoid convergence issues of distributed protocols such as loops, drops, and other uncertainties Reality today: - Bad things still happen in between stable states Change is hard http://blog.richmond.edu/rapmusic/2012/10/20/tricia-rose-on-obama-2/

Loops in SDNs The problem is more general than congestion Loops. Avoiding these issues requires careful orchestration of updates. When a switch can be safely updated depends on whether certain other switches have been updated This thus introduces dependencies between switches

Dependencies are worse than you might think

Ongoing work: Robust, fast network updates Understand fundamental limits Develop practical solutions We need to understand fundamental limits: what dependencies are really essential. And we need to develop practical solutions for network updates that are both fast in the presence of stragglers and robust when switch updates fail entirely.

What are the minimal dependencies for a desired consistency property? [On consistent updates in software-defined networks, HotNets 2013]

Network update pipeline Routing policy Consistency property Network characteristics Robust rule generation Dependency graph generation Update execution

Robust rule generation: Example Two questions: - how to compute? - how much throughput is lost?

Robust rule generation Goal: No congestion if any k or fewer switches fail to update Challenge: Too many failure combinations 𝑛 1 + … + 𝑛 𝑘 Approach: Use a sorting network to identify worst k failures O(kn) constraints

Robust rule generation: Preliminary results

Network update pipeline Routing policy Consistency property Network characteristics Robust rule generation Dependency graph generation Update execution

Dependency graph generation Add @𝑢 ∗ 𝑤 Del @𝑢 ∗ 𝑣 Add @𝑣 ∗ 𝑢 Del @𝑤 ∗ 𝑢 Add @𝑤 ∗ 𝑣 Del @𝑣 ∗ 𝑤

Update execution Updates without parents can be applied right away Break any cycles and shorten long chains Add @𝑤 𝑣 𝑣 Add @𝑢 ∗ 𝑤 Del @𝑢 ∗  𝑣 Add @𝑣 ∗ 𝑢 Del @𝑤 ∗ 𝑢 Add @𝑤 ∗ 𝑣 Del @𝑣 ∗  𝑤

Update execution: Preliminary results

Summary SWAN yields a highly efficient and flexible WAN Coordinated service transmissions and centralized resource allocation Bounded fairness for scalable computation Scratch capacities for “safe” transitions Change is hard for SDNs Need to understand fundamental limits, develop practical solutions We set out to build a wide area network that was highly efficient, raising efficiency from the current levels of under 50% to over 95%. We realized that the current inefficiency stems from services sending in an uncoordinated manner, - Drove the network from periods of extremely high usage to periods of low usage. The opportunity was to fix this by coordinating when and how much services send, thus flattening the overall utilization curve, and filling the valleys with low priority traffic. In realizing this architecture, we had to address several challenges.