Introducing SWIRL: An Intermediate Representation Language for Scientific Workflows
Journal:
arXiv
Published Date:
Jul 1, 2024
Abstract
In the ever-evolving landscape of scientific computing, properly supporting
the modularity and complexity of modern scientific applications requires new
approaches to workflow execution, like seamless interoperability between
different workflow systems, distributed-by-design workflow models, and
automatic optimisation of data movements. In order to address this need, this
article introduces SWIRL, an intermediate representation language for
scientific workflows. In contrast with other product-agnostic workflow
languages, SWIRL is not designed for human interaction but to serve as a
low-level compilation target for distributed workflow execution plans. The main
advantages of SWIRL semantics are low-level primitives based on the
send/receive programming model and a formal framework ensuring the consistency
of the semantics and the specification of translating workflow models
represented by Directed Acyclic Graphs (DAGs) into SWIRL workflow descriptions.
Additionally, SWIRL offers rewriting rules designed to optimise execution
traces, accompanied by corresponding equivalence. An open-source SWIRL compiler
toolchain has been developed using the ANTLR Python3 bindings.