Repository logo
 

Containers for Portable, Productive, and Performant Scientific Computing

Accepted version
Peer-reviewed

Type

Article

Change log

Authors

Hale, Jack S 
Li, Lizao 
Richardson, Christopher N 
Wells, Garth N 

Abstract

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.

Description

Keywords

maintainability, software engineering, performance measures, portability, scientific computing

Journal Title

Computing in Science and Engineering

Conference Name

Journal ISSN

1521-9615
1558-366X

Volume Title

19

Publisher

IEEE