This repository contains CWL-based workflows, execution traces, conformance test results, and supporting artefacts exploring the integration of the Common Workflow Language (CWL) with the Message Passing Interface (MPI).
The workflows were developed as part of the master's thesis:
“CWL workflows with MPI in bare-metal, containers, cloud, and HPC”
by Bruno de Paula Kinoshita, within the Joint Master in High Performance
Computing offered by the University of Santiago de Compostela and
the University of A Coruña.
The thesis was supervised by Michael R. Crusoe and Prof. Pablo Quesada.
This repository includes:
- CWL workflows integrating MPI execution models
- CWL conformance test results across multiple CWL runners
- Execution logs from HPC and cloud environments
- Supporting scripts for generating thesis figures and LaTeX tables
- A script that generates the RO-Crate file based on the directory contents
- GitHub Actions automation to verify files in this repository
The results cover executions on:
- Hetzner Cloud (OpenMPI 5)
- Framework Laptop AMD 13 (MPICH 4)
- CESGA FinisTerrae III (Intel MPI 2021.3.0)
- CSC LUMI (Cray MPICH 8.1.32)
- BSC MareNostrum 5 (Intel MPI 2021.10.0)
The directory structure of this repository is fully generated by automated execution scripts used during the experiments. It reflects the execution hierarchy of CWL conformance tests & workflows across multiple runners (cwltool, Toil, StreamFlow), MPI implementations, computing environments, and execution modes.
Output logs were processed to redact personally identifiable information (PII). No other manual post-processing or restructuring of execution outputs has been performed. This design choice ensures full traceability and preservation of both workflow outputs and workflow engine execution behaviour, including internal runtime state where available.
The dataset therefore includes both:
- execution outputs (workflow results, logs, conformance test outputs)
- execution engine traces (including internal state produced by workflow runners such as Toil and StreamFlow)
This structure is intentional and is required to support analysis of MPI integration
behaviour in CWL execution engines, particularly the MPIRequirement extension
evaluated in this thesis.
CWL conformance testing was performed using:
- CESGA FinisTerrae III 🇪🇸
- CSC LUMI 🇫🇮
- BSC MareNostrum 5 🇪🇸
- Hetzner Cloud 🇩🇪
Reports and results: CWL Conformance Tests
The repository contains example workflows used for evaluation of MPI execution in CWL.
Container-based experiments used images from: https://hub.docker.com/u/mfisherman, https://github.com/mfisherman/docker
The sr.c program from MPICH is used to validate MPI execution in CWL.
It prints MPI rank information and serves as a minimal correctness test.
Execution variants:
Full workflow description: Simple MPI Workflow
The FALL3D workflow originates from the GEO3BCN-CSIC project:
https://gitlab.geo3bcn.csic.es/fall3d/getit-workflows
This repository includes a modified version that:
- supports execution without container dependencies
- accepts input files and binaries via parameters
- introduces an alternative execution model using
MPIRequirement
The modified version is available at: kinow/getit-workflows#1
Full workflow description: FALL3D Workflow
Python scripts in this repository are used to generate LaTeX tables and figures for the thesis. They process:
- CWL conformance test results
- workflow execution logs
- output artefacts produced during experiments
A requirements.txt file is provided where dependencies are required.
The following tools and platforms were used during the thesis:
- CWL runners: cwltool, Toil, StreamFlow
- MPI implementations: MPICH, OpenMPI, Cray MPICH, Intel MPI
- HPC systems: LUMI, MareNostrum 5, FinisTerrae III
- Development tools: Git, Python, Bash, LaTeX, SSH, FileZilla
- IDE: PyCharm
- Bibliography: Zotero
- Writing: Overleaf
- RO-Crate: rocrate-py, rocrate-validator, Language-Research-Technology/ro-crate-html-js, simleo/rochtml (Docker)
- https://github.com/kinow/msc-project-management/ — thesis planning and research notes
- https://github.com/kinow/getit-workflows/ — fork of FALL3D workflows with MPIRequirement support
Data in this repository is licensed under CC-BY-4.0.
Software components retain their original licences
(e.g., MPICH sr.c test program is distributed under the MPICH licence).



