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