Abstract
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.
| Original language | English |
|---|---|
| Title of host publication | Proceedings - IEEE 15th International Conference on eScience, eScience 2019 |
| Publisher | Institute of Electrical and Electronics Engineers Inc. |
| Pages | 281-290 |
| Number of pages | 10 |
| ISBN (Electronic) | 9781728124513 |
| DOIs | |
| State | Published - Sep 2019 |
| Externally published | Yes |
| Event | 15th IEEE International Conference on eScience, eScience 2019 - San Diego, United States Duration: Sep 24 2019 → Sep 27 2019 |
Publication series
| Name | Proceedings - IEEE 15th International Conference on eScience, eScience 2019 |
|---|
Conference
| Conference | 15th IEEE International Conference on eScience, eScience 2019 |
|---|---|
| Country/Territory | United States |
| City | San Diego |
| Period | 09/24/19 → 09/27/19 |
Funding
ACKNOWLEDGMENTS This work is funded by NSF contract #1664162, “SI2-SSI: Pegasus: Automating Compute and Data Intensive Science”; and NSF contract #1826997, “CC* Integration: Delivering a Dynamic Network-Centric Platform for Data-Driven Science (DyNamo)”. Development of containerization in PyCBC was supported by NSF contract #1443047, “CIF21 DIBBs: Domain-Aware Management of Heterogeneous Workflows: Active Data Management for Gravitational-Wave Science Workflows.” DAB was supported in part by NSF contract #1748958 to the Kavli Institute for Theoretical Physics.
Keywords
- Containers
- Distributed computing
- Docker
- Pegasus
- Reproducibility
- Scientific workflows
- Shifter
- Singularity