Issue No. 06 - November/December (2017 vol. 19)
Jack S. Hale , University of Luxembourg
Lizao Li , University of Minnesota
Christopher N. Richardson , University of Cambridge
Garth N. Wells , University of Cambridge
Containers are an emerging technology that holds promise for improving productivity and code portability in scientific computing. The authors examine Linux container technology for the distribution of a nontrivial scientific computing software stack and its execution on a spectrum of platforms from laptop computers through high-performance computing systems. For Python code run on large parallel computers, the runtime is reduced inside a container due to faster library imports. The software distribution approach and data that the authors present will help developers and users decide on whether container technology is appropriate for them. The article also provides guidance for 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.
Containers, Software, Libraries, Runtime, Linux, Scientific computing, Object recognition
J. S. Hale, L. Li, C. N. Richardson and G. N. Wells, "Containers for Portable, Productive, and Performant Scientific Computing," in Computing in Science & Engineering, vol. 19, no. 6, pp. 40-50, 2017.