Optimizing Parallella network throughput

I like Parallella board very much in terms of performance, form-factor and price. So I decided to measure it’s performance in terms of Ethernet throughput. Xilinx XAPP1082 reference design for Zynq FPGAs measured very promising performance, therefore my initial thought was Parallella should not fall behind (even though results from 2013 were not very promising).

The Setup

Parallella hardware: based on Zynq 7010

Parallella firmware: Ubuntu 14.04.4 LTS (GNU/Linux 3.14.12-parallella-xilinx-g40a90c3 armv71)

Host: Intel Core i7-4770, 16Gb mem, Intel PRO/1000 PT Quad Port LP Server Adapter (4*1Gbps)

Host: Intel Core i7-4770, 16Gb mem, Intel I217 LM Adapter (1Gbps)

Host adapter (and switch) test results (iperf3):

Measurements via iperf3

TCP, 1 Stream, 128K block

Host as a server:

Parallella as a client:

Results

  • Multiple runs gain slightly different results: 487 – 715 Mbits/sec

TCP, 2 Streams – make things worse

Parallella as a client

Results

UDP, 8K buffer

Parallella as a client

Results

 

Parallella as a server

Parallella as a server:

Host as a client:

Results

 

Measurements via netperf

Parallella as a client

Results

Reconfiguring / recompiling kernel to gain performance

To be continued….

Leave a Reply

Your email address will not be published. Required fields are marked *