Post on 25-Feb-2016
description
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
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.
• ConclusionConclusionWe call the hardware SiTCP.We call the hardware SiTCP.
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.
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.
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.
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
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.
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
N33-6 NSS2006N33-6 NSS2006
MeasurementMeasurementSetupSetup
ACK # LoggerACK # LoggerRS232CRS232C
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.
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
N33-6 NSS2006N33-6 NSS2006
ResultResult
%9.94146020202612
1460
max
MSSHHHIPGMSSU
TCPIPMAC
Reaches The Theoretical LimitTheoretical Limit
Utiliz
atio
n Ra
tio (%
)
Power Consumption < 730 mW (The whole board)
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).
N33-6 NSS2006N33-6 NSS2006
Supplemental SlidesSupplemental Slides
N33-6 NSS2006N33-6 NSS2006
Sequence NumberSequence Number
DataDataData
Data
SN=2017SN=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.
DataData
SN=2016SN=2015
The sender sent The sender sent a SN of first data.a SN of first data.
SN=3051
N33-6 NSS2006N33-6 NSS2006
Acknowledge NumberAcknowledge Number
DataDataData
Data
SN=2017SN=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
DataData
SN=2016SN=2015
SN=3051
Check the SN.Check the SN.
The Receiver is ExpectingThe Receiver is Expecting
N33-6 NSS2006N33-6 NSS2006
MeasurementMeasurementSetupSetup
ACK # LoggerRS232C
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.
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
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
N33-6 NSS2006N33-6 NSS2006
Line Utilization between SiTCPsLine Utilization between SiTCPs
Server→ Client Client → Server
Avg. Utilization ~ 95% (95 Mbps)
Stable
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.
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.
N33-6 NSS2006N33-6 NSS2006
SetupSetup
ACK # Extractor
Ethernet Hub
RS232C
100BASE-TRX PC
Ethernet Tap
SUZAKU board
ACK # Logger
N33-6 NSS2006N33-6 NSS2006
Utilization RatioUtilization Ratio
Max. Utilization ~ 3%
Utiliz
atio
n Ra
tio (%
)