Zynq上でiperf3による帯域テスト

前々から気になっていた、Zynqでのイーサネット帯域を測定しました。

Zynqで使用しているカーネルは3.15.0-xilinx(z-turn board付属)です。 通信相手は、仮想マシンで動作しているUbuntu(カーネルは3.13.0-32-generic)です。 Windows上でのiperfと通信させても、それほど大きな違いはありませんでした。

Zynq側iperfのコンソール出力を以下に示します。

root@ubuntu-armhf:/home/ubuntu/iperf-3.1.3/src# ./iperf3 -s
warning: this system does not seem to support IPv6 - trying IPv4
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.0.100, port 33239
[  5] local 192.168.0.90 port 5201 connected to 192.168.0.100 port 33240
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  59.0 MBytes   495 Mbits/sec
[  5]   1.00-2.00   sec  61.8 MBytes   516 Mbits/sec
[  5]   2.00-3.00   sec  61.9 MBytes   519 Mbits/sec
[  5]   3.00-4.00   sec  61.8 MBytes   518 Mbits/sec
[  5]   4.00-5.00   sec  61.9 MBytes   518 Mbits/sec
[  5]   5.00-6.00   sec  61.6 MBytes   519 Mbits/sec
[  5]   6.00-7.00   sec  61.6 MBytes   517 Mbits/sec
[  5]   7.00-8.00   sec  61.8 MBytes   518 Mbits/sec
[  5]   8.00-9.00   sec  61.6 MBytes   515 Mbits/sec
[  5]   9.00-10.00  sec  61.6 MBytes   518 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.00  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.00  sec   615 MBytes   515 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated
root@ubuntu-armhf:/home/ubuntu/iperf-3.1.3/src# ./iperf3 -c 192.168.0.100
Connecting to host 192.168.0.100, port 5201
[  4] local 192.168.0.90 port 33104 connected to 192.168.0.100 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.01   sec  50.0 MBytes   416 Mbits/sec    0    233 KBytes
[  4]   1.01-2.02   sec  49.7 MBytes   412 Mbits/sec    0    298 KBytes
[  4]   2.02-3.02   sec  48.9 MBytes   409 Mbits/sec    1    242 KBytes
[  4]   3.02-4.00   sec  47.5 MBytes   405 Mbits/sec    0    247 KBytes
[  4]   4.00-5.02   sec  50.0 MBytes   412 Mbits/sec    0    247 KBytes
[  4]   5.02-6.02   sec  48.8 MBytes   409 Mbits/sec    0    266 KBytes
[  4]   6.02-7.02   sec  48.8 MBytes   411 Mbits/sec    0    267 KBytes
[  4]   7.02-8.00   sec  48.5 MBytes   413 Mbits/sec    0    281 KBytes
[  4]   8.00-9.02   sec  49.0 MBytes   404 Mbits/sec    0    293 KBytes
[  4]   9.02-10.00  sec  48.5 MBytes   414 Mbits/sec    0    303 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   490 MBytes   411 Mbits/sec    1             sender
[  4]   0.00-10.00  sec   489 MBytes   410 Mbits/sec                  receiver

iperf Done.

通信方向によって、かなり帯域に違いがあります。サーバモードで動作しているときの方が高速のようです。

カーネルを新しくしたりすることで高速化するのかもしれませんが、思ったよりパフォーマンスが悪い印象です。

comments powered by Disqus