Skip to content

iPerf Benchmark

David Sidler edited this page Jul 22, 2018 · 1 revision

iPerf Benchmark

You can use iperf to benchmark the TCP and UDP functionality of the network stack.

TCP

Coming soon.

UDP

Assuming the default configuration the IP address of the FPGA is 10.1.212.209. On how to change the IP address of the FPGA look here.

Make sure the IP address of your testing machine is in the same subnet as the FPGA, e.g. 10.1.212.*

On the testing machine:

Download iperf 2.0.10 (you have to use this version):

wget https://netcologne.dl.sourceforge.net/project/iperf2/iperf-2.0.10.tar.gz

Unpack it:

tar xvf iperf-2.0.10.tar.gz
cd iperf-2.0.10
mkdir build && cd build
../configure
make
cd src

Load the bitstream to the FPGA.

Then on the testing machine run:

ping 10.1.212.209

You should receive ping messages from the fpga.

Then on the testing machine run:

./iperf -u -B 10.10.1.1 -s

On the FPGA board press one of the following buttons:

  • south: for a bandwidth of 1Gbps
  • center: for a bandwidth of 5Gbps
  • north: for a bandwdith of 10Gbps

Below some example measurements using two different machines. As you can see the machine is not capable to consume the data fast enough and since this runs over UDP some of the packets are dropped.

Bandwidth on a desktop machine with Intel i7-2700K @ 3.5GHz and Solarflare Communications SFC9020 NIC

The 3 measurements are button south, center, and north.

------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 11.1.212.73
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 11.1.212.73 port 5001 connected with 11.1.212.209 port 32768
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 5.0 sec   595 MBytes   999 Mbits/sec   0.011 ms  159/446175 (0.036%)
[  4] local 11.1.212.73 port 5001 connected with 11.1.212.209 port 32768
[  4]  0.0- 5.0 sec  1.26 GBytes  2.17 Gbits/sec   0.005 ms 1257261/2225784 (56%)
[  3] local 11.1.212.73 port 5001 connected with 11.1.212.209 port 32768
[  3]  0.0- 5.0 sec  4.16 GBytes  7.15 Gbits/sec   0.002 ms 1066509/4257499 (25%)

Bandwidth on a server machine with Intel Xeon E5-2630 @ 2.4GHz and Intel Corporation 82599ES 10-Gigabit NIC

The 3 measurements are button north (10Gbps)

------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 10.1.212.73
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 10.1.212.73 port 5001 connected with 10.1.212.209 port 32768
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0- 5.0 sec  4.62 GBytes  7.94 Gbits/sec   0.001 ms 711546/4257499 (17%)
[  4] local 10.1.212.73 port 5001 connected with 10.1.212.209 port 32768
[  4]  0.0- 5.0 sec  4.61 GBytes  7.92 Gbits/sec   0.001 ms 719363/4257499 (17%)
[  3] local 10.1.212.73 port 5001 connected with 10.1.212.209 port 32768
[  3]  0.0- 5.0 sec  4.60 GBytes  7.91 Gbits/sec   0.001 ms 727015/4257499 (17%)
Clone this wiki locally