Brussels / 3 & 4 February 2018


Tying software deployment to scientific workflows

Using Guix to make software deployment a first-class citizen

Package management, container provisioning, and workflow execution are often viewed as related but separate activities. This talk is about using Guix to integrate reproducible software deployment in scientific workflows.

In HPC, tools usually focus exclusively on one of these aspects: Spack or EasyBuild manage packages, Singularity or Shifter deal with containers, and SLURM, CWL, or Galaxy mostly leave it up to users to deploy their software.

While the initial tooling of GNU Guix is about package management, we have grown it into a toolkit that, broadly speaking, allows developers to integrate reproducible software deployment into their applications—as opposed to leaving it up to the user.

In this talk I will illustrate the benefits of this approach with examples from recent work from the Guix-HPC effort. This ranges from the “guix pack” container provisioning tool, to the Guix Workflow Language (GWL), which incorporates deployment as a key aspect of workflow management. I will discuss how we could make these tools key components of broader reproducible scientific workflows as demonstrated by projects such as ActivePapers, ReScience, or NextJournal.


Ludovic Courtès