Scheduling in CI/CD systems
summary
WorksOnARM/Packet runs CI across heterogeneous ARM servers and finds the key problems are build velocity, reproducibility, and missing native toolchains. Concrete examples: Chromium won’t build on aarch64 until GN is ported, TensorFlow forces a Java Bazel bootstrapping dependency, and a research system GG on AWS Lambda runs ~6,000 parallel steps where 5,900 steps take one third of time and a serial linker blocks completion. NixOS-style NixOS build cache dramatically reduces rebuild cost; QEMU emulation and scarce high‑memory ARM machines remain hard limits.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:52About Works on Arm Collaborative project to support open source on arm64 systems in the data center
- 1:47Metrics of success Measure inputs: • Number of systems • Number of projects • Millions of hours of use • System efficiency
- 2:41Two jobs of build systems
- 4:29Interdependencies and priorities Naive approach: identify priorities, attack in order • Proofs of concept • Lengthy by-hand build instructions • Ad hoc patches
- 6:51Everything depends on the build systems
- 8:59Examples of build system components In increasing order of complexity
- 10:29Beyond Make: Dividing up the problem Good old Make! • Turing complete Makefile language • Slow to start on big builds that don't do much • Con't reason about dependencies without running the build
- 12:21Meta-build systems What is a meta-build system? Sounds fancy! • Determines dependencies • Runs infrequently for not at all, on small changes • Generates Makefiles or build files • Divides the problem in half • A good one lets you replace either half
- 14:03Building the build tools "Gn". a meta-build tool for Ninja • Used to build Chromium • Replaces "Gyp" • Not yet ported to arm64
- 16:12Too complex to reason about Build systems are
- 20:46NixOS - reproducible builds NixOS - purely functional operating system
- 22:14Keeping pace with speculative builds Uber SubmitQueue Speculative execution of builds • Merge combinations of work • Keep mainline green
- 25:57How do you measure dependencies? Our customers
- 28:12CI/CD challenges for Arm systems What is particularly difficult for Arm-on-Arm build environments?
- 32:06To catch a unicorn
related talks
31mContinuous Delivery on Arm: A Practical Approach
43mNative CI and CD pipelines for Arm
38mRunning Multi-Arch Builds & Tests in OpenShift CI/CD
26mDeep Dive: CNCF CI
01h 14mModernizing and Optimizing Applications for the Cloud
05mTips for Speeding Up Cargo Build in CI
46mThe Need for Speed (in Your CI/CD Setup)
27mThe Need for Speed (in your CI/CD setup)
