Upload
networksguy
View
247
Download
1
Tags:
Embed Size (px)
Citation preview
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
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)
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
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
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
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)
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
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
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
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
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
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