N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka...

23
N33-6 NSS2006 N33-6 NSS2006 Development of a Development of a TCP/IP Processing TCP/IP Processing Hardware Hardware 1,2) 1,2) Tomohisa Uchida Tomohisa Uchida and and 2) 2) Manobu Manobu Tanaka Tanaka 1) 1) University of Tokyo, Japan University of Tokyo, Japan 2) 2) High Energy Accelerator Research Organization High Energy Accelerator Research Organization (KEK), Japan (KEK), Japan

Transcript of N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka...

Page 1: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Development of a TCP/IP Development of a TCP/IP Processing HardwareProcessing Hardware

1,2) 1,2) Tomohisa UchidaTomohisa Uchida and and 2)2)Manobu Manobu TanakaTanaka

1) 1) University of Tokyo, JapanUniversity of Tokyo, Japan2)2) High Energy Accelerator Research Organization (KEK), High Energy Accelerator Research Organization (KEK),

JapanJapan

Page 2: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

OutlineOutline

• IntroductionIntroduction– Advantages using network technologiesAdvantages using network technologies– Why we did develop?Why we did develop?

• ImplementationImplementation– A test board.A test board.

• MeasurementMeasurement– Transfer Speed.Transfer Speed.– Power Consumption.Power Consumption.

• ConclusionConclusion

We call the hardware SiTCP.We call the hardware SiTCP.

Page 3: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

IntroductionIntroduction

• There are advantages using Network technologies.There are advantages using Network technologies.– High Flexibility,High Flexibility,– High Connectivity,High Connectivity,– Various Commodity Products,Various Commodity Products,– Standard OSs Support Standard Protocols,Standard OSs Support Standard Protocols,– Easy Maintenance.Easy Maintenance.

• It is essential in back-end systemsIt is essential in back-end systems

It has not been sufficiently adopted It has not been sufficiently adopted in front-end systems.in front-end systems.

Page 4: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Why did we develop ?Why did we develop ?

• Front-end devices have constraints;Front-end devices have constraints;– Small Hardware size,Small Hardware size,– Low Power-Consumption,Low Power-Consumption,– High Speed Data-Transfer.High Speed Data-Transfer.

In Order toIn Order to Satisfy These Constraints, Satisfy These Constraints,We Have DevelopedWe Have Developed SiTCP. SiTCP.

We Tried to adopt it but Encountered Problems.We Tried to adopt it but Encountered Problems.

Page 5: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

FeaturesFeatures

• Small Hardware sizeSmall Hardware size– Implemented on an FPGAImplemented on an FPGA

• Small Power ConsumptionSmall Power Consumption– < 730mW< 730mW– System Clock is 25MHSystem Clock is 25MH z z with 100BAST-T.with 100BAST-T.

• High Transfer-SpeedHigh Transfer-Speed– Line Utilization of TCP data is about 95%.Line Utilization of TCP data is about 95%.– Reach to The Theoretical Limit.Reach to The Theoretical Limit.

• Simple External InterfaceSimple External Interface– Like a Sync. FIFO-Memory-device.Like a Sync. FIFO-Memory-device.

Page 6: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

ImplementationImplementation

RJ45RJ45

Ethernet PHYEthernet PHYSMSC LAN83C185SMSC LAN83C185

Test BoardTest Board

SiTCP on ItSiTCP on It

In order to measure performance,In order to measure performance,We developed a Test board.We developed a Test board.

~2,000 Slices (40% logic resources) are used

FPGAFPGA

Xilinx XC3S500EXilinx XC3S500E

Small SizeSmall Size

Page 7: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Block Diagram of the FPGABlock Diagram of the FPGA

SiTCP

Test-Data Generator

Test-Data Checker

MII

Tx dataTx data

Rx dataRx data

Test data are incremental numbers.Test data are incremental numbers. MII (Media Independent Interface)MII (Media Independent Interface) is specified by IEEE802.3.is specified by IEEE802.3.

Page 8: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

MeasurementMeasurement

• Confirmed capability to communicate a PCConfirmed capability to communicate a PC– Using a Linux OS.Using a Linux OS.– With a Simple Application ProgramWith a Simple Application Program

•Using Standard SOCKT() functions Using Standard SOCKT() functions •Receiving onlyReceiving only

• Measured Transfer SpeedMeasured Transfer Speed– From a SiTCP (Test board) to a PCFrom a SiTCP (Test board) to a PC

Page 9: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

MeasurementMeasurementSetupSetup

ACK # LoggerACK # Logger

RS232CRS232C

100BASE-TRX-PC

Extracts TCP ACK #s Extracts TCP ACK #s from packetsfrom packets

Tap

Test Board

Send The Last TCP ACK #Send The Last TCP ACK #Every 200 msEvery 200 ms

Generates Test Data

LINUX 2.4

ACK # ExtractorACK # Extractor

A Packet is copied and A Packet is copied and Forwarded to The Extractor.Forwarded to The Extractor.

Page 10: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Calculate Line UtilizationCalculate Line Utilization

• Transfer SpeedTransfer Speed– Calculate from logged ACK #sCalculate from logged ACK #s– ACK # is logged every 200 ms.ACK # is logged every 200 ms.

• Utilization RatioUtilization Ratio= Transfer-Speed / 100 Mbps= Transfer-Speed / 100 Mbps(100BASE-T is employed)(100BASE-T is employed)

8200

#sec]Speed[bit/Transfer

ms

ACK

Page 11: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

ResultResult

%9.94146020202612

1460

max

MSSHHHIPG

MSSU

TCPIPMAC

Reaches The Theoretical LimitTheoretical Limit

Uti

lizati

on

Rati

o (

%)

Power Consumption < 730 mW (The whole board)

Page 12: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

ConclusionConclusion

• Enough Performance for Front-end DevicesEnough Performance for Front-end Devices– High-Speed Data TransfersHigh-Speed Data Transfers

•95% (Line Utilization of TCP data)95% (Line Utilization of TCP data)– Small Hardware SizeSmall Hardware Size

•41% logic resources are used of XC3S500E41% logic resources are used of XC3S500E– Low Power ConsumptionLow Power Consumption

•< 730 mW (The Whole Board)< 730 mW (The Whole Board)

SiTCP enables Front-end devicesSiTCP enables Front-end devices

to adopt Network-technologies.to adopt Network-technologies.

We have developed the TCP/IP processing hardware (SiTCP).We have developed the TCP/IP processing hardware (SiTCP).

Page 13: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Supplemental SlidesSupplemental Slides

Page 14: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Sequence NumberSequence Number

Data

Data

Data

Data

SN=2017

SN=2018

SN=2019

SN=3050

Sending Sending OrderOrder

A TCP packet

All Data of TCP are numberedAll Data of TCP are numbered by a sender.by a sender.

Data

Data

SN=2016

SN=2015

The sender sent The sender sent a SN of first data.a SN of first data.

SN=3051

Page 15: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Acknowledge NumberAcknowledge Number

Data

Data

Data

Data

SN=2017

SN=2018

SN=2019

SN=3050

The Receiver sent back The Receiver sent back the expecting next SNthe expecting next SN

As ACK #.As ACK #.

Receiving Receiving OrderOrder

A TCP packet

ACK # = 3051ACK # = 3051

Data

Data

SN=2016

SN=2015

SN=3051

Check the SN.Check the SN.

The Receiver is ExpectingThe Receiver is Expecting

Page 16: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

MeasurementMeasurementSetupSetup

ACK # Logger

RS232C

100BASE-TRX-PC

Extract TCP ACK #s from RX-PC packets

Tap

Test Board

Send a TCP ACK #Every 200 ms

Generates Test Data

LINUX 2.4

ACK # Extractor

A Packet is copied and Forwarded to The Extractor.

Page 17: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Transfer Capability TestTransfer Capability TestTransfer Rates of Both Transfer Rates of Both DirectionsDirections

• Measured Transfer SpeedMeasured Transfer Speed– Between SiTCPsBetween SiTCPs– Both directions Both directions – SimultaneouslySimultaneously

Page 18: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Capability TestCapability TestTransfer Data of Both Transfer Data of Both DirectionsDirections

RS232CRS232C

100BASE-T100BASE-T

Ethernet Tap

TCP ClientTCP Client TCP ServerTCP Server

ACK # LoggerACK # Logger

X 2X 2ACK # ExtractorACK # Extractor

Page 19: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Line Utilization between SiTCPsLine Utilization between SiTCPs

Server→ Client Client → Server

Avg. Utilization ~ 95% (95 Mbps)

Stable

Page 20: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Comparison toComparison toA Standard ImplementationA Standard Implementation

• An Standard ImplementationAn Standard Implementation– Using an FPGAUsing an FPGA

• Protocols are processed Protocols are processed – on an FPGA,on an FPGA,– Using an Embedded CPU,Using an Embedded CPU,– With a Standard OSWith a Standard OS

• LinuxLinux

• SUZAKU boardSUZAKU board– One of the standard implementations.One of the standard implementations.

Page 21: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

SUZAKU boardSUZAKU board

• A Product of Atmark Techno Inc. ,JapanA Product of Atmark Techno Inc. ,Japan• FPGAFPGA

– XC3S1000 (Xilinx Inc.)XC3S1000 (Xilinx Inc.)

• CPUCPU– Microblaze, Xilinx Inc.Microblaze, Xilinx Inc.– Embedded in an FPGAEmbedded in an FPGA

• uClinuxuClinux Consists of an FPGA,an Ethernet Controller chip,a Flash Memory,a DRAM.

Page 22: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

SetupSetup

ACK # Extractor

Ethernet Hub

RS232C

100BASE-TRX PC

Ethernet Tap

SUZAKU board

ACK # Logger

Page 23: N33-6 NSS2006 Development of a TCP/IP Processing Hardware 1,2) Tomohisa Uchida and 2) Manobu Tanaka 1) University of Tokyo, Japan 2) High Energy Accelerator.

N33-6 NSS2006N33-6 NSS2006

Utilization RatioUtilization Ratio

Max. Utilization ~ 3%

Uti

lizati

on

Rati

o (

%)