Software Routers: RouteBricks

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

NetServ Dynamic in-network service deployment Henning Schulzrinne (Columbia University) Srinivasan Seetharaman (Georgia Tech) Volker Hilt (Bell Labs)
Access Control List (ACL)
Layer 3 Switching. Routers vs Layer 3 Switches Both forward on the basis of IP addresses But Layer 3 switches are faster and cheaper However, Layer 3.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Network Innovation using OpenFlow: A Survey
A Comparative Study of Extensible Routers Yitzchak Gottlieb and Larry Peterson.
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
Programmable Routers Jae Woo Lee. Fundamental router design Routing protocols Packet forwarding Control plane Forwarding plane (aka data plane) Router.
Internet In A Slice Andy Bavier CS461 Lecture.
Routers Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Data Center Networks and Basic Switching Technologies Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems.
Data Center Virtualization: Open vSwitch Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems and Networking.
Router Architectures An overview of router architectures.
Data Center Traffic and Measurements: Available Bandwidth Estimation Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance.
Connecting LANs, Backbone Networks, and Virtual LANs
Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Aug 20 th, 2002 Sigcomm Education Workshop 1 Teaching tools for a network infrastructure teaching lab The Virtual Router and NetFPGA Sigcomm Education.
Paper Review Building a Robust Software-based Router Using Network Processors.
Information-Centric Networks10b-1 Week 13 / Paper 1 OpenFlow: enabling innovation in campus networks –Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
OpenFlow: Enabling Innovation in Campus Networks
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Click Router: Hands on Arvind Venkatesan Shivkumar Kalyanaraman.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Data.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
Click Router: Hands on Alex Newman Arvind Venkatesan Shivkumar Kalyanaraman.
Information-Centric Networks Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
An Efficient Gigabit Ethernet Switch Model for Large-Scale Simulation Dong (Kevin) Jin.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
N ETWORKED & D ISTRIBUTED COMPUTING S YSTEMS L AB Software Packet Processing - The Click modular router - netmap: A novel framework for fast packet I/O.
P4: Programming Protocol-Independent Packet Processors
Chapter 3: Packet Switching (overview)
Road to SDN Review the main features of SDN
Instructor Materials Chapter 3 Communicating on a Local Network
Data Center Networks and Basic Switching Technologies
3. Internetworking (part 1)
COS 561: Advanced Computer Networks
NOX: Towards an Operating System for Networks
Data Center Networks and Switching and Queueing
Reference Router on NetFPGA 1G
CT1303 LAN Rehab AlFallaj.
How Data Flows through the Internet
CS222 Web Programming Course Outline
Data and Computer Communications by William Stallings Eighth Edition
Indigo Doyoung Lee Dept. of CSE, POSTECH
The Stanford Clean Slate Program
Software Routers: Click
Chapter 2: The Linux System Part 1
15-744: Computer Networking
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
COS 561: Advanced Computer Networks
Software models - Software Architecture Design Patterns
Implementing an OpenFlow Switch on the NetFPGA platform
Networking Theory (part 2)
Chapter 3 Part 3 Switching and Bridging
CS4470 Computer Networking Protocols
Data Plane Jennifer Rexford Fall 2018 (TTh 1:30-2:50 in Friend 006)
Programmable Software Switches
Reference Router on NetFPGA 1G
Virtual LAN (VLAN).
2019/8/7 Performance Comparison between The Click Modular Router and the NetFPGA Router Author: Leonardo Linguaglossa, Alfio Lombardo, Diego Reforgiato,
Networking Theory (part 2)
Presentation transcript:

Software Routers: RouteBricks Hakim Weatherspoon Assistant Professor, Dept of Computer Science CS 5413: High Performance Systems and Networking October 3, 2014 Slides used and adapted judiciously from COS-561, Advanced Computer Networks At Princeton University

Goals for Today RouteBricks: Exploiting Parallelism To Scale Software Routers M. Dobrescu, N. Egi, K. Argyraki, B.G. Chun, and K. Fall. ACM Symposium on Operating Systems Principles (SOSP), October 2009, pages 15-28

Click Motivation Flexibility Openness Modularity Speed/efficiency Add new features Enable experimentation Openness Allow users/researchers to build and extend (In contrast to most commercial routers) Modularity Simplify the composition of existing features Simplify the addition of new features Speed/efficiency Operation (optionally) in the operating system Without the user needing to grapple with OS internals

Router as a Graph of Elements Large number of small elements Each performing a simple packet function E.g., IP look-up, TTL decrement, buffering Connected together in a graph Elements inputs/outputs snapped together Beyond elements in series to a graph E.g., packet duplication or classification Packet flow as main organizational primitive Consistent with data-plane operations on a router (Larger elements needed for, say, control planes)

Click Elements: Push vs. Pull Packet hand-off between elements Directly inspired by properties of routers Annotations on packets to carry temporary state Push processing Initiated by the source end E.g., when an unsolicited packet arrives (e.g., from a device) Pull processing Initiated by the destination end E.g., to control timing of packet processing (e.g., based on a timer or packet scheduler)

Language extensions through element classes Click Language Declarations Create elements Connections Connect elements Compound elements Combine multiple smaller elements, and treat as single, new element to use as a primitive class Language extensions through element classes Configuration strings for individual elements Rather than syntactic extensions to the language src :: FromDevice(eth0); ctr :: Counter; sink :: Discard; src -> ctr; ctr -> sink;

Modular software forwarding plane: Click modular router Control plane Elements Small building blocks, performing simple operations Instances of C++ classes Packets traverse a directed graph of elements FromDevice(eth0)->CheckIPHeader(14) ->IPPrint->Discard; User-level routing daemons Linux kernel Click Forwarding plane Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M. F., The click modular router, ACM Trans. Comput. Syst. 18, 3 (Aug. 2000) Andrea Bianco, Robert Birke, Davide Bolognesi, Jorge M. Finochietto, Giulio Galante, Marco Mellia, Click vs. Linux: Two Efficient Open-Source IP Network Stacks for Software Routers, HPSR 2005

Elements 9-11-2018 PATS Research Group 9

Push and Pull Push connection Pull connection Agnostic connection Source pushes packets downstream Triggered by event, such as packet arrival Denoted by filled square or triangle Pull connection Destination pulls packets from upstream Packet transmission or scheduling Denoted by empty square or triangle Agnostic connection Becomes push or pull depending on peer Denoted by double outline 9-11-2018 PATS Research Group 10 10

Push and pull violations 9-11-2018 PATS Research Group 11

Handlers and Control Socket Access points for user interaction Appear like files in a file system Can have both read and write handlers Examples Installing/removing forwarding-table entries Reporting measurement statistics Changing a maximum queue length Control socket Allows other programs to call read/write handlers Command sent as single line of text to the server http://read.cs.ucla.edu/click/elements/controlsocket?s=llrpc

Example: EtherSwitch Element Ethernet switch Expects and produces Ethernet frames Each input/output pair of ports is a LAN Learning and forwarding switch among these LANs Element properties Ports: any # of inputs, and same # of outputs Processing: push Element handlers Table (read-only): returns port association table Timeout (read/write): returns/sets TIMEOUT http://read.cs.ucla.edu/click/elements/etherswitch

Implicit vs explicit queues Implicit queue Used by STREAM, Scout, etc. Hard to control Explicit queue Led to push and pull, Click’s main idea Contributes to high performance

Click elements are created by others An Observation… Click is widely used And the paper on Click is widely cited Click elements are created by others Enabling an ecosystem of innovation Take-away lesson Creating useful systems that others can use and extend has big impact in the research community And brings tremendous professional value Compensating amply for the time and energy 

Improving software router performance: exploiting parallelism Can you build a Tbps router out of PCs running Click? Not quite, but you can get close RouteBricks: high-end software router Parallelism across servers and cores High-end servers: NUMA, multi-queue NICs RB4 prototype 4 servers in full mesh acting as 4-port (10Gbps/port) router 4  8.75 = 35Gbps Linearly scalable by adding servers (in theory) Dobrescu, M., Egi, N., Argyraki, K., Chun, B., Fall, K., Iannaccone, G., Knies, A., Manesh, M., and Ratnasamy, S. RouteBricks: exploiting parallelism to scale software routers, SOSP 2009 Bolla, R. and Bruschi, R., PC-based software routers: high performance and application service support, PRESTO 2008

Improving software router performance: specialized hardware NetFPGA Network processor Jad Naous, Glen Gibb, Sara Bolouki, Nick McKeown, NetFPGA: Reusable Router Architecture for Experimental Research, PRESTO 2008 Spalink, T., Karlin, S., Peterson, L., and Gottlieb, Y., Building a robust software-based router using network processors, SOSP 2001 J. Turner, P. Crowley, J. Dehart, A. Freestone, B. Heller, F. Kuhms, S. Kumar, J. Lockwood, J. Lu, M.Wilson, C. Wiseman, D. Zar, Supercharging PlanetLab – A High Performance, Multi-Application, Overlay Network Platform, SIGCOMM 2007 Tilman Wolf, Challenges and applications for network-processor-based programmable routers, IEEE Sarnoff Symposium, Princeton, NJ, Mar. 2006

Before Next time Project Progress Lab0b – Getting Started with Fractus Need to setup environment as soon as possible And meet with groups, TA, and professor Lab0b – Getting Started with Fractus Use Fractus instead of Red Cloud Red Cloud instances will be terminated and state lost Due Monday, Sept 29 Required review and reading for Friday, October 3 RouteBrics Check piazza: http://piazza.com/cornell/fall2014/cs5413 Check website for updated schedule