Brussels / 4 & 5 February 2023


How the Spack package manager tames the stat storm

In high performance computing, package managers like Nix, Guix, Gentoo Prefix, and Spack are used to install applications and their dependencies. They allow multiple variants and flavors of the same package to coexist, by installing every package into a unique prefix directory that embeds a hash derived from the dependency graph.

This non-standard directory structure can result in increased startup time of executables, as the dynamic linker has to search through many directories to locate all required libraries. This is especially problematic in the context of HPC and shared filesystems, since many instances of the same executable may start in parallel, causing a "stat storm" on the typically slow filesystem.

This talk explores benefits and drawbacks of different solutions, and shows in particular how the Spack package manager solves this problem.


Harmen Stoppels