Science reproducibility is a cornerstone feature in scientific workflows. In most cases, this has been implemented as a way to exactly reproduce the computational steps taken to reach the final results. While these steps are often completely described, including the input parameters, datasets, and codes, the environment in which these steps are executed is only described at a higher level with endpoints and operating system name and versions. Though this may be sufficient for reproducibility in the short term, systems evolve and are replaced over time, breaking the underlying workflow reproducibility. A natural solution to this problem is containers, as they are well defined, have a lifetime independent of the underlying system, and can be user-controlled so that they can provide custom environments if needed. This paper highlights some unique challenges that may arise when using containers in distributed scientific workflows. Further, this paper explores how the Pegasus Workflow Management System implements container support to address such challenges.
@article{arxiv.1905.08204,
title = {Custom Execution Environments with Containers in Pegasus-enabled Scientific Workflows},
author = {Karan Vahi and Mats Rynge and George Papadimitriou and Duncan A. Brown and Rajiv Mayani and Rafael Ferreira da Silva and Ewa Deelman and Anirban Mandal and Eric Lyons and Michael Zink},
journal= {arXiv preprint arXiv:1905.08204},
year = {2019}
}