[MDBF-481] Investigate running builders via qemu-emulation Created: 2022-10-10  Updated: 2023-12-05

Status: Open
Project: MariaDB Foundation Development
Component/s: Buildbot
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major
Reporter: Vicențiu Ciorbaru Assignee: Vlad Bogolin
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

It is possible to run containers built for a different architecture than the host's. More details are available here:
https://wiki.archlinux.org/title/Podman#Foreign_architectures

On an Intel CPU:

❯ podman run --arch arm64 'docker.io/debian:11' arch
aarch64

Given that is quite difficult for us to get a hold of specific architecture VMs (s390, mips, power), we should check to see if the performance penalty of emulating the other architecture is acceptable for us to run tests on our more common systems (x86_64, arm64 base).

vladbogo danblack



 Comments   
Comment by Daniel Black [ 2022-10-11 ]

amd64-rhel8-dockerlibrary already does this. The 6 minute tests are amd64 and the others are ~12-14 mins. This is only the startup/functional tests and aren't the intensive tests.

The problem with emulated tests is they are stricter in their behaviours as and are unlikely to find bugs like MDEV-28430.

Reusing the build artifiacts rather than conducting more builds for ps/embedded/package and every other combination in the same way and using the hardware more for tests would be good. It might also be possible with minimal effort to cross-compile the artifacts and keen architecture there for native tests. ref use of emulator in cross compilation.

Comment by Faustin Lammler [ 2023-06-12 ]

As far as performance is concerned, here are a few (very broad) estimates:

  • x86_64 emulating ppc64le: 3x slower (HZ AX161: AMD EPYC 7502P 32-Core Processor, 125GB RAM, nvme);
  • aarch64 emulating ppc64le: 4x to 5x slower (HZ RX220: Ampere® Altra® Q80-30, 250GB RAM, nvme).
Generated at Thu Feb 08 03:38:12 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.