12
1 1 - John Lockwood : Network Processing in Reconfigurable Hardware Network Processing in Reconfigurable Hardware OpenSig 2002 Lexington, KY John W. Lockwood [email protected] Washington University in Saint Louis Applied Research Laboratory http://www.arl.wustl.edu/arl/projects/fpx/ 2 2 - John Lockwood : Network Processing in Reconfigurable Hardware Technology Options for Network Processing Microprocessors ' Fully Reprogrammable Optimized for general purpose purpose computing Sequential Processing Network Processors ' Fully Reprogrammable • Some concurrent processing (8-32 cores) ' Some hardware optimized for applications Reconfigurable Hardware ' Fully Programmable ' Highly concurrent processing ' Hardware optimized for specific application ... ... ... ... ... ... ... Custom Packet Processing Hardware • Highly concurrent processing ' Optimized for specific networking application Static Functionality

Network Processing in Reconfigurable Hardware

Embed Size (px)

Citation preview

Page 1: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 11 - John Lockwood : Network Processing in Reconfigurable Hardware

Network Processingin Reconfigurable Hardware

OpenSig 2002Lexington, KY

John W. [email protected]

Washington University in Saint LouisApplied Research Laboratory

http://www.arl.wustl.edu/arl/projects/fpx/

Extensible Networking Platform 22 - John Lockwood : Network Processing in Reconfigurable Hardware

Technology Options for Network Processing

• Microprocessors�Fully Reprogrammable� Optimized for general purpose purpose computing� Sequential Processing

• Network Processors�Fully Reprogrammable• Some concurrent processing (8-32 cores)�Some hardware optimized for applications

• Reconfigurable Hardware�Fully Programmable�Highly concurrent processing�Hardware optimized for specific application

...

...

...

... ...

......

• Custom Packet Processing Hardware• Highly concurrent processing�Optimized for specific networking application� Static Functionality

Page 2: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 33 - John Lockwood : Network Processing in Reconfigurable Hardware

Properties of Ideal Network Processor• High Performance

– Fast Network Interfaces• OC48 (2.4 Gbps) and better

– Hardware Accelerated• 10 Million packets/second +

• Fully Extensible– Fully Programmable– Modular Plugins

• Open Interfaces– Open switch interface

• Device fits into existing switch and firewall

– Open hardware interface• FPGA modules can be added and combined

– Open software and signaling interfaces

IPP

IPP OPP

OPP

Switch

Fabric

Gigabit

IPP

IPP

OPP

OPP

NetworkProcessorCard

OC3/OC12/OC48

Line

NetworkPackets

NetworkProcessorCard

OC3/OC12/OC48

Line

NetworkPackets

Extensible Networking Platform 44 - John Lockwood : Network Processing in Reconfigurable Hardware

Field Programmable Port Extender (FPX)

Page 3: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 55 - John Lockwood : Network Processing in Reconfigurable Hardware

FPX in Washington University Gigabit Switch

FPX

WUGS

FPX

FPX

FPX

Extensible Networking Platform 66 - John Lockwood : Network Processing in Reconfigurable Hardware

Using FPX & WUGS Process and Route Packets

PCPC

Fast Ethernet Switchw/Fiber uplink

Internet

Fast Ethernet Switchw/Fiber uplink

PC

PC

Page 4: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 77 - John Lockwood : Network Processing in Reconfigurable Hardware

FPX “in a box” Firewall Configuration

Fast Ethernet Switchw/Fiber uplink

Internet

Fiber uplinkTo backbone switch

(Fore PH 8000)

PC 2PC 1

Extensible Networking Platform 88 - John Lockwood : Network Processing in Reconfigurable Hardware

FPX Platform platform developed

FPX combined with WUGSto route and processInternet packets

Page 5: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 99 - John Lockwood : Network Processing in Reconfigurable Hardware

Properties of a Module

Extensible Networking Platform 1010 - John Lockwood : Network Processing in Reconfigurable Hardware

Payload Processing Environment

– Network applications benefit from higher-leveldata abstractions

– Protocol Wrapper Framework provides a simpleinterface to multiple layers of a Network

NetApp

Wrapper

Wrapper

Page 6: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 1111 - John Lockwood : Network Processing in Reconfigurable Hardware

Layout of typical FPX Hardware Module

UDP/TCP Processor

IP Processor

Cell Processor

Frame Processor

DataOutput

DataInput

Packet Processing Hardware

Extensible Networking Platform 1212 - John Lockwood : Network Processing in Reconfigurable Hardware

Content-Aware Firewall on a Chip

Layered Protocol Wrappers

Content-basedMatch

(regex)

CAM-basedFirewall

FlowBuffer

QueueManager

InputTrafficData

FromLinecard

( Implemented on the RAD on the FPX, using a VirtexE 2000 FPGA )

OutputTrafficData

ToLinecardor switch

p p p p

Off-Chip Synchronous RandomAccess Memory (SDRAM)

Matchvector

Flow#from CAM

Identify packetsBased on

HeadPointers

TailPointers

SDRAM FreeList Manager

SDRAMFree pointers

16

Off-Chip Static RandomAccess Memory (SRAM)

SRAMController

SDRAMController

SRAMInterface

Scheduler(RR, DRR, 3DQ)

Page 7: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 1313 - John Lockwood : Network Processing in Reconfigurable Hardware

Rec

onfi

gura

tion

Con

trol

Log

ic Network Switch

Dynamic Hardware Plugins

Network Interfaces

SelectMapProgramming

InterfaceStatic Infrastructure

Control Logic

DH

PM

odul

e

DH

PM

odul

e

Con

trol

Cel

lPro

cess

or

Switc

hPo

rt

SRA

MIn

t.

Lin

eC

ard

SDR

AM

Int.

Con

trol

Cel

lPro

cess

or

SDR

AM

Int.

SRA

MIn

t.

NID FPGA

RAD FPGA

Cache

SRAMZBT

SRAM

Bitstream

ZBT

SDRAM64 MB64 MB

SDRAM

DHP Implementation on the FPX• Reprogrammable

Application Device (RAD)– Circuit on XCV2000E– SRAM and SDRAM Interfaces– Control Cell Processor– Holds 2+ DHP Modules– Reprogrammable over

network• Network Interface

Device (NID)– XCV600E FPGA– Controls FPX– Full packet switch with

per-flow routing– Controls bitstream cache– Programs RAD over net

Extensible Networking Platform 1414 - John Lockwood : Network Processing in Reconfigurable Hardware

Floorplanning - Sample Infrastructure

Page 8: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 1515 - John Lockwood : Network Processing in Reconfigurable Hardware

Floorplannings - DHP

Extensible Networking Platform 1616 - John Lockwood : Network Processing in Reconfigurable Hardware

Floorplannings - INFRA

Page 9: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 1717 - John Lockwood : Network Processing in Reconfigurable Hardware

Other Modules Implemented

• IPv4 CAM Filter– 104 Bit header matching

• Fast IP Lookup (FIPL)– Longest Prefix Match– MAE-West at 10M

pkts/second

• Packet Content Scanner– Reg. Expression Search

• Data Queueing– Per-flow queue in

SDRAM

• IPv6 Tunneling Module– Tunnels IPv6 over IPv4

• Statistics Module– Event counter

• Traffic Generator– Per-flow mixing

• Video Recoder– Motion JPEG

• Embedded Processor– KCPSM

Extensible Networking Platform 1818 - John Lockwood : Network Processing in Reconfigurable Hardware

Control and Reconfiguration

Page 10: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 1919 - John Lockwood : Network Processing in Reconfigurable Hardware

Reprogramming the FPX

SwitchElement

IPPIPPIPPIPPIPPIPPIPP

OPPOPPOPPOPPOPPOPPOPPOPPIPP

RADFPGA

NIDFPGA

ConfigurationCache

(3) A Command Issuedto reconfigure

hardware

2) The full or partial bitstreamis sent over network to the

NID on the FPX and stored inThe configuration cache

(4) NID Reads Memoryand reprograms

RAD via SelectMAP

(1) New Moduleis created

Extensible Networking Platform 2020 - John Lockwood : Network Processing in Reconfigurable Hardware

Reconfiguration Times

• Million-Gate Reconfiguration (XCV2000E)– Configuration Size: 1.25 Mbytes = 10 Mbits– Network Transfer: 10 Mbit / 1 Gbps = 10ms– Configuration Time: 1.25 Mbyte / 50 MHz = 25ms

• Hardware Plug-in Module Reconfiguration– Configuration Size: 200 Kbytes = 1.6 Mbits– Network Transfer: 1.6 Mbit / 1 Gbps = 1.6 ms– Configuration Time: 200 Kbytes / 50 MHz = 4ms

Page 11: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 2121 - John Lockwood : Network Processing in Reconfigurable Hardware

Control and Configuration Services

– Allows communication to FPXhardware over the Internet usingthe Web, TCP/IP Sockets, orother signalling packages.

– Provides API to controls andconfigures the FPX

– Provides reliable transportmechanism with retransmissionto communicate with hardware

– Allows multiple control devicesto remotely connect and controlcommon FPX resources

AccessWEBTelnet

GLINK : Gigabit Link

Apache

NID NID

RAD RAD

BasicSend

BasicSend

NCHARGENCHARGE

Extensible Networking Platform 2222 - John Lockwood : Network Processing in Reconfigurable Hardware

Control and Configuration GUI

• Web interface tocommunicatewith the FPX

• Menu Functions– Route traffic

flows– Reprogram

hardware– Upload bitfiles– Read & write

on-chip Memory– Create test cells

Page 12: Network Processing in Reconfigurable Hardware

Extensible Networking Platform 2323 - John Lockwood : Network Processing in Reconfigurable Hardware

Installation of New Hardware Module

• Allows uploading anddownloading of full orpartial bitfiles

• Allows user to selecta bitfile forprogramming

• FPGA reconfigurswhen user presses‘Execute Command’

Extensible Networking Platform 2424 - John Lockwood : Network Processing in Reconfigurable Hardware

Summary• Reconfigurable Hardware performs Network Processing

– Provides high degree of configurability• Literally, every gate of a module can be reprogrammed

– Provides high performance• OC48 (2.4 Gbps) performance achieved using Xilinx XCV2000E-6

• Field Programmable Port Extender (FPX) Platform Developed– 85 FPX devices built– Over 20 Hardware modules have been developed

• Layered Internet Protocol wrappers– Enable processing Internet packets at Gigabit rates

• Control and Reconfiguration Mechanisms– Hardware Modules dynamically reconfigure over the network– Control software provides extendable socket interfaces– Web interface simplifies FPX control and configuration– Chained TCP/IP channel simultaneously programs multiple FPX devices