The bottom layer is the filesystem layer, which is responsible for distributing the software stack across clients.

The middle layer is a compatibility layer, which ensures that the software stack is compatible with multiple different client operating systems.

The top layer is the software layer, which contains the actual scientific software applications and their dependencies.

The host OS still provides a couple of things, like drivers for network and GPU, support for shared filesystems like GPFS and Lustre, a resource manager like Slurm, and so on.