Containers for portable, productive and performant scientific computing
arXiv:1608.07573 · doi:10.1109/MCSE.2017.2421459
Abstract
Containers are an emerging technology that hold promise for improving productivity and code portability in scientific computing. We examine Linux container technology for the distribution of a non-trivial scientific computing software stack and its execution on a spectrum of platforms from laptop computers through to high performance computing (HPC) systems. We show on a workstation and a leadership-class HPC system that when deployed appropriately there are no performance penalties running scientific programs inside containers. For Python code run on large parallel computers, the run time is reduced inside a container due to faster library imports. The software distribution approach and data that we present will help developers and users decide on whether container technology is appropriate for them. We also provide guidance for the vendors of HPC systems that rely on proprietary libraries for performance on what they can do to make containers work seamlessly and without performance penalty.
References in corpus (1)
Cited by in corpus (6)
- Containerisation for High Performance Computing Systems: Survey and Prospects
- A survey of biodiversity informatics: Concepts, practices, and challenges
- A CutFEM method for two-phase flow problems
- Reproducibility, Replicability, and Repeatability: A survey of reproducible research with a focus on high performance computing
- Portable simulation framework for diffusion MRI
- An a posteriori error estimator for the spectral fractional power of the Laplacian