Download - NetFPGA

Transcript
Page 1: NetFPGA

1 WARFP 2006

NetFPGA

Greg WatsonProf. Nick McKeown, Martin Casado

High Performance Networking GroupStanford

and many Stanford students…

Page 2: NetFPGA

2 WARFP 2006

NetFPGA

• Board• Software• Vendor Tools• Class material

Teach Network System design at under-graduate and graduate level classes

Page 3: NetFPGA

3 WARFP 2006

• Motivation• Version 1• CS344 – Build an IP Router• Version 2• Research• Where now?

Overview

Page 4: NetFPGA

4 WARFP 2006

Motivation

• Provide practical experience in designing computer network systems (routers, switches, etc.)

Page 5: NetFPGA

5 WARFP 2006

Version 1

• Custom board• 3 FPGAs• SRAM, 8 10Mb/s

Ethernets• Racked – remote

development and debugging!

Page 6: NetFPGA

6 WARFP 2006

CS344 – Build an IP Router

• 10 week class. Masters/PhD level.

• Build a router with:– Hardware path for valid IP.– Software path for ARP, OSPF, invalid.– Provide CLI to manage the router.

Page 7: NetFPGA

7 WARFP 2006

CS344 setup

NetFPGA

WebBrowser

WebServer

Campus Internet

VNS

171.64.5.26

171.64.5.3

Routersoftware

Page 8: NetFPGA

8 WARFP 2006

Version 2

• Issues with Version 1– Custom Rack (expensive, complicated)– Slow (10Mb/s)– Software/hardware interface not ideal– Old technology

Page 9: NetFPGA

9 WARFP 2006

Version 2

• PCI, Four 1Gbps interfaces.

Page 10: NetFPGA

10 WARFP 2006

Version 2

V2P30

512Kx36SRAM

512Kx36SRAM

QuadEthPHY

4 x 1G

RocketIOon SATA

RocketIOon SATA

SpartanFLASH

PCI 32@33MHz

Page 11: NetFPGA

11 WARFP 2006

Typical Student design

Student Verilog(e.g. router)

EthMAC

registers

PCI 32@33MHz

Virtex2Pro30

DMA

EthMAC

EthMAC

EthMAC

To SRAM

To SRAM

Page 12: NetFPGA

12 WARFP 2006

Research

• Why? – “Fast and easy to use”– “Enough gates, RAM, and bandwidth to do

real network systems”

• RCP @ Stanford (congestion protocol)

• IDS @ ICSI

• Can touch every packet

Page 13: NetFPGA

13 WARFP 2006

Where now

• Classroom– Cheap, and easy to use– Develop interesting classes– Funding for support, testing, and development– Exploit on-chip CPUs (embedded systems)

• Research– EmuLAB/PlanetLab type configurations?– Easy to use

Page 14: NetFPGA

14 WARFP 2006

More information

• http://klamath.stanford.edu/nf2/