400 Gb/s Programmable Packet Parsing on a Single FPGA Authors : Michael Attig 、 Gordon Brebner Publisher: 2011 Seventh ACM/IEEE Symposium on Architectures.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Octavian Cret, Kalman Pusztai Cristian Vancea, Balint Szente Technical University of Cluj-Napoca, Romania CREC: A Novel Reconfigurable Computing Design.
Authors: Raphael Polig, Kubilay Atasu, and Christoph Hagleitner Publisher: FPL, 2013 Presenter: Chia-Yi, Chu Date: 2013/10/30 1.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based.
8.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
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,
Application of NetFPGA in Network Security Hao Chen 2/25/2011.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Chapter 9 Classification And Forwarding. Outline.
PRE-PROGRAMMING PHASE
1 Chapter 2 Database Environment. 2 Chapter 2 - Objectives u Purpose of three-level database architecture. u Contents of external, conceptual, and internal.
IP/ICMP Translation Algorithm (IIT) Xing Li, Congxiao Bao, Fred Baker
Department of Electrical and Computer Engineering Kekai Hu, Harikrishnan Chandrikakutty, Deepak Unnikrishnan, Tilman Wolf, and Russell Tessier Department.
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Workpackage 3 New security algorithm design ICS-FORTH Paris, 30 th June 2008.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
 Author: Kubilay Atasu, Florian Doerfler, Jan van Lunteren, Christoph Hagleitner  Publisher: 2013 FPL  Presenter: Yuen-Shuo Li  Date: 2013/10/30 1.
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( )
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
(TPDS) A Scalable and Modular Architecture for High-Performance Packet Classification Authors: Thilan Ganegedara, Weirong Jiang, and Viktor K. Prasanna.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
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:
Cohesion and Coupling CS 4311
Reconfigurable Computing - Type conversions and the standard libraries John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots.
Finalizing Design Specifications
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Author : Ioannis Sourdis, Vasilis Dimopoulos, Dionisios Pnevmatikatos and Stamatis Vassiliadis Publisher : ANCS’06 Presenter : Zong-Lin Sie Date : 2011/01/05.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
The Software Development Process
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.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
FPL Sept. 2, 2003 Software Decelerators Eric Keller, Gordon Brebner and Phil James-Roxby Xilinx Research Labs.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Chapter 7 OSI Data Link Layer.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Forwarding Programming in Protocol- Oblivious Instruction Set Author : Jingzhou Yu, Xiaozhong Wang, Jian Song, Yuanming Zheng, Haoyu Song Conference: 2014.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
LonWorks Introduction Hwayoung Chae.
TTCN-3 Testing and Test Control Notation Version 3.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
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.
P4: Programming Protocol-Independent Packet Processors
Author: Yun R. Qu, Shijie Zhou, and Viktor K. Prasanna Publisher:
Jehandad Khan and Peter Athanas Virginia Tech
P4 (Programming Protocol-independent Packet Processors)
Net 323: NETWORK Protocols
Anne Pratoomtong ECE734, Spring2002
P4-to-VHDL: Automatic Generation of 100 Gbps Packet Parsers
Dynamic Packet-filtering in High-speed Networks Using NetFPGAs
Implementing an OpenFlow Switch on the NetFPGA platform
P4FPGA : A Rapid Prototyping Framework for P4
Computer Networking A Top-Down Approach Featuring the Internet
Power-efficient range-match-based packet classification on FPGA
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 Authors : Michael Attig 、 Gordon Brebner Publisher: 2011 Seventh ACM/IEEE Symposium on Architectures for Networking and Communications Systems Presenter: Ye-Zhi Chen Date: 2011/11/30 1

To provide an open-ended, high-level way to describe packet parsing algorithms, and to allow in-operation updates without FPGA circuitry changes. Motivation 2

A packet in transit consists of a stack of headers, a data payload, and – optionally – a stack of trailers Two main purposes : Extract a key from stack (for packet classification) Ascertain the position of the data payload (DPI) Parsing 3

1.Introducing a simple high-level domain-specific language for directly describing packet header parsing algorithms in an object-oriented style 2.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 3.Demonstrating a fast compiler that maps a parsing algorithm description to a matching FPGA-based virtual architecture. 4.Embodying programmability into the virtual architecture, so that the parsing algorithm can be updated dynamically during system operation. Contributions 4

PP provide a high-level way of describing formats of packet headers and rules for parsing these headers. PP is completely protocol-agnostic, with no built-in restrictions on packet formats Conceptually, the PP parsing rules can be seen as embedded within the following standard ‘outer loops’: Packet Parsing(PP) Language 5

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 6

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

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 Packet Parsing(PP) Language 8

PP allows arbitrary expressions, in terms of packet field values and constants, to be used. In particular, conditional if-then-else expressions are allowed in order to express more complex parsing behavior Packet Parsing(PP) Language 9

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 10

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 11

The internal micro-architecture of a stage follows a standard template, connecting five basic components Compiling PP to Programmable Logic 12

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. Parsing Pipeline Stage Micro-architecture 13

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 Parsing Pipeline Stage Micro-architecture 14

Microcode : The use of microcode enables later parsing algorithm changes without necessarily generating a new micro architecture. Parsing Pipeline Stage Micro-architecture 15

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 16

Benchmark Suite 17

Benchmark Suite 18

Experimental Result The examples in the benchmark suite were implemented for the Xilinx Virtex-7 870HT FPGA which includes Gb/s and Gb/s serial transceivers 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. 19

Experimental Result 20

Experimental Result 21

Experimental Result 22

Experimental Result 23

Experimental Result 24