Sarus: Highly Scalable Docker Containers for HPC Systems
Lucas Benedicic, Felipe A. Cruz, Alberto Madonna, Kean Mariotti · Lecture notes in computer science · 2019
The convergence of HPC and cloud computing is pushing HPC service providers to enrich their service portfolio with workflows based on complex software stacks. Such transformation presents an opportunity for the science community to improve its computing practices with solutions developed in enterprise environments. Software containers increase productivity by packaging applications into portable units that are easy to deploy, but generally come at the expense of performance and scalability. This work presents Sarus, a container engine for HPC environments that offers security oriented to multi-tenant systems, container filesystems tailored for parallel storage, compatibility with Docker images, user-scoped image management, and integration with workload managers. Docker containers of HPC applications deployed with Sarus on up to 2888 GPU nodes show two significant results: OCI hooks allow users and system administrators to transparently benefit from plugins that enable system-specific hardware; and the same level of performance and scalability than native execution is achieved.