~/talk

Scheduling in CI/CD systems

Talkat Linaro Connect Bangkok 2019 · 2019-04-01..04-05· [devops-and-delivery]
links:none on file
slides:none on file

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

  1. 0:00Intro
  2. 0:52About Works on Arm Collaborative project to support open source on arm64 systems in the data center
  3. 1:47Metrics of success Measure inputs: • Number of systems • Number of projects • Millions of hours of use • System efficiency
  4. 2:41Two jobs of build systems
  5. 4:29Interdependencies and priorities Naive approach: identify priorities, attack in order • Proofs of concept • Lengthy by-hand build instructions • Ad hoc patches
  6. 6:51Everything depends on the build systems
  7. 8:59Examples of build system components In increasing order of complexity
  8. 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
  9. 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
  10. 14:03Building the build tools "Gn". a meta-build tool for Ninja • Used to build Chromium • Replaces "Gyp" • Not yet ported to arm64
  11. 16:12Too complex to reason about Build systems are
  12. 20:46NixOS - reproducible builds NixOS - purely functional operating system
  13. 22:14Keeping pace with speculative builds Uber SubmitQueue Speculative execution of builds • Merge combinations of work • Keep mainline green
  14. 25:57How do you measure dependencies? Our customers
  15. 28:12CI/CD challenges for Arm systems What is particularly difficult for Arm-on-Arm build environments?
  16. 32:06To catch a unicorn
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.