SiTCP - KEK 測定器開発室

Download Report

Transcript SiTCP - KEK 測定器開発室

Development of a TCP/IP
Processing Hardware
1,2)
Tomohisa Uchida and 2)Manobu Tanaka
University of Tokyo, Japan
High Energy Accelerator Research Organization (KEK), Japan
1)
2)
N33-6 NSS2006
Outline
• Introduction
– Advantages using network technologies
– Why we did develop?
• Implementation
– A test board.
• Measurement
– Transfer Speed.
– Power Consumption.
• Conclusion
We call the hardware SiTCP.
N33-6 NSS2006
Introduction
• There are advantages using Network technologies.
–
–
–
–
–
High Flexibility,
High Connectivity,
Various Commodity Products,
Standard OSs Support Standard Protocols,
Easy Maintenance.
• It is essential in back-end systems
It has not been sufficiently adopted
in front-end systems.
N33-6 NSS2006
Why did we develop ?
We Tried to adopt it but Encountered Problems.
• Front-end devices have constraints;
– Small Hardware size,
– Low Power-Consumption,
– High Speed Data-Transfer.
In Order to Satisfy These Constraints,
We Have Developed SiTCP.
N33-6 NSS2006
Features
• Small Hardware size
– Implemented on an FPGA
• Small Power Consumption
– < 730mW
– System Clock is 25MHz with 100BAST-T.
• High Transfer-Speed
– Line Utilization of TCP data is about 95%.
– Reach to The Theoretical Limit.
• Simple External Interface
– Like a Sync. FIFO-Memory-device.
N33-6 NSS2006
Implementation
In order to measure performance,
We developed a Test board.
Ethernet PHY
SMSC LAN83C185
FPGA
SiTCP on It
Xilinx XC3S500E
RJ45
Test Board
N33-6 NSS2006
~2,000 Slices
(40% logic resources)
are used
Small Size
Block Diagram of the FPGA
Test-Data
Generator
Tx data
SiTCP
Test-Data
Checker
MII
Rx data
Test data are incremental numbers.
N33-6 NSS2006
MII (Media Independent Interface)
is specified by IEEE802.3.
Measurement
• Confirmed capability to communicate a PC
– Using a Linux OS.
– With a Simple Application Program
• Using Standard SOCKT() functions
• Receiving only
• Measured Transfer Speed
– From a SiTCP (Test board) to a PC
N33-6 NSS2006
Measurement
Setup
ACK # Extractor
Extracts TCP ACK #s
from packets
ACK # Logger
RS232C
Send The Last TCP ACK #
Every 200 ms
A Packet is copied and
Forwarded to The Extractor.
Tap
Generates Test Data
RX-PC
LINUX 2.4
100BASE-T
N33-6 NSS2006
Test Board
Calculate Line Utilization
• Transfer Speed
– Calculate from logged ACK #s
– ACK # is logged every 200 ms.
•
ACK #
Transfer Speed[bit/ sec] 
8
200 ms
Utilization Ratio
= Transfer-Speed / 100 Mbps
(100BASE-T is employed)
N33-6 NSS2006
Utilization Ratio (%)
Result
Reaches The Theoretical Limit
Theoretical Limit
U max 

IPG  H MAC
MSS
 H IP  H TCP  MSS
1460
 94.9%
12  26  20  20  1460
Power Consumption < 730 mW (The whole board)
N33-6 NSS2006
Conclusion
We have developed the TCP/IP processing hardware (SiTCP).
• Enough Performance for Front-end Devices
– High-Speed Data Transfers
• 95% (Line Utilization of TCP data)
– Small Hardware Size
• 41% logic resources are used of XC3S500E
– Low Power Consumption
• < 730 mW (The Whole Board)
SiTCP enables Front-end devices
to adopt Network-technologies.
N33-6 NSS2006
Supplemental Slides
N33-6 NSS2006
Sequence Number
Data
SN=2015
Data
SN=2016
All Data of TCP are numbered
by a sender.
A TCP packet
Sending
Order
Data
SN=2017
Data
SN=2018
Data
SN=2019
Data
SN=3050
SN=3051
N33-6 NSS2006
The sender sent
a SN of first data.
Acknowledge Number
Data
SN=2015
Data
SN=2016
The Receiver is Expecting
A TCP packet
Receiving
Order
Data
SN=2017
Data
SN=2018
Data
SN=2019
Data
SN=3050
SN=3051
N33-6 NSS2006
Check the SN.
The Receiver sent back
the expecting next SN
As ACK #.
ACK # = 3051
Measurement
Setup
ACK # Logger
ACK # Extractor
Extract TCP ACK #s
from RX-PC packets
RS232C
Send a TCP ACK #
Every 200 ms
A Packet is copied and
Forwarded to The Extractor.
Tap
Generates Test Data
RX-PC
LINUX 2.4
100BASE-T
N33-6 NSS2006
Test Board
Transfer Capability Test
Transfer Rates of Both Directions
• Measured Transfer Speed
– Between SiTCPs
– Both directions
– Simultaneously
N33-6 NSS2006
Capability Test
Transfer Data of Both Directions
ACK # Logger
RS232C
ACK # Extractor
X2
Ethernet Tap
TCP Client
100BASE-T
N33-6 NSS2006
TCP Server
Line Utilization between SiTCPs
Avg. Utilization ~ 95% (95 Mbps)
Stable
Server→ Client
Client
N33-6 NSS2006
→
Server
Comparison to
A Standard Implementation
• An Standard Implementation
– Using an FPGA
• Protocols are processed
– on an FPGA,
– Using an Embedded CPU,
– With a Standard OS
• Linux
• SUZAKU board
– One of the standard implementations.
N33-6 NSS2006
SUZAKU board
• A Product of Atmark Techno Inc. ,Japan
• FPGA
– XC3S1000 (Xilinx Inc.)
• CPU
– Microblaze, Xilinx Inc.
– Embedded in an FPGA
• uClinux
N33-6 NSS2006
Consists of
an FPGA,
an Ethernet Controller chip,
a Flash Memory,
a DRAM.
Setup
ACK # Extractor
ACK # Logger
RS232C
Ethernet Hub
Ethernet Tap
RX PC
100BASE-T
N33-6 NSS2006
SUZAKU board
Utilization Ratio (%)
Utilization Ratio
Max. Utilization ~ 3%
N33-6 NSS2006