Skip to content

Instantly share code, notes, and snippets.

@sueszli
Last active January 8, 2026 20:44
Show Gist options
  • Select an option

  • Save sueszli/bc3946c80dc9de3f04465d30f3200a3e to your computer and use it in GitHub Desktop.

Select an option

Save sueszli/bc3946c80dc9de3f04465d30f3200a3e to your computer and use it in GitHub Desktop.

Use-case: GPU-heavy ML workloads

Reproducibility idea: Terraform definition of system container with NixOS image for reproducibility.

Virtualization

= isolation for workloads sharing the same machine

VMs are only needed for untrusted users (of cloud providers) or workloads that need their own kernels. They add unnecessary overhead, except for micro VMs like "kata containers" (misnomer).

Containers nowadays are more about packaging / reproducibility by freezing dependencies and protection against accidentally breaking your host system by limiting privileges.

User containers only run a single process (in practice) and need vendor provided toolkits to access GPUs that adds overhead.

Systems containers (LXC/LXD or systemd-nspawn) can pass through any device.

Orchestration

= collaboration of workloads over several machines

"Bare metal kubernetes" is a misnomer and should be called "on-prem kubernetes". It always uses user-containers.

There are some Kubernetes equivalent things for system containers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment