Skip to main content
. 2021 Nov 4;11:21680. doi: 10.1038/s41598-021-99288-8

Table 2.

Summary of executor-level differences among Swift/T, Nextflow, CWL and WDL.

WfMS Remarks
Language Execution engine
Swift/T Complete WfMS, supporting conditionals, loops and nested logic
Nextflow (DSL-1, DSL-2)
CWL cwltool The official reference implementation of an execution engine for the complete CWL standard33; no cluster or cloud support
arvados(1.0, 1.1, 1.2) Most feature-rich CWL runner, albiet with tedious setup
toil-cwl-runner(1.0.1) Optimized for cloud environments, less stable in batch environments (Section Scalability)
cwl airflow(1.1) Works with celery and Kubernetes clusters, not readily with HPC CRMs
REANA(Documentation missing) Cloud-optimized platform. For HPC, only CERN Slurm and HTcondor are supported
Cromwell (1.0) Supports CWL workflows via WOM, with comparable performance in both languages (Section Scalability)
cwl-tes (1.0) Partial implementation at present, with tedious setup. GA4GH TES API compatible
rabix executor (sbg:draft-2, 1.0) Single node local executor is no longer supported by the original developer team at Seven Bridges
WDL Cromwell (draft-2, 1.0) De facto standard for executing WDL workflows. Support for nested loops is version-dependent
toil-wdl-runner (draft-2) No support for modularity or nesting of loops and conditionals. Support for batch systems is also rudimentary
miniWDL (draft-2, 1.0) No cluster or cloud support. Includes Cromwell wrapper

Any given feature of a workflow language can be assumed supported by the executor, unless we note otherwise. Supported language versions are in parentheses for each executor. Italics indicates engines we thoroughly examined.

These are listed as production-ready engines in the official CWL website in July 2021. The rest are listed as partial implementations.