inettest a 10 Gigabit Ethernet Test Unit

Similar documents
Commissioning and Using the 4 Gigabit Lightpath from Onsala to Jodrell Bank

Lighting the Blue Touchpaper for UK e-science - Closing Conference of ESLEA Project The George Hotel, Edinburgh, UK March, 2007

FPGAs and Networking

D Demonstration of integrated BoD testing and validation

Trans-Atlantic UDP and TCP network tests

PoS(EXPReS09)036. e-vlbi Networking Tricks. Paul Boven, for the EXPReS team Joint Institute for VLBI in Europe (JIVE)

TCPDelay: Constant bit-rate data transfer over TCP

PoS(11th EVN Symposium)112

D6.7 Demonstration of international BoD connectivity at 4 Gb/s

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

PoS(10th EVN Symposium)098

Investigation of the Performance of 100Mbit and Gigabit Ethernet Components Using Raw Ethernet Frames

NetFPGA Hardware Architecture

PoS(EXPReS09)023. e-evn progress. 3 years of EXPReS. Arpad Szomoru 1

BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design

Applications and Performance Analysis of Bridging with Layer-3 Forwarding on Wireless LANs

Experience with the NetFPGA Program

Test report of transparent local/remote application programming interface for storage elements

CN-100 Network Analyzer Product Overview

evlbi Research in the European VLBI Network Steve Parsley, JIVE

INT-1010 TCP Offload Engine

Introduction to Ethernet Latency

RiceNIC. Prototyping Network Interfaces. Jeffrey Shafer Scott Rixner

In-chip and Inter-chip Interconnections and data transportations for Future MPAR Digital Receiving System

UDP1G-IP reference design manual

A 10GE Monitoring System. Ariën Vijn

Optimal Management of System Clock Networks

Motivation to Teach Network Hardware

An FPGA-Based Optical IOH Architecture for Embedded System

Multi-Gigabit Transceivers Getting Started with Xilinx s Rocket I/Os

Anthony Rushton. University of Manchester

Lessons from EXPReS and the future of e-vlbi. 2nd Terena E2E Workshop, Amsterdam,

Optimizing Performance: Intel Network Adapters User Guide

GigaX API for Zynq SoC

Intel PRO/1000 PT and PF Quad Port Bypass Server Adapters for In-line Server Appliances

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

SKA Technical developments relevant to the National Facility. Keith Grainge University of Manchester

Lecture 3. The Network Layer (cont d) Network Layer 1-1

M1QSFP28SFP28. 5-speed dual-media test module. Xena Networks The price/performance leaders in Gigabit Ethernet Test & Measurement

QuickSpecs. HP Z 10GbE Dual Port Module. Models

LANCOM Techpaper IEEE n Indoor Performance

The Network Infrastructure for Radio Astronomy in Italy

POS on ONS Ethernet Cards

LANCOM Techpaper Routing Performance

Quick Start Guide MU120131A/32A. IP Multicast Measurement MD1230B/MP1590B. Data Quality Analyzer / Network Performance Tester

The UniBoard. a RadioNet FP7 Joint Research Activity. Arpad Szomoru, JIVE

Axon: A Low-latency Device Implementing Source-routed Ethernet

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Real-Time E-VLBI with the SFXC Software Correlator. Mark Kettenis Aard Keimpema JIVE

EVN/JIVE Technical developments. Arpad Szomoru, JIVE

The Benefits of FPGA-Enabled Instruments in RF and Communications Test. Johan Olsson National Instruments Sweden AB

INT G bit TCP Offload Engine SOC

EECS150 - Digital Design Lecture 15 - Project Description, Part 5

Implementation of Ethernet, Aurora and their Integrated module for High Speed Serial Data Transmission using Xilinx EDK on Virtex-5 FPGA

Programmable Logic Design Grzegorz Budzyń Lecture. 15: Advanced hardware in FPGA structures

6.9. Communicating to the Outside World: Cluster Networking

Simple IP-based utca Control System

FPGA Implementation of RDMA-Based Data Acquisition System Over 100 GbE

OPEN BASE STATION ARCHITECTURE INITIATIVE

GÉANT Support for Research Within and Beyond Europe

NAT Router Performance Evaluation

Guifré Molera, J. Ritakari & J. Wagner Metsähovi Radio Observatory, TKK - Finland

ETHERNET FOR SOUNDING ROCKETS

SWITCHED ETHERNET TESTING FOR AVIONICS APPLICATIONS. Ken Bisson Troy Troshynski

Ethernet Networks for the ATLAS Data Collection System: Emulation and Testing

LM1000STXR4 Gigabit Ethernet Load Module

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

A Fast Ethernet Tester Using FPGAs and Handel-C

Report on integration of E-VLBI System

RiceNIC. A Reconfigurable Network Interface for Experimental Research and Education. Jeffrey Shafer Scott Rixner


SONET/SDH VCAT SONET VCAT

InfiniBand SDR, DDR, and QDR Technology Guide

Avnet, Xilinx ATCA PICMG Design Kit Hardware Manual

GIGABIT ETHERNET XMVR LAN SERVICES MODULES

ISO/OSI Model and Collision Domain NETWORK INFRASTRUCTURES NETKIT - LECTURE 1 MANUEL CAMPO, MARCO SPAZIANI

BlueGene/L. Computer Science, University of Warwick. Source: IBM

UDP1G-IP Introduction (Xilinx( Agenda

Gigabit Ethernet XMVR LAN Services Modules

How to run tests on the JIVE UniBoard Hardware

Ethernet transport protocols for FPGA

Third Genera+on USRP Devices and the RF Network- On- Chip. Leif Johansson Market Development RF, Comm and SDR

PCIe 10G 5-Speed. Multi-Gigabit Network Card

UNIT 2 TRANSPORT LAYER

NoC Test-Chip Project: Working Document

Module 15: Network Structures

International Journal of Modern Engineering and Research Technology

PCnet-FAST Buffer Performance White Paper

Performance Characteristics on Gigabit networks

GigE & 10GigE Ethernet Technology Overview & Testing Approaching

INT 1011 TCP Offload Engine (Full Offload)

A Single Chip Shared Memory Switch with Twelve 10Gb Ethernet Ports

Rapid Platform Deployment: Allows clients to concentrate their efforts on application software.

Performance Characteristics on Gigabit networks

High Speed Data Transfer Using FPGA

Lab Using Wireshark to Examine Ethernet Frames

UDP10G-IP reference design manual

Significance of TCP/IP Model Divya Shree Assistant Professor (Resource Person), Department of computer science and engineering, UIET, MDU, Rohtak

TOE10G-IP Demo on VC707 Instruction Rev Jun-14

Introduction to Field Programmable Gate Arrays

Transcription:

1 DANTE City House, 126-130 Hills Road, Cambridge CB2 1PQ, UK And Visiting Fellow, School of Physics and Astronomy, The University of Manchester, Oxford Rd, Manchester UK E-mail: Richard.Hughes-Jones@dante.net Jonathan Hargreaves 2 JIVE Oude Hoogeveensedijk 4, 7991 PD, Dwingeloo, The Netherlands E-mail: hargreaves@jive.nl As part of the work of the FABRIC/JRA1 activity of EXPReS, a design called inettest was produced to allow the ibob Field Programmable Gate Array (FPGA) hardware to perform as a two port 10 Gigabit Ethernet network test device. The requirements of the test unit are presented together with discussion of the design and its implementation for the FPGA, the control software and the human interfaces. The tests carried out to verify the performance of the inettest unit are presented together with some of the tests performed on a 4 Gigabit international link. Science and Technology of Long Baseline Real-Time Interferometry: The 8th International e-vlbi Workshop - EXPReS09 Madrid, Spain June 22-26, 2009 1 2 Speaker Previously at: Jodrell Bank Centre for Astrophysics, The University of Manchester, Manchester, UK Copyright owned by the author(s) under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike Licence. http://pos.sissa.it

1.Introduction The FABRIC/JRA1 work package of EXPReS investigated moving VLBI data at 4 Gigabit/s from the telescope at Onsala to the new WIDAR correlator at Jodrell Bank. It was realised that there was a need for a simple device that would be able to test network components and the performance of the network path. As a first step in creating the firmware designs for the units that would move the VLBI data, a design called inettest was produced to allow the ibob [1] hardware to perform as a two port 10 Gigabit Ethernet network test device. The two 10 Gigabit Ethernet ports are independent and full duplex, thus four independent test flows are available. As well as providing a network test device, the aims were to explore the capabilities and performance of the ibob hardware and libraries [2], produce and test the firmware building blocks required for VLBI data moving, and create a flexible software architecture to allow control and monitoring of the ibob systems. Section 2 considers the requirements and discusses the design and its implementation, while Section 3 presents the design of the control software and human interfaces. Section 4 describes some of the tests carried out to verify the performance of the inettest unit and Section 5 presents some of the tests performed on the 4 Gigabit link. 2.Requirements and Design of the inettest Unit Earlier e-vlbi work [3], confirmed by the studies in ESLEA [4]and EXPReS [5], indicate that it is best to use the UDP/IP network protocol for moving real-time VLBI data. Also UDP/IP has been shown to be most useful in characterising the performance of end hosts and network components [6]. Thus the inettest hardware was designed to transmit streams of UDP/IP packets at regular, carefully controlled intervals and the throughput and packet arrival times were measured at the inettest receiver. Figure 1 shows the network view of the stream of UDP packets. n bytes Number of packets Transmit Spacing Time Figure 1 The network view of the spaced UDP frames that are transmitted from the source inettest to the destination inettest. Within the UDP data section of the packet, an application transport header was constructed by the firmware consisting of a 64 bit packet sequence number with bit 63 set to indicate that this packet was a test packet and not VLBI data. There was no other application data header. The use of an application transport header follows the current discussion of the VLBI Data Interchange Format (VDIF) as proposed by the VDIF Task Force [7]. 2

The packet length, spacing and number of packets to send was specified to the transmitting inettest unit via the control software, but the data transmission was performed in hardware and was thus deterministic. Besides counting the received packets, the receiving inettest unit also checked that the 64 bit packet sequence number monotonically increased thus checking for lost packets. For each incoming packet stream the FPGA histogramed the difference between the successive packet arrival times. The hardware also logged the transmission and arrival times of a snapshot of 2048 packets on each channel along with the application header identifying the packet. This allowed investigation of the one-way network transit delay of the packets. 2.1The FPGA Design The ibob is constructed around a Xilinx Virtex II Pro Field Programmable Gate Array (FPGA) clocked at 200 MHz. As well as an array of reconfigurable logic, the fabric of the FPGA, the chip contains two PowerPC processors. Two sets of four RocketIO transceivers are routed to the CX4 10 Gigabit Ethernet connectors. Figure 2 shows the Simulink design of the inettest design. The 10 Gigabit Ethernet ports are implemented using a core from the Berkeley libraries [2] which includes the PHY, MAC and a XAUI interface built from the RocketIO transceivers. The Berkeley block also includes a state machine to add and remove the IP and UDP headers and logic to separate software packets (those to/from the PowerPC) from hardware packets (those destined for the fabric of the FPGA). Registers mapped onto the PowerPC s OPB bus allow software control of the local MAC, IP and Gateway address, port number and ARP table. Figure 2. The Simulink Design of the inettest Unit 3

Outside the Berkeley core, each 10 Gigabit Ethernet port has its own set of control and status registers (CSRs) that allow setting of the parameters required for sending packets to the destination: the destination IP address, the UDP port number, the packet length, the inter packet spacing, and the number of packets. Other CSRs allow control of the packet flows and monitoring of the data packets received. The histograms and packet time log are created in hardware during a flow, and stored in on-chip dual port memory which the embedded PowerPC can read back at the end of the flow. The network test flows use hardware packets which are generated and received by state machines implemented in the fabric of the FPGA. The flows can be run in two modes: one shot and continuous. In one shot the flow stops after transmission of the number of packets set in a 32 bit register, so the flow can be up to 2 32-1 packets long. Continuous mode simulates the flow of astronomical data: transmission continues as long as a control bit remains high. Another control bit allows a flow in either mode to be cancelled at any time. Jumbo frames are supported by the Berkeley MAC, but the inettest firmware imposes a maximum packet length of 8192 bytes. The data source is a repeating pattern stored in on-chip memory. After adding the VDIF and transport headers the frame is clocked across a 64 bit wide FIFO into the Berkeley 10 Gigabit Port block. When the hardware assembles a packet for a given IP address it uses an ARP table in hardware to determine the correct MAC address and then clocks the packet via the PHY core into the XAUI for transmission on the CX4 link. If the destination IP address is not on the local network, then the hardware selects the designated router MAC address. Ethernet packets that arrive on the 10 Gigabit links that do not have the UDP port number of the hardware fabric are sent to the PowerPC CPU. The PowerPC can also create packets to be sent on the 10 Gigabit Ethernet ports, but these have lower priority than the hardware generated packets. 3.The Control Software and Human Interfaces The inettest software design was divided into several areas: the software for the embedded PowerPC CPU, and the control software external to the ibob which is formed from core code and three different human interfaces. 3.1Software for the embedded PowerPC CPU The software that runs in the embedded PowerPC was written in C and provides read and write access, where appropriate, to four types of components: One word transfers to or from registers defined in the FPGA. Bulk transfers to or from memory blocks defined in the FPGA firmware. Access to the VHDL network modules. Control of software actions in the PowerPC CPU e.g. initiating an ICMP echo request (ping) or generating an ARP request sequence. 4

The embedded PowerPC permits control of the above operations via a simple command line interface (CLI) available on the serial port, or from remote systems using UDP/IP packets over the ibob s 10/100 Ethernet port. UDP/IP was used as there is insufficient memory available to allow use of a TCP stack.the embedded PowerPC is also responsible for initialising all the Ethernet ports with their addresses and initiating a set of ARP requests to create the ARP hardware table. It is assumed that a class C IP network exists on each Ethernet port, but an IP packet for a non-local address will be sent to a specified gateway address. 3.2Control Software The architecture of the control software is shown in Figure 3. The design separates the human interface from the core code that interacts with the software in the PowerPC embedded in the FPGA. As indicated in Figure 3 three styles of human interface were provided: A simple terminal style menu system. A CLI allowing the inettest to be controlled from a perl script for making a series of measurements. A Graphical User Interface Figure 3 The architecture of the control software The core code shares knowledge of the inettest resources or cores with the software in the PowerPC, and they use symbolic references to denote the FPGA cores due to the way the Xilinx tools allocate physical addresses. The PowerPC maps the symbolic reference onto the current address for that FPGA core. Access to a resource is performed by sending a UDP packet containing the request and waiting for the response packet. If no packet is received within a certain time, the core software re-sends the request. The core software is also aware of the sequence of commands that are required to perform a certain action with a given FPGA resource, and translates the request from the human interface into the required sequence of requests. For example to start a data flow, several CSR accesses are required in a specific order to clear counters, initialise histograms, set the parameters of the flow, and then start the UDP/IP flow. 5

The terminal style menu and the CLI are stand alone programs which are usually run on a host local to the inettest unit. The graphical user interface is designed to be used at a distance from the inettest units. It uses a TCP/IP link to connect to an actor on a host local to the inettest unit. It is written in C# and uses a series of tab windows to provide control of: setting the network locations of the actors and the inettest units, requesting and displaying the 10 GE network parameters, showing the transmitter and receiver statistics, managing ARP on the inettest units, sending pings, control of the UDP flows, setting and displaying histograms. Figure 4 provides an impression of these displays and Figure 5 shows the window that allows control of the UDP flows. Figure 4 The tab windows clockwise from the top for: defining the actors, showing the interface parameters, managing ARP, sending a ping and displaying statistics. Figure 5 View of the window that allows control of the UDP flows. 4.Performance of the inettest Unit 4.1iNetTest to inettest Figure 6 shows the distribution of the time between the arrivals of successive 8192 byte UDP packets when 10 M packets were transmitted between two inettest units in the lab. The graph is plotted in 5 ns bins and has a full width half maximum (FWHM) of 15ns with no outlying points or tails. This confirms the deterministic behaviour of the FPGA design. 6

4.00E+06 Jitter inettest-inettest 3.50E+06 3.00E+06 N(t) 2.50E+06 2.00E+06 1.50E+06 1.00E+06 5.00E+05 0.00E+00 18500 18550 18600 18650 18700 Time between frames ns Figure 6 The distribution of the time between the arrivals of successive 8192 byte UDP packets transmitted between two inettest units in the lab plotted in 5 ns bins. 4.2PC to inettest The inettest units have been used to investigate the distribution of the time between successive packets transmitted between two high-performance PCs running Linux with the 2.6.20-web100_pktd-plus kernel. The PCs were built using the Supermicro X7DBE motherboard, two Dual Core Intel Xeon Woodcrest 5130 2GHz CPUs, 4 G Bytes of memory, and the PCI-Express 10G-PCIE-8A-R 10 Gigabit Ethernet NIC from Myricom. The left hand plot in Figure 7 shows the histogram distribution of the time between successive packets transmitted between two PCs. The requested packet separation was 100 µs, which corresponds to the main peak in the histogram. However about 1% of the packets are delayed or advanced by approx. 34 µs as indicated by the side lobes. The right hand plot shows that these peaks are absent when packets are transmitted from the inettest unit to the PC suggesting that they are an artefact of the how the PC operating system works. Figure 7 Distributions of the time between the arrivals of successive packets. Left plot: PC to PC Right plot: PC to inettest 4.3iNetTest Throughput on the 4 Gigabit link Throughput and packet loss and packet jitter tests were performed on the multi-domain 4 Gigabit end-to-end path from Onsala to Jodrell Bank [8] using inettest units at either end of the path. The network path crosses multiple administrative boundaries, and on different portions of the path it uses equipment from different manufacturers. Some sections of the path used 10 Gigabit Ethernet technology, while others used SDH. The SDH sections of the path were provisioned as 28 VC-4, giving a transfer rate of 4.193 Gbit/s. This was sufficient to carry the VLBI data rate of 4.096 Gbit/s as well as the protocol and framing overheads. 7

Figure 8 shows the received wire rate UDP throughput and packet loss as a function of the transmitted packet spacing for UDP packets sent from Onsala to Jodrell Bank for various packet sizes as measured by the inettest units. The flat portions of the curves indicate that the maximum throughput was 4.179 Gbit/s, in agreement with that available for moving data over the 28 VC-4 SDH link after allowing for the GFP overheads. The packet loss for spacing less than ~17 µs is expected as more packets are being sent than can be carried by the 28 VC-4s. Note there was no packet loss for 8192 byte packets at 16 µs spacing. 10000 Ons-JBO_bw_19Dec08 6000 Recv Wire rate Mbit/s % Packet loss 8000 6000 4000 2000 Figure 8 UDP throughput and packet loss, measured by the inettest units, as a function of the spacing between the packets when sending packets from Onsala to Jodrell Bank. 4.4 Stability of the 4 Gig link 0 0 10 20 30 40 Spacing between frames us The stability of the multi-domain network path was determined by using the inettest units to send a set of trials of 100M 8192 Byte packets with a spacing of 16µs from Onsala to Jodrell and measuring the achievable UDP throughput, the packet loss and the inter-packet jitter. Each trial took about 27 minutes and consecutive trials were repeated immediately. For each trial the data throughput was measured as 4.094 Gbit/s, with no variation between trials. Over a typical set of about 40 trials, the loss rate was 10-9 (approx bit error rate better than10-13 ). 1.00E+08 100 50 0 7000 8192 Ons-JBO_bw_19Dec08 6000 0 10 20 30 40 Spacing between frames us Ons-Jbo_iNetTest_13May09 Trial 4 1.00E+08 7000 8192 Ons-Jbo_iNetTest_13May09 Trial 40 1.00E+07 1.00E+07 1.00E+06 1.00E+06 N(t) 1.00E+05 1.00E+04 N(t) 1.00E+05 1.00E+04 1.00E+03 1.00E+03 1.00E+02 1.00E+02 1.00E+01 1.00E+01 1.00E+00 0 20 40 60 Time between frames us 1.00E+00 0 20 40 60 Time between frames us Figure 9 Distributions of the time between the arrivals of successive 8192 byte packets send from Onsala to Jodrell over the 4 Gigabit link for two different trials. Figure 9 shows plots of the inter-packet arrival times for two of the trials described above. The main peak at 16 µs has a full width half maximum of ~1µs and there are tales extending to ~70 µs, but the tails are a factor of 10-3 smaller, and do not change shape. The throughput, packet loss and jitter measurements indicate that the link is extremely stable. 8

5.Conclusions The inettest IBOBs have proved to be stable and reliable. As expected, the FPGA provides a deterministic way of generating and receiving packets for network testing. In collaboration with the National Research Networks and DANTE, they have been used extensively in testing network devices and the 4 Gbps network between Onsala and Jodrell Bank. The inettest units have also been used in field testing and evaluating commercial Ethernet testers from Xena [9]. As well as providing the infrastructure required for inettest, the approach of abstracting the firmware and partitioning the software allowed simple extensions to provide control software for the ibobs programmed for emerlinin, On2jbo_tx at Onsala and On2jbo_rx at Jodrell Bank. 6.Acknowledgements Throughout the development of the inettest unit in the EXPReS project we have had encouragement, close co-operation and valuable technical discussions with colleagues at JIVE, Jodrell, Onsala, network personnel from the campuses, the Metropolitan Area Networks, the National Research Networks JANET, SUNET and NORDUnet, DANTE and Internet2. We would like to thank all who have been involved, and this support has been vital in making the project an operational success. EXPReS is funded by the European Commission (DG-INFSO), under the Sixth Framework Programme, Contract #026642. References [1] IBOB web page http://casper.berkeley.edu/wiki/ibob viewed August 2009 [2] http://casper.berkeley.edu/wiki/libraries viewed August 2009 [3], Steve Parsley, Ralph Spencer, High Data Rate Transmission in High Resolution Radio Astronomy - vlbigrid, FGCS Special Issue: IGRID2002 Vol 19 (2003) No 6, August 03 [4] R.E. Spencer, P. Burgess, S. Casey, R. Hughes-Jones, S. Kershaw, A. Rushton, M. Strong, A. Szomoru and C. Greenwood, The contribution of ESLEA to the development of e-vlbi in Lighting the Blue Touchpaper for UK e-science - Closing Conference of ESLEA Project, PoS, March 2007 (http://pos.sissa.it/cgi-bin/reader/conf.cgi?confid=41#session-5 [5] EXPReS Protocols performance report D150. [6] R. Hughes-Jones, P. Clarke, S. Dallison, Performance of 1 and 10 Gigabit Ethernet Cards with Server Quality Motherboards, Future Generation Computer Systems Special issue, 2004 [7] VLBI Data Interchange Format (VDIF) Specification, as proposed by the VDIF Task Force. [8] R. Hughes-Jones, J. Hargreaves, Commissioning and Using the 4 Gigabit Lightpath from Onsala to Jodrell Bank, PoS (EXPReS09 ) 035 [9] Xena Home Page http://www.xenanetworks.com/ 9