Guix, un logiciel libre pour la reproductibilité des sciences en HPC
Date:
Mis à jour le 19/10/2020
La reproductibilité des expériences est un sujet qui anime la communauté des scientifiques. Dans le domaine des sciences du numérique, de plus en plus d’expériences reposent sur des ensembles de logiciels complexes. La capacité de reproduire une expérience dépend donc d’abord de la capacité à reproduire cet environnement logiciel. Dans ce contexte la National science fondation (NSF) aux États-Unis encourage désormais à s’assurer de la reproductibilité des expériences pratiquées dans la communauté du HPC, des revues comme Nature insistent également sur l’importance de partager les codes sources et soutiennent cet élan en faveur de la reproductibilité. Certains colloques en HPC comme SuperComputing ont maintenant des directives à ce sujet. Et enfin, le dernier plan stratégique d’Inria consacre un chapitre entier à cette question.
Parallèlement à Guix, deux types d’outils existaient : les gestionnaires de paquets "classiques" et les "conteneurs".
Guix propose donc une solution alternative aux gestionnaires de paquets et aux conteneurs. Il permet d’assurer la reproductibilité d’un environnement logiciel, sans dépendre du gestionnaire de paquets du système. Aujourd’hui le centre de recherche Inria Bordeaux – Sud-Ouest, le Max Delbrück Institute (Berlin, Allemagne) et le University Medical Center d’Utrecht (Pays-Bas) cherchent à optimiser ce logiciel pour le HPC. Cela passe par l’ajout de paquets pour les logiciels HPC développés et utilisés dans chacun des trois instituts, mais aussi et surtout par l’ajout de fonctionnalités facilitant l’utilisation sur grappe de calcul et la mise en place de workflows reproductibles
Ricardo Wurmus, administrateur système de la Scientific Bioinformatics Platform du Max Delbrück Institute, utilise Guix. « Avant Guix, l’installation de logiciels scientifiques était nécessairement ad hoc. Les équipes [de recherche] compilaient leurs logiciels et les liaient statiquement, en espérant que ça ne change jamais (parce que la gestion des environnements logiciels était pratiquement impossible). Dorénavant on peut non seulement gérer un environnement par équipe de façon fiable, mais on peut aussi avoir des environnements à tous les niveaux : équipe de recherche, projet, usager, workflow, etc.»
Au centre de recherche Inria Bordeaux – Sud-Ouest, c’est Ludovic Courtès, ingénieur dans le service expérimentation et développement qui est en charge de l’optimisation de ce logiciel pour le HPC. Soutenu par l’institut avec une action de développement technologique (ADT), ses objectifs sont, à terme que ce logiciel puisse répondre aux besoins des équipes de recherche du centre en HPC et puisse être utilisé sur des plates-formes de calculs (clusters) comme celle hébergée et utilisée dans le centre de Bordeaux : PlaFRIM.
Le projet est prévu pour deux ans. D’ici-là, ses initiateurs espèrent avoir répondu aux besoins de leurs instituts en matière de déploiement reproductible de logiciels. Au-delà, l’ambition est de convaincre d’autres acteurs en HPC des avancées que représente cette approche.
Rendez vous sur le site web de Guix - HPC pour plus d’informations !