Suggestions for ARM64 runners

I have some CI jobs that I want to run on 64-bit ARM architecture. In production we are running some things on Amazon EC2 instances using Amazon’s “Graviton” processors, but we don’t want to run all of our CI jobs on Amazon right now.

At the moment I have a Raspberry Pi 4B 4G which I am using to run local jobs, but this is not very fast, due to the Pi’s processor and storage speeds. I have already sped up the Pi significantly by switching it from using a Micro-SD card to a USB3-connected SSD, but that still only helps so much. I can speed up the pipelines by setting up multiple additional Pi’s, but that doesn’t help speed up the individual jobs themselves.

Does anyone have recommendations (that you have tried yourself, not just that you’ve read about online) for other 64-bit ARM-based hardware I might be able to find with better performance that Raspberry Pi?

My requirements are:

  • 64-bit ARM (aarch64) architecture
  • 4GB RAM (or more)
  • USB3 or faster (SATA/NVMe) storage
  • Wired Ethernet

(My dream is something based on Ampere’s Altra platform, but that’s not realistic at this point.)

On our CI, the Mac Mini M1 (the cheapest one, with 8 GB RAM) runs cca. 6-times faster than RPi 4B 4G (external SSD), pretty consistently for compiling different software.

Granted, the OS is different, the compiler is different (Debian 10 with gcc vs. macOS 11 with clang), the price is not exactly comparable, and I admit that I haven’t tried booting Linux yet, but I can imagine that if one manages to install Linux on it (there are reports of success with Ubuntu), the speed should still be impressive compared to RPi.

Thank you for the suggestion.

Since we’re running in Docker, we shouldn’t need to install Linux on the machine itself - Docker Desktop does run on the M1 now, but I think I need more concrete testing before my boss will agree to spend that much.