A week ago I received a Sabre Lite SD board. The Sabre Lite board I received has very interesting characteristics:
CPU Quad ARM Cortex-A9 at 1.0GHz GPU Vivante GC2000, Quad core GPU, Quad IPU RAM 2GB DDR 10/100/1000 wired Ethernet WIFI IEEE 802.11n/b/g eMMC 16GB 1x SD card slot 1x TF card slot
I installed Ubuntu Linux with the following kernel:
~$ uname -a
Linux linaro-ubuntu-desktop 3.0.35-2666-gbdde708 #1 SMP PREEMPT Tue Mar 25 16:14:31 CST 2014 armv7l armv7l armv7l GNU/Linux
The first test I did, was testing the on board Gbit Ethernet. To run the tests I used iperf3 (take a look at Using iperf to measure network performance)
As first tests I was interested in the maximum speed the board can reach while using TCP, an in the data loss while using UDP. I connected the Mac Mini and the Sabre Lite Board, back to back using the Gigabit Ethernet interface, then I installed iperf on both the systems.
TCP Maximum speed test
On the Sabre run:
root@linaro-ubuntu-desktop:~# iperf3 -s
On the Mac Mini run:
Macintosh:iperf-3.0.3 $ iperf3 -c 192.168.2.7 -t 20
And the results
Connecting to host 192.168.2.7, port 5201
[ 4] local 192.168.2.1 port 50242 connected to 192.168.2.7 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 62.6 MBytes 525 Mbits/sec
[ 4] 1.00-2.00 sec 63.2 MBytes 531 Mbits/sec
[ 4] 2.00-3.00 sec 63.5 MBytes 533 Mbits/sec
[ 4] 3.00-4.00 sec 63.1 MBytes 530 Mbits/sec
[ 4] 4.00-5.00 sec 65.1 MBytes 546 Mbits/sec
[ 4] 5.00-6.00 sec 63.5 MBytes 533 Mbits/sec
[ 4] 6.00-7.00 sec 63.5 MBytes 533 Mbits/sec
[ 4] 7.00-8.00 sec 62.9 MBytes 528 Mbits/sec
[ 4] 8.00-9.00 sec 63.9 MBytes 535 Mbits/sec
[ 4] 9.00-10.00 sec 63.4 MBytes 532 Mbits/sec
[ 4] 10.00-11.00 sec 64.2 MBytes 538 Mbits/sec
[ 4] 11.00-12.00 sec 63.0 MBytes 529 Mbits/sec
[ 4] 12.00-13.00 sec 63.6 MBytes 534 Mbits/sec
[ 4] 13.00-14.00 sec 64.9 MBytes 543 Mbits/sec
[ 4] 14.00-15.00 sec 65.2 MBytes 547 Mbits/sec
[ 4] 15.00-16.00 sec 64.4 MBytes 540 Mbits/sec
[ 4] 16.00-17.00 sec 64.2 MBytes 539 Mbits/sec
[ 4] 17.00-18.00 sec 62.8 MBytes 526 Mbits/sec
[ 4] 18.00-19.00 sec 62.6 MBytes 525 Mbits/sec
[ 4] 19.00-20.00 sec 64.5 MBytes 541 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-20.00 sec 1.24 GBytes 534 Mbits/sec sender
[ 4] 0.00-20.00 sec 1.24 GBytes 534 Mbits/sec receiver
Then exchange the roles, adding the -R switch to the previous command line
Macintosh:iperf-3.0.3 $ iperf3 -c 192.168.2.7 -t 20 -R
Connecting to host 192.168.2.7, port 5201
Reverse mode, remote host 192.168.2.7 is sending
[ 4] local 192.168.2.1 port 50263 connected to 192.168.2.7 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 50.6 MBytes 423 Mbits/sec
[ 4] 1.00-2.00 sec 52.8 MBytes 443 Mbits/sec
[ 4] 2.00-3.00 sec 52.8 MBytes 443 Mbits/sec
[ 4] 3.00-4.00 sec 52.8 MBytes 443 Mbits/sec
[ 4] 4.00-5.00 sec 52.9 MBytes 443 Mbits/sec
[ 4] 5.00-6.00 sec 50.2 MBytes 422 Mbits/sec
[ 4] 6.00-7.00 sec 51.2 MBytes 430 Mbits/sec
[ 4] 7.00-8.00 sec 51.4 MBytes 431 Mbits/sec
[ 4] 8.00-9.00 sec 51.5 MBytes 432 Mbits/sec
[ 4] 9.00-10.00 sec 51.6 MBytes 433 Mbits/sec
[ 4] 10.00-11.00 sec 51.8 MBytes 434 Mbits/sec
[ 4] 11.00-12.00 sec 51.9 MBytes 435 Mbits/sec
[ 4] 12.00-13.00 sec 52.0 MBytes 437 Mbits/sec
[ 4] 13.00-14.00 sec 52.1 MBytes 437 Mbits/sec
[ 4] 14.00-15.00 sec 52.1 MBytes 437 Mbits/sec
[ 4] 15.00-16.00 sec 52.4 MBytes 440 Mbits/sec
[ 4] 16.00-17.00 sec 53.0 MBytes 444 Mbits/sec
[ 4] 17.00-18.00 sec 52.8 MBytes 442 Mbits/sec
[ 4] 18.00-19.00 sec 52.8 MBytes 443 Mbits/sec
[ 4] 19.00-20.00 sec 52.8 MBytes 443 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-20.00 sec 1.02 GBytes 437 Mbits/sec 1 sender
[ 4] 0.00-20.00 sec 1.02 GBytes 437 Mbits/sec receiver
iperf Done.
In both cases the performances are interesting, the Sabre Lite can receive more than 500 Mbits/sec and can send more than 400 Mbits/sec.
UDP Data Loss
On the Sabre run:
root@linaro-ubuntu-desktop:~# iperf3 -s
On the Mac Mini run:
Macintosh:iperf-3.0.3 $ iperf3 -c 192.168.2.7 -u -V -t 20 -b 500000000
The above command make a stream with a target bandwidth sets to 500Mbit/sec. The results are the following:
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-20.00 sec 1.16 GBytes 498 Mbits/sec 0.081 ms 358/151997 (0.24%)
[ 4] Sent 151997 datagrams
CPU Utilization: local/sender 23.1% (0.8%u/22.3%s), remote/receiver 30.1% (2.4%u/27.7%s)
Then exchange the roles, adding the -R switch to the previous command line
Macintosh:iperf-3.0.3 $ iperf3 -c 192.168.2.7 -u -V -t 20 -b 500000000 Test Complete. Summary Results: [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-20.00 sec 1.07 GBytes 458 Mbits/sec 0.146 ms 42/139804 (0.03%) [ 4] Sent 139804 datagrams CPU Utilization: local/receiver 15.5% (2.0%u/13.5%s), remote/sender 40.8% (2.8%u/38.0%s)
In both cases (at 500 Mbits/sec) the average of Lost datagrams are good enough.
Using the iperf command line switcehs, you can do very interesting tests on your specific architecture. This is only a simple example…
Gg1