Parallel Dataflow Coupling
Computational science involves a workflow of interconnected tasks, several of
them being executed on a supercomputer, for example simulation, analysis,
visualization, or user interaction. A workflow can be modeled as a directed
graph, where the nodes of the graph are tasks, and the edges represent
information exchanged between the tasks. We assume that the graph can have
cycles; feedback loops can exist between tasks so that the result of a
downstream task can be used to modify an upstream one (sometimes called
computational steering).
We define dataflow as the parallel information exchange between tasks in a workflow.
Traditionally, tasks exchange data through files. However, the growing mismatch
between HPC computing rate and I/O bandwidth motivates shifting from
file-oriented workflow models to in situ workflows, where dataflows are through
memory or the supercomputer interconnect, avoiding the storage I/O bottleneck.
We designed our dataflow as a middleware layer below the workflow engine
so that one dataflow library can support multiple workflow tools simultaneously.
However, several challenges need to be solved as a result of this design choice.
We support two different in situ coupling modes: time division and space division. In time
division, two tasks, producer and consumer, share the same resources and run
sequentially in time. In space division, the producer and consumer run on different
resources concurrently in time. A workflow can mix modes for each
pair of coupled tasks.
In space division mode, disparate data rates between producer and consumer tasks may
require buffering in order for both tasks to proceed as quickly as possible.
In the following use case, molecular dynamics simulation is coupled with density
estimation and isosurfacing in a 3-step in situ pipeline. Strong scaling is
improved considerably using Decaf compared with a previous workflow tool.
The following use case is a complex workflow involving molecular dynamics,
interactive computational steering, and 2 visualization tools. The overhead of
Decaf's put/get communication is minimal.
The goal of the following workflow is the in situ conversion of particles from an
N-body cosmology simulation to particle density over a regular
2D and 3D grid, using a Voronoi tessellation as an intermediate step.
The dataflow programming model is implemented in our Decaf software.