NVMe Bridge Platform IP from IntelliProp
BittWare Partner IP NVMe Bridge Platform NVMe Intercept AXI-Stream Sandbox IP Computational storage devices (CSD) allow storage endpoints to provide computational storage functions (CSF) to
BittWare offers StreamSurge, a 100G network load testing application for BittWare’s XUP-P3R accelerator card. StreamSurge is offered for free as a pre-compiled bitstream to XUP-P3R owners, turning the card into a simple network test solution for only the cost of the hardware. Click here to get the App Note for StreamSurge.
Software solutions already exist for network protocol testing at any bandwidth and for load testing up to 10 GbE. But at 25G and higher even the latest multi-core Intel Xeon CPUs can’t keep up—you needed dedicated network acceleration hardware.
With GPUs not a fit for packet processing, the choice narrows down to NIC ASIC or FPGA solutions. The advantage of ASIC-based appliances is they offer 25-100 Gbps with many features for extensive testing. However, dedicated 100G appliances are quite expensive—they can be many times the cost of a single FPGA card.
In addition, an FPGA-based solution can be designed with just the functions that are required for the user’s needs at a much lower cost.
At BittWare, we have two distinct use cases internally for 100G network load testing:
Both of these cases require multiple 100G testers running simultaneously. While ASIC testers exist for these tests, we would need to buy several at a very high cost per unit (five times or more the price of a XUP-P3R card).
Our solution was to narrow down the features needed for our testing and, using SmartNIC Shell as a starting point, we built StreamSurge.
Because we began with SmartNIC Shell, we already had in place the gaskets and other “plumbing” in order to manipulate packets in the FPGA. In addition, we used the DPDK data mover to interface with host applications. This saved us significant time and let our team focus on what was unique in this SmartNIC application: network load testing.
For testing we needed to either create a packet generator inside the FPGA or provide a means to play back or stream packets using the FPGA but with packets from another source. We chose this second path, but enabled both playback or streaming. For playback, the user first captures packets to a PCAP file from a software or ASIC source. StreamSurge then can play back the PCAP file at line rate from a buffer.
For streaming, we utilize the industry standard DPDK host interface. This makes the XUP-P3R appear as a regular NIC card to packet generator software, with timestamps on both transmit and receive. On the XUP-P3R there’s a large DRAM buffer with these features:
To interface with StreamSurge we have created the “streamcli” DPDK application. This command-line tool controls all the hardware functions described above. In addition, it can receive packets into PCAP files, transmit PCAP files, and can fill the packet buffer with patterns based upon IETF RFC 2544 and ITU-T Y.1564 test mythologies
We have a video showing StreamSurge in action with two XUP-P3R cards, synchronized to GPS atomic clocks and set to measure latency of equipment between the cards.
For network packet processing, BittWare’s FPGA solutions can help where CPUs are limited in performance and ASIC-based solutions either aren’t available, are not feasible or are too expensive for the desired application. In this case ASIC-based appliances exist with enough features, but the equipment cost limits what can be done for continuous integration test or manufacturing testing.
Instead the BittWare XUP-P3R card provides a suitable solution for network test at 100 Gb/s. For card owners, StreamSurge is free as a bitstream (compatible with a limited subset of chip/card configurations) on the BittWare Developer website.
We have more details on StreamSurge available as a free App Note download; get it today through the form below!
What you see on this page is the introduction to BittWare’s StreamSurge. There’s a lot more detail in the full App Note! Fill in the form to request access to a PDF version of the full App Note.
"*" indicates required fields