Back in 2012, Codethink produced one of the very first modern cluster-in-a-box Arm servers, the Baserock Slab; 8 quad-core SoCs in a 1U case.
At that time, there was lots of talk about Arm's low power consumption advantage as the unique selling point, but at Codethink our target was to design a fast multi-SoC machine.
One of the key drivers for us was developing and integrating custom Linux-based system software for clients targeting Arm SoCs. We had identified cross-compilation as one of the key pain points in many projects, particularly since many upstream components didn't support cross-compilation, and we could not be sure that cross-compilation outputs would always be functionally identical to native outputs.
So we were aiming primarily for high-performance Arm-based software build machines, and that meant we needed fast CPU, as many cores as possible, lots of memory, plenty of fast SSD and fast networking.
This was a very specific niche, obviously. In practice high-performance x86 machines delivered cross-compiled builds faster than our original design, and faster than the other Arm servers we migrated to as the years passed by. We were one of the first organisations to acquire an HP Moonshot server in 2014.
The Moonshot was a huge beast with 45 x 8 core SoCs, but even so it couldn't really compete with equivalent x86 servers on performance.
Since then, Arm servers have improved dramatically for our workloads. We've seen significant gains in overall performance for Arm-native build usecases. Looking at current builds for the freedesktop-sdk project, for example, a full x86_64 build can take over 1100 minutes whereas the Arm build completes in under 700 minutes.
So for this workload, a 32-core Arm Server takes 40% less time than a 32-core Intel machine!
aarch64:
- 1x Ampere eMAG 8180 32-core , 128GiB RAM
- 670 minutes
- log output
x86_64:
- Intel(R) Xeon(R) CPU E5-2660 (32 cores), 141GiB RAM
- 1117 minutes
- log output
Specs for the actual machines are here.
The aarch64 server is generously sponsored by @equinixmetal as part of the Works On Arm intiative with support from Arm.
The x86_64 server is generously sponsored by OSU Open Source Lab.
Related blog posts:
- More about Baserock: No Secret Sauce, Just Open Source >>
- Build Engineering: Introducing BuildStream >>
Other Content
- Speed Up Embedded Software Testing with QEMU
- Open Source Summit Europe (OSSEU) 2024
- Watch: Real-time Scheduling Fault Simulation
- Improving systemd’s integration testing infrastructure (part 2)
- Meet the Team: Laurence Urhegyi
- A new way to develop on Linux - Part II
- Shaping the future of GNOME: GUADEC 2024
- Developing a cryptographically secure bootloader for RISC-V in Rust
- Meet the Team: Philip Martin
- Improving systemd’s integration testing infrastructure (part 1)
- A new way to develop on Linux
- RISC-V Summit Europe 2024
- Safety Frontier: A Retrospective on ELISA
- Codethink sponsors Outreachy
- The Linux kernel is a CNA - so what?
- GNOME OS + systemd-sysupdate
- Codethink has achieved ISO 9001:2015 accreditation
- Outreachy internship: Improving end-to-end testing for GNOME
- Lessons learnt from building a distributed system in Rust
- FOSDEM 2024
- QAnvas and QAD: Streamlining UI Testing for Embedded Systems
- Outreachy: Supporting the open source community through mentorship programmes
- Using Git LFS and fast-import together
- Testing in a Box: Streamlining Embedded Systems Testing
- SDV Europe: What Codethink has planned
- How do Hardware Security Modules impact the automotive sector? The final blog in a three part discussion
- How do Hardware Security Modules impact the automotive sector? Part two of a three part discussion
- How do Hardware Security Modules impact the automotive sector? Part one of a three part discussion
- Automated Kernel Testing on RISC-V Hardware
- Automated end-to-end testing for Android Automotive on Hardware
- GUADEC 2023
- Embedded Open Source Summit 2023
- RISC-V: Exploring a Bug in Stack Unwinding
- Adding RISC-V Vector Cryptography Extension support to QEMU
- Introducing Our New Open-Source Tool: Quality Assurance Daemon
- Achieving Long-Term Maintainability with Open Source
- FOSDEM 2023
- Think before you Pip
- BuildStream 2.0 is here, just in time for the holidays!
- A Valuable & Comprehensive Firmware Code Review by Codethink
- GNOME OS & Atomic Upgrades on the PinePhone
- Flathub-Codethink Collaboration
- Codethink proudly sponsors GUADEC 2022
- Tracking Down an Obscure Reproducibility Bug in glibc
- Web app test automation with `cdt`
- FOSDEM Testing and Automation talk
- Protecting your project from dependency access problems
- Porting GNOME OS to Microchip's PolarFire Icicle Kit
- YAML Schemas: Validating Data without Writing Code
- Full archive