/mpidag

Tool for running DAG-structured scientific workflows as an MPI job

Primary LanguageC++

Note: This code has been merged into Pegasus (github.com/pegasus-isi/pegasus)
as Pegasus-MPI-Cluster and is no longer maintained.

This is a workflow engine that runs as an MPI job.

The workflows are simple DAGs (Directed Acyclic Graphs) described with a
file format similar to that used by Condor DAGMan. There are some example 
DAGs in the test directory. More information on the format can be found 
in the man page.

The MPI rank 0 process becomes a master, and the rank 1..N processes become
workers. The master process hands out the tasks to the workers in FCFS
order, according to the dependencies specified in the DAG.

To build the code run:

    $ make

If the system you are on does not have an 'mpicxx' wrapper for the C++
compiler then you will have to edit the makefile and change the CXX and CC
variables to point at the right compiler.

To run the tests do:

    $ make test

Finally, to install do:

    $ make install

By default it will install in $(HOME), otherwise you can do:

    $ make prefix=/usr/local install

To execute a workflow run:

    $ mpirun -n 4 mpidag test/diamond.dag

or something similar in your PBS/LSF/SGE submit script. Ask your local
system administrator if you are unsure how to run MPI applications on
your cluster.

For more information see the mpidag.1 man page.