Motivation for NESSI and EESSI

Scientific software is a key tool for nearly every research on all kinds of systems from personal laptops to servers to virtual machines in the cloud and to supercomputers. Getting scientific software installed and maintained is no easy task - even for IT professionals with years of experience in building software.

Over the past decade tools such as EasyBuild, Spack, Conda, containers, etc. have gained popularity to make the life of software managers and fearless users easier. Yet, even with such tools managing software remains a time consuming and tedious task. This is because we witness an explosion of available software, emerging CPU and GPU architectures, a broader variety of systems/platforms and more widespread demands to have access to scientific software quickly, consistently, and everywhere.

What if one wouldn’t have to install the software at all?

What use cases would be simplified or even made possible if one can just pick a software from a large collection and start using it without much delay?

Such services already exist for videos or music.

Wouldn’t it be great if software could be offered in the same way?

NESSI aims at achieving that. It is a sibling to EESSI - the European Environment for Scientific Software Installations (EESSI). Both NESSI and EESSI started in 2020 as a collaboration between several Norwegian and European High-Performance Computing (HPC) sites and industry partners. While NESSI is an internal NRIS project, EESSI is a wider international initiative. Both NESSI and EESSI use the same technologies (CernVM-FS, Gentoo Prefix, EasyBuild and Lmod) and aim to be synchronized to maximize synergies and allow for tight collaboration.

Instead of building or installing software again and again, in NESSI we build software once and distribute it via CernVM-FS to any (Linux) computer anywhere in the world in near real-time. To decouple the software installations from the Linux distributions being used on a machine (Ubuntu, CentOS, RHEL, Rocky, …) we use Gentoo Prefix as a compatibility layer. The actual scientific software is built with EasyBuild. For current and popular CPU architectures separate installation stacks are pre-built and optimized to not compromise on performance. Software is made accessible via environment modules using Lmod.

Once a machine is set up to have access to the NESSI or EESSI software stacks, there is nothing new to learn for a user who is used to running a command such as

module load GROMACS/2023.1-foss-2022a

Read about getting access to the NESSI and EESSI stacks.