Ian MORRISON (linuxium) has tested Linux with several mini PCs powered by different processors. The main point of his tests was to evaluate the performance difference between running Ubuntu 12.04 natively, or in a chroot in Android using tools such as Complete Linux Installer. I previously tried Linux on Android in ODROID-X, and found the applications start time when running from an low-end SD card pretty dismal, and the graphics performance poor. Ian had a different approach, and decided to use a subset of Phoronix Suite benchmarks to compare different hardware / software combination and posted the results in “mini PCs” G+ community. There’s a lot of data, and analyzing the results is not really straightforward without spending some time looking at the data. In this post, I’ll explain how the tests have been conducted, explain the results and try to draw a conclusion.
Ian used four mini PC hardware running Ubuntu 12.04 natively or in a chroot installed with Complete Linux Installer, except for RK3066 mini PC where Ubuntu 12.10 (PicUntu) was run natively. Each time, LXDE desktop environment was setup, and Ubuntu was installed in Sandisk Extreme Pro 8GB (micro) SD cards.
|mini PC||Processor||System Memory|
|MK802+||AllWinner A10 (Cortex A8 @ 1.0 GHz)||1 GB RAM|
|UG802||Rockchip RK3066 (2x Cortex A9 @ 1.6GHz)||1 GB RAM|
|iStick A200||Rockchip RK3066 (2x Cortex A9 @ 1.6 GHz)||2 GB RAM|
|Zealz GK802||Freescale I.MX6 (4x Cortex A9 @ 1.2 GHz)||1 GB RAM|
The 3 most common SoC used in mini PCs are represented with AllWinner A10, Rockchip RK3066 and Freescale i.MX6, but he also tested some extra hardware running either Ubuntu in Android, or natively:
- MK803 mini PC (AMLogic AML8726-M3 Cortex A9) running Ubuntu 12.04 in Android (Complete Linux Installer)
- Asus Eed Pad Transformer TF101 tablet (Tegra 2 – 2x Cortex A9) running Ubuntu 12.04 in Android (Complete Linux Installer)
- Hardkernel ODROID-U2 (Exynos 4412 Prime – 4x Cortex A9) running Ubuntu 12.04 natively in its eMMC module
- Google New Chromebook (Exynos 5250 – 2x Cortex A15) running ChrUbuntu 12.04
- Intel Core i7-950 PC running Wubi’s Ubuntu 12.04
Phoronix Test Suite is a testing and benchmarking platform written in PHP5 language that can run in Linux, Windows, Mac OS X, Solaris and BSD operating systems on any target which supports php. Since Ubuntu in Android would definitely have poor performance, Ian only considered tests that may be used in a server configuration, to evaluate CPU, RAM and I/O performance:
- CacheBench – Memory and cache bandwidth performance benchmark.
- CLOMP – C version of the Livermore OpenMP benchmark developed to measure OpenMP overheads and other performance impacts due to threading.
- 7-Zip compression – Uses p7zip integrated benchmark feature.
- dcraw – This test measures the time it takes to convert several high-resolution RAW NEF image files to PPM image format using dcraw.
- LAME MP3 encoding – This test measures the time required to encode a WAV file to MP3 format.
- FFmpeg – Audio/video encoding performance benchmark.
- OpenSSL – Measures RSA 4096-bit performance of OpenSSL.
- PHPBench – Benchmark suite for PHP.
- PyBench – Python benchmark suite.
- SQLite – This test measures the time to perform a pre-defined number of insertions on an indexed database
- Stream – This benchmark tests the system memory (RAM) performance.
- TSCP – Performance benchmark built-in Tom Kerrigan’s Simple Chess Program.
- Unpacking the Linux kernel – This test measures the time it takes to extract the .tar.bz2 Linux kernel package.
- GMPbench – Test of the GMP 5.0.3 math library
The full results are available on openbenchmarking.org, but the way they are presented might be a little confusing because for some tests, higher is better, whereas for others, lower is better. So I’ve added an up arrow icon on the left of the table if higher is better, and a down arrow if it’s the opposite. I’ve also added Android and Ubuntu logos, depending on whether Ubuntu is respectively run in a chroot or natively.
Let’s take care of the anomalies first. You’ll notice GMPbench results are not available for all devices. That’s because it refused to run in some cases. SQLite test results are up to 10x faster in Ubuntu in a chroot (in Android) than in Ubuntu running natively. MK802 is even reported to be about as fast as Intel PC used as reference. Clearly something is wrong when running this test in a chroot, and SQLite results should be discarded.
For a given hardware, there’s usually about a 5 to 20% performance hit when running Ubuntu in Android. The exception is GK802 where running Ubuntu in Android is consistently faster than running it natively. However, Ian used Geekbuying Ubuntu beta image which is not optimized, and it’s possible the CPU in Ubuntu was clocked at a lower frequency than in Android.
MK802+ (AllWinner A10) and MK803 (AMLogic AML8726) share the lowest score, except for SQLite which runs the slowest on the Chromebook, and CLOMP on ODROID-U2. UG802 (Rockchip RK3066) and GK802 (Freescale i.MX6) has similar performance with an edge for Rockchip RK3066 devices, except for test where all 4-core of i.MX6 can be used such as 7-Zip. Also note that the extra 2GB RAM in iStick A200 does not provide significant performance improvement for most test against the 1GB RAM used in UG802. The extra RAM should only be useful when multitasking.
To conclude, if you want to run Linux on your mini PC, you should always install Ubuntu natively to get the most performance, but if you have no choice (i.e. Linux not currently supported) or want to run both Android and Linux simultaneously, you can always run server applications in a chroot with limited performance degradation. On the hardware side, although Rockchip RK3066 and Freescale i.MX6 mini PC have about the same performance in Linux for (server applications), Rockchip devices clearly have a higher performance / cost ratio at the moment.