Mittlerweile sind meine beiden Cubietrucks angekommen, und ich habe gestern abend mal ein bißchen rumgespielt.
Meinen zweiten Odroid U3 habe ich ja derzeit noch als PPPoE-Gateway für meine Inhouse-VDSL-Strecke laufen:
wusel@greebo:~$ traceroute 198.51.100.3 traceroute to 198.51.100.3 (198.51.100.3), 64 hops max, 40 byte packets 1 gw-pi.local (192.168.176.2) 2 ms 1 ms 1 ms 2 gw-u3-22.local (192.168.176.180) 2 ms 1 ms 1 ms 3 198.51.100.3 (198.51.100.3) 16 ms !A 17 ms !A 16 ms !A
Zwischen beiden ARM-Geräten habe ich dann mal über das 100 MBit/sec-Netz einen OpenVPN-Tunnel gebaut …

Sicher, damit liegt die Single-Thread-Performance bei OpenVPN beim Cubietruck rund 3,5 mal höher als beim Raspberry Pi, den ich derzeit noch als Notlösung in Berlin einsetze. Der Cubietruck ist allerdings auch rd. im gleichen Verhältnis teurer :-(


Ich fragte mich daher, ob Berichte bei einigen Distributionen, daß Cubietruck über sein GBit-Interface nicht die volle Geschwindigkeit nutzen kann, vielleicht ihren Grund in Hardwarelimitierungen haben? Flugs habe ich einen ausgewachsenen PC an den gleichen GBit-Switch geklemmt, an dem auch der Cubietruck hängt, und in der Tat, dd zum Cubietruck brachte rd. 43 MByte/sec für 10 GByte. (Achtung, MByte/sec; also um die 344 MBit/sec.) Auf dem Cubietruck sah es dann im Idealfall so aus:
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni, 75.0 id, 0.0 wa, 0.0 hi, 25.0 si, 0.0 st %Cpu1 : 5.4 us, 94.6 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 1869208 total, 415076 used, 1454132 free, 49388 buffers KiB Swap: 0 total, 0 used, 0 free, 235764 cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6929 root 20 0 1880 488 388 R 98.8 0.0 2:39.59 nc 3 root 20 0 0 0 0 S 1.0 0.0 0:07.48 ksoftirqd/0 6918 wusel 20 0 2484 1076 760 R 0.5 0.1 0:11.12 top
Häufig war allerdings auch nur CPU0 beschäftigt; »si« steht für »time spent servicing software interrupts«, und dieser Counter ging bei meinem Cubietruck nur auch CPU0 hoch, teilweise auf über 50%, wenn nur CPU0 beschäftigt war. (Beim Odroid verteilt sich auch die Software-Interrupe-Last über die Cores.)
In die Gegenrichtung, also Cubietruck erzeugt die Daten per dd-nc-Pipe, liefen sogar nur 21 MByte/sec (entspr. 168 MBit/sec) über die Leitung.
Gut, 43 MByte/sec sind, wohlwollend gerechnet, noch immer der vierfache Durchsatz, den das 100 MBit/sec-Interface des Odroid U3 überhaupt liefern könnte. Für den Einsatzzweck ownCloud aber relativiert sich das ggf. weiter, denn da wollen die Daten ja vom Cubietruck/Odroid gesendet werden, und das durch einen HTTPS-Layer. Hier dürften die vier statt zwei Kerne des Odroid helfen; nachteilig aber wirkt dann wieder das Fehlen eines SATA-Ports, mehr als 480 MBit/sec (brutto) über USB2, effektiv dann also wohl rd. 34 MByte/sec von allen angeschlossenen USB-Platten zusammen, wird der Odroid eh’ nie ausliefern können. Hrmpft. Einen Odroid mit SATA- und GBit-Interface baut niemand, oder?
FTR, der Odroid schafft ziemlich genau 90 MBit/sec über OpenVPN, sowohl als Client (nc >/dev/null) als auch als Server (dd | nc).

Der auf dem U3 verbaute Exynos4 besitzt einfach keine Hispeed-Schnittstelle über die man SATA / GLAN / USB3 laufen lassen könnte. Über div. Chips von Marvell (Shiva & co.) besitzen integriertes SATA. Hattest du ja schon in einem älteren Post beschrieben. Interessanter wäre aber wohl ein Board mit Freescale iMX.6 der besitzt nach meinem Wissen nebst einem SATA Port auch einen PCIe x1 Anschluss, mit dem ein entspr. Board auch echtes GLAN anbinden könnte.
… Allerdings könnte ein USB2-GLAN Dongle schon einiges bringen. AFAIK benutzt ja das Cubietruck auch nichts anderes als einen entsprechenden verlötenden über USB angeschlossenen Netzwerkchip.
Der A20 hat dem MAC-Layer on-chip, aber der GMAC scheint über rd. 80% der möglichen Bandbreite nicht zu kommen, mag Treiber-, mag Designproblem sein.
Danke für dem Tip auf i.MX6, bin auch schon über’s Wandboard gestolpert …