[en] 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.
Disciplines :
Computer science
Author, co-author :
HALE, Jack ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Engineering Research Unit
Li, Lizao; University of Minnesota > Department of Mathematics
Richardson, Chris N.; University of Cambridge > BPI
Wells, Garth N.; University of Cambridge > Department of Engineering
External co-authors :
yes
Language :
English
Title :
Containers for portable, productive and performant scientific computing
Publication date :
25 May 2017
Journal title :
Computing in Science and Engineering
ISSN :
1521-9615
Publisher :
American Institute of Physics/IEEE Computer Society