Single-Board Computers on BOINC compared
There are more and more SBCs on the market, but which one is best for BOINC?
As logic has it, one has to have the latest of the latest in order to get the best (and most efficiƫnt) performance.
Does this hold true in the realm of the creditcard sized mobos?
Feature/
Benchmark |
Raspberry Pi 1
A, B, A+, B+ |
Beaglebone
Black, Green |
Odroid-C1/C1+ |
Banana Pi
M1/Pro/M1+ |
Raspberry Pi 2 |
Banana Pi M2 |
Banana Pi M3 |
Raspberry Pi 3 |
Odroid-C2 |
CPU |
ARM1176JZF-S |
ARM Cortex-A8 |
ARM Cortex-A5 |
ARM Cortex-A7 |
ARM Cortex-A7 |
ARM Cortex-A7 |
ARM Cortex-A7 |
ARM Cortex-A53 |
ARM Cortex-A53 |
Architecture |
ARMv6 |
ARMv7-a |
ARMv7-a |
ARMv7-a |
ARMv7-a |
ARMv7-a |
ARMv7-a |
ARMv8-a |
ARMv8-a |
SOC |
Broadcom
BCM2835 |
Texas Instruments
Sitara AM3358 |
Amlogic
S805 |
Allwinner
A20 |
Broadcom
BCM2836 |
Allwinner
A31s |
Allwinner
A83t |
Broadcom
BCM2837 |
Amlogic
S905 |
Cores |
1 |
1 |
4 |
2 |
4 |
4 |
8 |
4 |
4 |
Stockspeed |
700 MHz |
1000 MHz |
1500 MHz |
1000 MHz |
900 MHz |
1000 MHz |
2000 MHz |
1200 MHz |
2000 MHz |
DMIPS/MHz |
1.25 |
2.01 |
1.57 |
1.9 |
1.9 |
1.9 |
1.9 |
2.3 |
2.3 |
BOINC Floating Point
MIPS (Whetstone)
per core |
222 (700 MHz) -
338 (1000 MHz) |
184 (Debian)
277 (Android) |
623 |
463 |
292 (Stock)
489 (Extra libraries) |
726 |
? |
375-711 |
1005 |
BOINC Integer
MIPS (Dhrystone)
per core |
926 (700 MHz) -
1355 (1000 MHz) |
2047 (Debian)
1607 (Android) |
2489 |
1911 |
1161 (Stock)
1944 (Extra libraries) |
1518 |
? |
1240-2469 |
2623 |
swp |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
No |
No |
half |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
fastmult |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
edsp |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
tls |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
Jazelle |
Yes |
No |
No |
No |
No |
No |
No |
No |
No |
thumb |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
ThumbEE |
No |
Yes |
No |
No |
No |
Yes |
Yes |
No |
No |
VFP |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
VFPv3 |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
VFPd32 |
No |
No |
No |
No |
Yes |
No |
No |
Yes |
No |
VFPv4 |
No |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
NEON |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
idiva
(SDIV and UDIV
hardware division
in ARM mode) |
No |
No |
No |
Yes |
Yes |
Yes |
No |
Yes |
No |
idivt
(SDIV and UDIV
hardware division
in Thumb mode) |
No |
No |
No |
Yes |
Yes |
Yes |
No |
Yes |
No |
lpae |
No |
No |
No |
No |
Yes |
No |
No |
Yes |
No |
evtstrm |
No |
No |
No |
No |
Yes |
No |
No |
Yes |
No |
crc32 |
No |
No |
No |
No |
No |
No |
No |
Yes |
Yes |
fp |
No |
No |
No |
No |
No |
No |
No |
No |
Yes |
asimd |
No |
No |
No |
No |
No |
No |
No |
No |
Yes |
Some things that stand out:
- The strange influence of the OS on Floating Point and Integer MIPS with the Beaglebone (and perhaps with the Banana Pi M2 as well).
- The low reported Integer MIPS of the Banana Pi M2, compared to its Floating Point performance. These are real-life (Android) figures as measured by our team member Chris Skull, who also supplied the Odroid C1 figures.
- The double Raspberry Pi 3 MIPS figures. They are for a power supply that does not give enough Amps (2A) vs one that does (3A).
- The difference in CPU features between the two ARMv8 ARM Cortex-A53 CPUs, Broadcom having decided to also support the almost full ARMv7-A instruction set and Hardkernel betting on the instruction set features for the ARMv8-A -and then only a few of them. The ARMv8-A 48-core (!) Cavium ThunderX e.g. features fp, asimd, evtstrm, aes, pmull, sha1, sha2 and crc32.