Enabling Message Passing Interface Containers on the LUMI Supercomputer
Alfio Lazzaro
TL;DR
The paper tackles running MPI-based applications inside container images on the LUMI HPC system. It proposes a Hybrid model where container-built MPI libraries (e.g., MPICH/OpenMPI) are used inside containers while execution binds to the vendor-optimized HPE Cray MPI on the host, enabled by rootless proot builds due to disabled user namespaces. It provides concrete container definitions, discusses MPI ABI translation with MPIxlate, and validates correctness and performance through MPI tests and OSU benchmarks. The work enables portable, reproducible deployment of high-performance MPI workloads on LUMI and suggests reusability as base images for similar HPC environments.
Abstract
Containers represent a convenient way of packing applications with dependencies for easy user-level installation and productivity. When running on supercomputers, it becomes crucial to optimize the containers to exploit the performance optimizations provided by the system vendors. In this paper, we discuss an approach we have developed for deploying containerized applications on the LUMI supercomputer, specifically for running applications based on Message Passing Interface (MPI) parallelization. We show how users can build and run containers and get the expected performance. The proposed MPI containers can be provided on LUMI so that users can use them as base images. Although we only refer to the LUMI supercomputer, similar concepts can be applied to the case of other supercomputers.
