PackagingCon

Combining CVMFS, Nix or Gentoo Prefix, Lmod, and EasyBuild at Compute Canada
2021-11-09 , Room 2

One of the challenges in HPC is to deliver a consistent software stack that balances the needs of the system administrators with the needs of the users. This means running recent software on enterprise Linux distributions that ship older software. Traditionally this is accomplished using environment modules, that change environment variables such as $PATH to point to the software that is needed. At Compute Canada we have taken this further by distributing a complete user-level software stack, including all needed libraries including the GNU C library (Glibc), but excluding any privileged components. Our setup combined Nix, and now combines Gentoo Prefix for the bottom layer of base components, EasyBuild for the top layer of more scientifically inclined components, Lmod to implement environment modules, and the CernVM File System (CVMFS) to distribute it to Canadian supercomputers and anyone else who is interested. This approach has gained interest in other places, most notably with the EESSI project that originated in Europe.

I will describe our setup and discuss the pros and cons of Nix versus Gentoo Prefix, and the challenges that come with using glibc in a non-standard location.

Bart Oldeman (Ph.D., Engineering Mathematics, University of Bristol) works for McGill University in Montréal, Canada as a Scientific Computing Analyst, within the Calcul Québec and Compute Canada umbrella organizations. He is a Software Installation Coordinator for the Research Support National Team within Compute Canada.