400 Gb/s Programmable Packet Parsing on a Single FPGA Author: Michael Attig 、 Gordon Brebner Publisher: ANCS 2011 Presenter: Chun-Sheng Hsueh Date: 2013/03/27.

Slides:



Advertisements
Similar presentations
Octavian Cret, Kalman Pusztai Cristian Vancea, Balint Szente Technical University of Cluj-Napoca, Romania CREC: A Novel Reconfigurable Computing Design.
Advertisements

Authors: Raphael Polig, Kubilay Atasu, and Christoph Hagleitner Publisher: FPL, 2013 Presenter: Chia-Yi, Chu Date: 2013/10/30 1.
400 Gb/s Programmable Packet Parsing on a Single FPGA Authors : Michael Attig 、 Gordon Brebner Publisher: 2011 Seventh ACM/IEEE Symposium on Architectures.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
Introduction to Databases Transparencies
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Department of Electrical and Computer Engineering Kekai Hu, Harikrishnan Chandrikakutty, Deepak Unnikrishnan, Tilman Wolf, and Russell Tessier Department.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
10/8/2015CST Computer Networks1 IP Routing CST 415.
(TPDS) A Scalable and Modular Architecture for High-Performance Packet Classification Authors: Thilan Ganegedara, Weirong Jiang, and Viktor K. Prasanna.
ES 101. Module 2 IP Addressing & Routing. Last Lecture Wide area networking Definition of “packets”
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Multi-dimensional Packet Classification on FPGA 100 Gbps and Beyond Author: Yaxuan Qi, Jeffrey Fong, Weirong Jiang, Bo Xu, Jun Li, Viktor Prasanna Publisher:
Timothy Whelan Supervisor: Mr Barry Irwin Security and Networks Research Group Department of Computer Science Rhodes University Hardware based packet filtering.
1 Network Administration Module 3 ARP/RARP. 2 Address Resolution The problem Physical networks use physical addresses, not IP addresses Need the physical.
1 Memory-Efficient and Scalable Virtual Routers Using FPGA Author: Hoang Le, Thilan Ganegedara and Viktor K. Prasanna Publisher: ACM/SIGDA FPGA '11 Presenter:
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Department of Computer Science and Engineering Applied Research Laboratory Architecture for a Hardware Based, TCP/IP Content Scanning System David V. Schuehler.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Forwarding Programming in Protocol- Oblivious Instruction Set Author : Jingzhou Yu, Xiaozhong Wang, Jian Song, Yuanming Zheng, Haoyu Song Conference: 2014.
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
High Throughput and Programmable Online Traffic Classifier on FPGA Author: Da Tong, Lu Sun, Kiran Kumar Matam, Viktor Prasanna Publisher: FPGA 2013 Presenter:
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
TCP/IP Protocol Suite 1 Chapter 7 Upon completion you will be able to: ARP ( and ARP ( RFC-826) and RARP ( RARP ( RFC-903) Understand the need for ARP.
Optimizing Packet Lookup in Time and Space on FPGA Author: Thilan Ganegedara, Viktor Prasanna Publisher: FPL 2012 Presenter: Chun-Sheng Hsueh Date: 2012/11/28.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
Author Name Security and Networks Research Group Department of Computer Science Rhodes University SNRG SLIDE TEMPLATE.
Computer Networks with Internet Technology William Stallings Chapter 2 Protocols and the TCP/IP Protocol Suite.
P4: Programming Protocol-Independent Packet Processors
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Snort – IDS / IPS.
Author: Yun R. Qu, Shijie Zhou, and Viktor K. Prasanna Publisher:
P4 (Programming Protocol-independent Packet Processors)
ARP and RARP Objectives Chapter 7 Upon completion you will be able to:
Net 323: NETWORK Protocols
Ch > 28.4.
IP Forwarding Relates to Lab 3.
IP Forwarding Relates to Lab 3.
Anne Pratoomtong ECE734, Spring2002
Chapter 2 Database Environment Pearson Education © 2009.
P4-to-VHDL: Automatic Generation of 100 Gbps Packet Parsers
ECEN “Internet Protocols and Modeling”
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
IP Forwarding Relates to Lab 3.
Implementing an OpenFlow Switch on the NetFPGA platform
Packet Classification with Evolvable Hardware Hash Functions
An Introduction to Software Architecture
P4FPGA : A Rapid Prototyping Framework for P4
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Data Structures & Algorithms
International Data Encryption Algorithm
Computer Networking A Top-Down Approach Featuring the Internet
Ch 17 - Binding Protocol Addresses
Automation of Control System Configuration TAC 18
Networking and Network Protocols (Part2)
Cohesion and Coupling.
Power-efficient range-match-based packet classification on FPGA
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Design principles for packet parsers
♪ Embedded System Design: Synthesizing Music Using Programmable Logic
Presentation transcript:

400 Gb/s Programmable Packet Parsing on a Single FPGA Author: Michael Attig 、 Gordon Brebner Publisher: ANCS 2011 Presenter: Chun-Sheng Hsueh Date: 2013/03/27

Introduction The basic parsing problem can be formulated as traversing a stack of headers in order to: ◦ Extract a key from the stack (e.g., a 16-bit packet type field or a TCP/IP five-tuple); and/or ◦ Ascertain the position of the data payload (e.g. to enable deeper packet inspection).

Introduction This paper presents four main contributions which, taken together, offer a flexible and scalable solution to the problems posed by high performance packet parsing: ◦ A simple high-level domain-specific language for directly describing packet header parsing algorithms in an object-oriented style. ◦ Using the concurrent processing capabilities of modern FPGA devices to enable the creation of tailored virtual processing architectures that match the individual needs of particular packet parsing algorithms.

Introduction This paper presents four main contributions which, taken together, offer a flexible and scalable solution to the problems posed by high performance packet parsing: ◦ A fast compiler that maps a parsing algorithm description to a matching FPGA-based virtual architecture ◦ Embodying programmability into the virtual architecture, so that the parsing algorithm can be updated dynamically during system operation.

Packet Parsing(PP) Language PP provide a high-level way of describing formats of packet headers and rules for parsing these headers. Conceptually, the PP parsing rules can be seen as embedded within the following standard ‘outer loops’:

Packet Parsing(PP) Language An object class is defined for each kind of packet header that is to be parsed. Then the header stack of a packet is conceptually viewed as being a linked list of objects, one per header. The definition of a class contains two parts: 1.A structure which defines the format of the header in terms of an ordered list of fields 2.A set of five standard methods (three optional) which define parsing rules for this header type

Packet Parsing(PP) Language An example class declaration, for IPv4 header parsing, is:

Packet Parsing(PP) Language The next_header method computes the class of the next header to be parsed, as an unsigned integer value (here just the value of the protocol field) The header_size method computes the size in bits of the header being parsed, and thence the offset of the next header within the packet The key_builder is used to define a contribution to the parsing result from a header object The earliest and the latest, indicate the earliest and latest points, respectively, at which this header type can occur in a header stack

Compiling PP to Programmable Logic The main goal for the FPGA-based parsing implementation was to achieve packet throughput in the 100s of Gb/s range The physical constraints were the amount of programmable logic available on target FPGA devices, and the achievable clock rates for such logic Because the typical range for the latter is between 200 and 400 MHz, it is necessary to use wide data paths to obtain an overall 200 Gb/s data rate The setting for the packet parsing module generated by the PP compiler is one involving the streaming of packet data through the module, using a very wide data path

Compiling PP to Programmable Logic Pipeline is deployed in the packet parsing module A packet advances through the pipeline, one header is parsed at each stage

Compiling PP to Programmable Logic

Parsing Pipeline Stage Micro-architecture A header type lookup component uses the input header type identifier to fetch customized microcode that programs the remaining components in the stage to be able to handle the particular header type. header offset within the packet stream is forwarded to a locate component that finds the header within the input packet stream The locate component works in tandem with an extract component that discovers header fields for use in parsing computations, and key building A compute component performs operations associated with the methods in the parsing description, such as computing the next header and the header size. Key builder component that constructs a revised parsing key.

Microcode The use of microcode enables later parsing algorithm changes without necessarily generating a new micro architecture.

Error and Exception Handling The packet parser flags that an unparseable packet has been encountered, but packets that are flagged as suspect are still passed out of the pipeline along with an indication of where the error/exception condition occurred. Header parsing stages transition to a pass-through mode when they see that an incoming packet already has an error/exception flag

Benchmark Suite The benchmark suite was drawn from examples required in practical networking situations, which fall into two broad categories: ◦ Carrier : layer-two and below protocol settings ◦ End system : layer-three and above protocol settings

Benchmark Suite

Experimental Result The examples in the benchmark suite were implemented for the Xilinx Virtex-7 870HT FPGA Packet input via a 400-Gb/s Ethernet MAC attached to Gb/s transceivers, and packet output via a 600-Gb/s Interlaken interface attached to Gb/s transceivers.

Experimental Result