Hubble, a simulator for the Nix/Hydra build tools

Hubble is a simulator designed to evaluate on-line scheduling algorithms of Nix build tasks on clusters.

Nix is a package build tool that is typically used to build large sets of packages, such as the constituents of the NixOS GNU/Linux distribution. The input to Nix is a large directed acyclic graph (DAG) of package build tasks (currently ~3,000 nodes and ~18,000 edges), which Nix can choose to distribute over several machines in a cluster. Hydra uses Nix to continuously compile sets of packages directly from their version control system.

Efficiently using computing and networking resources can help reduce build times for a DAG of tasks. Hubble aims to evaluate several on-line scheduling algorithms for Nix build tasks, on various platforms. Its input is a DAG of build tasks and the description of a grid or cluster to realize the build. Hubble simulates the build tasks and associated data transfers using SimGrid.

Hubble is being developed at Inria Bordeaux Sud-Ouest, in the Cépage Team-Project.




Validate XHTML 1.0