Toward Self-Driving Networks

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

Nanxi Kang Princeton University
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
OpenFlow-Based Server Load Balancing GoneWild
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.
Traffic Forecasting Medium Access TRANSFORMA Vladislav Petkov Katia Obraczka 1.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
1 Monitoring: from research to operations Christophe Diot and the IP Sprintlabs ipmon.sprintlabs.com.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Quality and Value for the Exam 100% Guarantee to Pass Your Exam Based on Real Exams Scenarios Verified Answers Researched by Industry.
SketchVisor: Robust Network Measurement for Software Packet Processing
The Internet: An Exciting Time
P4: Programming Protocol-Independent Packet Processors
Chapter 3 Part 3 Switching and Bridging
COS 561: Advanced Computer Networks
Routing Metrics for Wireless Mesh Networks
Building Efficient and Reliable Software-Defined Networks
HULA: Scalable Load Balancing Using Programmable Data Planes
Kapitel 19: Routing. Kapitel 21: Routing Protocols
How I Learned to Stop Worrying About the Core and Love the Edge
Chapter 4 Network Layer All material copyright
Jennifer Rexford Princeton University
Routing Metrics for Wireless Mesh Networks
Routing Jennifer Rexford.
Topics discussed in this section:
Ch 13 WAN Technologies and Routing
Language-Directed Hardware Design for Network Performance Monitoring
Srinivas Narayana MIT CSAIL October 7, 2016
Chapter 3 Part 3 Switching and Bridging
Congestion-Aware Load Balancing at the Virtual Edge
ECE 544 Protocol Design Project 2016
Programmable Networks
Sonata Query-driven Streaming Network Telemetry
Routing Metrics for Wireless Mesh Networks
Optimal Elephant Flow Detection Presented by: Gil Einziger,
Network Core and QoS.
Implementing an OpenFlow Switch on the NetFPGA platform
Network Control Jennifer Rexford
Programmable Data Plane
Sonata: Query-Driven Streaming Network Telemetry
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Chapter 3 Part 3 Switching and Bridging
Network Layer: Control/data plane, addressing, routers
Programmable Switches
Congestion-Aware Load Balancing at the Virtual Edge
Network-Wide Routing Oblivious Heavy Hitters
Heavy Hitters in Streams and Sliding Windows
Ran Ben Basat, Xiaoqi Chen, Gil Einziger, Ori Rottenstreich
Catching the Microburst Culprits with Snappy
Chapter-5 Traffic Engineering.
2019/5/13 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Peng Wang, George Trimponias, Hong Xu,
Taurus: An Intelligent Data Plane
Lu Tang , Qun Huang, Patrick P. C. Lee
Toward Self-Driving Networks
2019/10/9 A Weighted ECMP Load Balancing Scheme for Data Centers Using P4 Switches Presenter:Hung-Yen Wang Authors:Jin-Li Ye, Yu-Huang Chu, Chien Chen.
Jennifer Rexford Princeton University
Catching the Microburst Culprits with Snappy
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Network Core and QoS.
2019/11/12 Efficient Measurement on Programmable Switches Using Probabilistic Recirculation Presenter:Hung-Yen Wang Authors:Ran Ben Basat, Xiaoqi Chen,
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Toward Self-Driving Networks Jennifer Rexford

Self-Driving Network Complete control loop Examples Slow flows causing microbursts Block or slow heavy-hitter flows Direct traffic over the best paths Now possible in the data plane! analyze measure control

Protocol-Independent Switch Architecture (PISA) registers registers Packet parser headers metadata Match Action m1 a1 Match Action m1 a1 . . . Match-action tables Match-action tables

But, a Constrained Computational Model Small amount of memory registers registers Limited # of bits metadata Packet parser headers Match Action m1 a1 Match Action m1 a1 . . . Limited computation Pipelined computation Match-action tables Match-action tables

Design compact data structures and streaming algorithms

Catching the Microburst Culprits With Snappy Xiaoqi Chen, Shir Landau Feibish, Yaron Koral, Jennifer Rexford, and Ori Rottenstreich http://www.cs.princeton.edu/~jrex/papers/snappy18.pdf

Microbursts are Expensive Microbursts cause performance degradation Packet loss Packet delay But, simultaneously handle Bursty workloads Low-cost switches (with shallow buffers) High link utilization Must micromanage the microbursts!

Detecting Heavy Flows in the Queue For each flow, how many packets are in the queue? Data structure challenges Per-flow state (key and count) Updating on packet arrival and departure Key Count 1 5 2

Multiple, Approximate Snapshots of the Queue Avoiding updates on both packet arrival and departure Implicitly handle departures in small batches E.g., windows of packets Avoiding per-flow state Approximate data structure (e.g., Count-Min) Packet checks its flow’s status, and acts Count-Min Sketch [CM ‘05] +1 +1 B Buckets +1 f C columns

Multiple Snapshots Across the Pipeline length Snap 3: write Snap 2: Read Snap 1: Read Snap h: Read

Heavy Hitter Detection Entirely in the Data Plane Vibhaalakshmi Sivaraman, Srinivas Narayana, Ori Rottenstreich, S. Muthukrishnan, and Jennifer Rexford https://conferences.sigcomm.org/sosr/2017/papers/sosr17-heavy-hitter.pdf

Heavy-Hitter Detection Heavy hitters The k largest trafic flows Flows exceeding threshold T Space-saving algorithm Table of (key, value) pairs Evict the key with the minimum value Id Count K1 4 K2 2 K3 7 K4 10 K5 1 K6 5 New Key K7 Table scan

Approximating the Approximation Evict minimum of d entries Rather than minimum of all entries E.g., with d = 2 hash functions Id Count K1 4 K2 2 K3 7 K4 10 K5 1 K6 5 Multiple memory accesses New Key K7

Approximating the Approximation Divide the table over d stages One memory access per stage Two different hash functions Id Count K1 4 K2 2 K3 7 Id Count K4 10 K5 1 K6 5 New Key K7 Going back to the first table

Approximating the Approximation Rolling minimum across stages Avoid recirculating the packet … by carrying the minimum along the pipeline Id Count K1 4 K7 1 K3 7 Id Count K1 4 K2 10 K3 7 Id Count K2 10 K5 1 K6 5 Id Count K4 2 K5 1 K6 5 New Key K7 (K2, 10)

P4 Prototype and Evaluation Hash on packet header Packet metadata Register arrays Id Count K1 4 K2 10 K3 7 Id Count K4 2 K5 1 K6 5 New Key K7 (K2, 10) Conditional updates to compute minimum High accuracy with overhead proportional to # of heavy hitters

Hop-by-Hop Utilization-aware Load-balancing Architecture Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, and Jennifer Rexford http://conferences.sigcomm.org/sosr/2016/papers/sosr_paper67.pdf

HULA Multipath Load Balancing S2 ToR 10 Data S3 ToR 1 S1 S4 Load balancing entirely in the data plane Collect real-time, path-level performance statistics Group packets into “flowlets” based on time & headers Direct each new flowlet over the current best path

Path Performance Statistics Best-hop table Best Next-Hop Path Utilization S3 50% S4 10% … Dest ToR 1 Probe … Probe S3 S1 Data Data S4 Using the best-hop table Update the best next-hop upon new probes Assign a new flowlet to the best next-hop

Flowlet Routing Using the flowlet table Dest ToR Timestamp Next-Hop ToR 10 1 S2 ToR 0 17 S4 … h(flowid) 1 … S3 S1 Data Data S4 Using the flowlet table Update the next hop if enough time has elapsed Update the timestamp to the current time Forward the packet to the chosen next hop

Putting it all Together Using P4 data packet Best Next-Hop Path Utilization S3 50% S4 10% … Dest ToR 1 … current best next-hop S3 Dest ToR Timestamp Next-Hop ToR 10 1 S2 ToR 0 17 S4 … Update next-hop (if enough time elapsed) and time h(flowid) 1 … chosen next-hop

Conclusion Self-driving networks Enabled by programmable switches Integrate measure, analyze, and control Implement directly in the network devices Enabled by programmable switches Parsing, processing, and state Approximate data structures, plus control actions New programming abstractions Higher-level goals  synthesize the control loop