Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Multihoming and Multi-path Routing
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
A Search Memory Substrate for High Throughput and Low Power Packet Processing Sangyeun Cho, Michel Hanna and Rami Melhem Dept. of Computer Science University.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
1 An Efficient, Hardware-based Multi-Hash Scheme for High Speed IP Lookup Hot Interconnects 2008 Socrates Demetriades, Michel Hanna, Sangyeun Cho and Rami.
Jaringan Komputer Lanjut Packet Switching Network.
© 2009 Cisco Systems, Inc. All rights reserved. SWITCH v1.0—4-1 Implementing Inter-VLAN Routing Deploying Multilayer Switching with Cisco Express Forwarding.
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Router Architecture : Building high-performance routers Ian Pratt
Hit or Miss ? !!!.  Cache RAM is high-speed memory (usually SRAM).  The Cache stores frequently requested data.  If the CPU needs data, it will check.
Bloom Filters Kira Radinsky Slides based on material from:
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
Teknik Routing Pertemuan 20 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
1 Design and implementation of a Routing Control Platform Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, Jacobus van der.
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,
Multipath Routing Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Scalable Management of Enterprise and Data Center Networks Minlan Yu Princeton University 1.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
NET-REPLAY: A NEW NETWORK PRIMITIVE Ashok Anand Aditya Akella University of Wisconsin, Madison.
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
Sarang Dharmapurikar With contributions from : Praveen Krishnamurthy,
Fast and deterministic hash table lookup using discriminative bloom filters  Author: Kun Huang, Gaogang Xie,  Publisher: 2013 ELSEVIER Journal of Network.
Day 12 Chapter 13 WAN Technologies and Routing. Classification of Networks LAN – spans a single building or campus MAN – Spans a city WAN – Spans multiple.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Floodless in SEATTLE : A Scalable Ethernet ArchiTecTure for Large Enterprises. Changhoon Kim, Matthew Caesar and Jenifer Rexford. Princeton University.
Scalable Multi-Class Traffic Management in Data Center Backbone Networks Amitabha Ghosh (UtopiaCompression) Sangtae Ha (Princeton) Edward Crabbe (Google)
A Firewall for Routers: Protecting Against Routing Misbehavior1 June 26, A Firewall for Routers: Protecting Against Routing Misbehavior Jia Wang.
1 ECE 526 – Network Processing Systems Design System Implementation Principles II Varghese Chapter 3.
Authors: Matteo Varvello, Diego Perino, and Leonardo Linguaglossa Publisher: NOMEN 2013 (The 2nd IEEE International Workshop on Emerging Design Choices.
SEATTLE and Recent Work Jennifer Rexford Princeton University Joint with Changhoon Kim, Minlan Yu, and Matthew Caesar.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
“Hashing Out” the Future of Enterprise and Data-Center Networks Jennifer Rexford Princeton University Joint with Changhoon.
The Bloom Paradox Ori Rottenstreich Joint work with Yossi Kanizo and Isaac Keslassy Technion, Israel.
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
The Bloom Paradox Ori Rottenstreich Joint work with Isaac Keslassy Technion, Israel.
Yaping Zhu with: Jennifer Rexford (Princeton University) Aman Shaikh and Subhabrata Sen (ATT Research) Route Oracle: Where Have.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Describe basic routing concepts. Routers Interconnect Networks Router is responsible for forwarding packets from network to network, from the original.
18-WAN Technologies and Dynamic routing Dr. John P. Abraham Professor UTPA.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
BUFFALO: Bloom Filter Forwarding Architecture for Large Organizations Minlan Yu Princeton University Joint work with Alex Fabrikant,
SketchVisor: Robust Network Measurement for Software Packet Processing
William Stallings Data and Computer Communications
FlowRadar: A Better NetFlow For Data Centers
The Variable-Increment Counting Bloom Filter
Be Fast, Cheap and in Control
Optimal Elephant Flow Detection Presented by: Gil Einziger,
Chapter 2: Static Routing
Bloom Filters Very fast set membership. Is x in S? False Positive
Static Routing 1st semester
COS 561: Advanced Computer Networks
COS 461: Computer Networks
COMPUTER NETWORKS CS610 Lecture-16 Hammad Khalid Khan.
Achieving Resilient Routing in the Internet
Lu Tang , Qun Huang, Patrick P. C. Lee
Static Routing 2nd semester
Presentation transcript:

Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer Rexford 1 SIGCOMM WREN’09

Enterprise Edge Router Enterprise edge routers – Connects upstream providers and internal routers A few outgoing links – A small data structure for each next hop 2 Provider 1 Provider 2 Enterprise Network

Challenges of Packet Forwarding Full routes forwarding table (FIB) – For load balancing, fault tolerance, etc. – More than 250K entries, and growing Increasing link speed – Over 10 Gbps Requires large, expensive memory – Expensive, complicated high-end routers More cost-efficient, less power-hungry solution? – Perform fast packet forwarding in a small SRAM 3

Using a Small SRAM Route caching is not a viable solution – Store the most frequently used entries in cache – Bad performance during cache miss Low throughput and high packet loss – Bad performance under worst-case workloads Malicious traffic with a wide range of destinations Route changes, link failures Our solution should be workload independent – Fit the entire FIB in the small SRAM 4

Bloom Filter Bloom filters in fast memory (SRAM) – A compact data structure for a set of elements – Calculate s hash functions to store element x – Easy to check membership – Reduce memory at the expense of false positives h 1 (x)h 2 (x)h s (x) x V0V0 V m-1 h 3 (x)

Bloom Filter Forwarding One Bloom filter (BF) per next hop – Store all addresses forwarded to that next hop Consider flat addresses in the talk – See paper for extensions to longest prefix match 6 Nexthop 1 Nexthop 2 Nexthop T …… Packet destination query Bloom Filters hit T is small for enterprise edge routers

Contributions Make efficient use of limited fast memory – Formulate and solve optimization problem to minimize false-positive rate Handle false positives – Leverage properties of enterprise edge routers Adapt Bloom filters for routing changes – Leverage counting Bloom filter in slow memory – Dynamically adjust Bloom filter size 7

Outline Optimize memory usage Handle false positives Handle routing dynamics 8

Outline Optimize memory usage Handle false positives Handle routing dynamics 9

Memory Usage Optimization Consider fixed forwarding table Goal: Minimize overall false-positive rate – Probability one or more BFs have a false positive Input: – Fast memory size M – Number of destinations per next hop – The maximum number of hash functions Output: the size of each Bloom filter – Larger BF for next-hops with more destinations 10

Constraints and Solution Constraints – Memory constraint Sum of all BF sizes fast memory size M – Bound on number of hash functions To bound CPU calculation time Bloom filters share the same hash functions Proved to be a convex optimization problem – An optimal solution exists – Solved by IPOPT (Interior Point OPTimizer) 11

– The FIB with 200K entries, 10 next hop – 8 hash functions – Takes at most 50 msec to solve the optimization Evaluation of False Positives 12

Outline Optimize memory usage Handle false positives Handle routing dynamics 13

False Positive Detection Multiple matches in the Bloom filters – One of the matches is correct – The others are caused by false positives 14 Nexthop 1 Nexthop 2 Nexthop T …… Packet destination query Bloom Filters Multiple hits

Handle False Positives on Fast Path Leverage multi-homed enterprise edge router Send to a random matching next hop – Packets can get to the destination even through a less- preferred outgoing link occasionally – No extra traffic, but may cause packet loss Send duplicate packets – Send copy of packet to all matching next hops – Guarantees reachability, but introduce extra traffic 15

Prevent Future False Positives For a packet that experiences a false positive – Conventional lookup in the background – Cache the result For the subsequent packets – No longer experience false positives Compared to conventional route cache – Much smaller (only for false-positive destinations) – Not easily invalidated by an adversary 16

Outline Optimize memory usage Handle false positives Handle routing dynamics 17

Problem of Bloom Filters Routing changes – Add/delete entries in BFs Problem of Bloom Filters (BF) – Do not allow deleting an element Counting Bloom Filters (CBF) – Use a counter instead of a bit in the array – CBFs can handle adding/deleting elements – But, require more memory than BFs 18

Update on Routing Change Use CBF in slow memory – Assist BF to handle forwarding-table updates – Easy to add/delete a forwarding-table entry 19 CBF in slow memory BF in fast memory Delete a route

Occasionally Resize BF Under significant routing changes – Number of addresses in BFs changes significantly – Re-optimize BF sizes Use CBF to assist resizing BF – Large CBF and small BF – Easy to expand BF size by contracting CBF Hard to expand to size 4 CBF BF Easy to contract CBF to size 4

BF-based Router Architecture 21

Prototype and Evaluation Prototype in kernel-level Click Experiment environment – 3.0 GHz 64-bit Intel Xeon – 2 MB L2 data cache, used as fast memory size M Forwarding table – 10 next hops, 200K entries Peak forwarding rate – 365 Kpps for 64 Byte packets – 10% faster than conventional lookup 22

Conclusion Improve packet forwarding for enterprise edge routers – Use Bloom filters to represent forwarding table Only require a small SRAM – Optimize usage of a fixed small memory Multiple ways to handle false positives – Leverage properties of enterprise edge routers React quickly to FIB updates – Leverage Counting Bloom Filter in slow memory 23

Ongoing Work: BUFFALO Bloom filter forwarding in large enterprise – Deploy BF-based switches in the entire network – Forward all the packets on the fast path Gracefully handling false positives – Randomly select a matching next hop – Techniques to avoid loops and bound path stretch 24

Thanks Questions? 25