OpenMandriva Speeding Up Their AArch64 Linux Development With Ampere Altra
As a big boost to their Linux AArch64 productivity over their current Ampere eMAG 32-core server, OpenMandriva developers received a dual 80-core Ampere Altra server. Thanks to Ampere Altra supporting UEFI and other Arm standards, with ease the developers already have OpenMandriva running on the Ampere Altra server. The OpenMandriva developers noted, "Two pleasant surprises first — we didn’t have to make any modifications to boot on this machine, it can use the same aarch64 image as a much lower powered Synquacer or eMAG. And even when booting from the USB stick rather then the built-in high-speed NVMe, the boot process was comparably fast."
To no surprise, they are finding using Ampere Altra greatly speeds up their AArch64 Linux package builds:
Build times are really good: Building our kernel package (which builds the kernel 4 times — once with clang in a desktop configuration, once with clang in a server configuration, once with gcc in a desktop configuration, once with gcc in a server configuration — all 4 kernel variants have almost all modules enabled, given a distribution kernel can never know what it will be run on) took 2 hours, 14 minutes compared to 3 hours, 37 minutes on the Threadripper.
Building libreoffice took it 2 hours, 8 minutes compared to 4 hours, 4 minutes on the Threadripper.
And it could get even faster - the bottleneck turns out to be memory. While 128 GB is a lot of space, it’s only 0.8 GB per core on a 160-core machine. If we can make full use of the CPU with processes that are also memory intensive (keep in mind OpenMandriva uses LTO (link time optimizations) in just about everything - that means the entire code has to be visible to the linker at the same time), memory gets tight.
Now, for the first time, we have aarch64 packages churned out at a much faster rate than their x86_64 and znver1 counterparts - to the extent that I was curious about running an x86_64 environment in qemu on the Altra and running an x86_64 builder in there.
It works - but qemu is not fast enough (yet) to beat the Threadripper in this setup. But making packages more crosscompiler friendly (something we are working on already — stay tuned) should help a lot.
Read more about their Ampere Altra server for accelerating OpenMandriva AArch64 efforts over on the OpenMandriva.org blog.
Ampere Altra is certainly great for 64-bit Arm Linux server performance as noted in my prior Ampere Altra and Ampere Altra Max reviews and benchmarking.