226
M. Tsuji et.al.
each code block defined by // in a par region can be executed in parallel
ser
serial loop
wait
wait until the corresponding signal has been issued by notify
notify
issues a specific signal for wait
4.3 Workflow Execution
The YML workflow compiler compiles the YvetteML into a directed acyclic graph
(DAG), and the YML workflow scheduler interprets the DAG to execute a workflow
application.
Figure 6 illustrates a workflow execution in the mSPMD programming model.
First, mpirun kicks the YML workflow scheduler. The YML workflow scheduler,
which has been linked with the OmniRPC-MPI library, interprets the DAG of
a workflow application and asks the invocation a task specified by YvetteML
compute (task-name) to the OmniRPC-MPI library. The OmniRPC-MPI library
finds a remote program which includes the specified task, and invokes the remote
program over the specified number of nodes by calling MPI_Comm_spawn, and
sends a request to perform the specific task.
While actual communications, node management, and task scheduling have been
supported by the OmniRPC-MPI library, the YML workflow scheduler schedules a
“logical” order of tasks based on the DAG of an application.
Fig. 6 A workflow execution of the mSPMD
M. Tsuji et.al.
each code block defined by // in a par region can be executed in parallel
ser
serial loop
wait
wait until the corresponding signal has been issued by notify
notify
issues a specific signal for wait
4.3 Workflow Execution
The YML workflow compiler compiles the YvetteML into a directed acyclic graph
(DAG), and the YML workflow scheduler interprets the DAG to execute a workflow
application.
Figure 6 illustrates a workflow execution in the mSPMD programming model.
First, mpirun kicks the YML workflow scheduler. The YML workflow scheduler,
which has been linked with the OmniRPC-MPI library, interprets the DAG of
a workflow application and asks the invocation a task specified by YvetteML
compute (task-name) to the OmniRPC-MPI library. The OmniRPC-MPI library
finds a remote program which includes the specified task, and invokes the remote
program over the specified number of nodes by calling MPI_Comm_spawn, and
sends a request to perform the specific task.
While actual communications, node management, and task scheduling have been
supported by the OmniRPC-MPI library, the YML workflow scheduler schedules a
“logical” order of tasks based on the DAG of an application.
Fig. 6 A workflow execution of the mSPMD
