Table of Contents

Softwares

Workflow Management System in DIET

A new agent called the MADAG is used to manage workflows in the DIET architecture. This agent receives requests from clients containing the description of a workflow in a specific language (the MADAG XML workflow language). The role of the MADAG is to determine how to schedule the tasks contained in the workflow in order to follow the precedence and data constraints between tasks, and how to map the tasks to appropriate resources in the DIET hierarchy.

see this video to understand how the MA_DAG provides Workflow support to the Client throught the diet_wf_call API.

Workflow description

A workflow application is considered as a Directed Acyclic Graph (DAG) The workflow is described with an XML representation which is close to Diet pro file representation. In addition to profi le description (problem path and arguments), this description represents also the data dependencies between ports (source/sink), the node identi fier (unique) and the precedences between nodes. This last information can be removed since it can be retrieved from the dependencies between ports, however it can be useful to defi ne a temporal dependency without port linking. The general structure of this description is: <dag>

<node id=“…” path=“…”>

<arg name=“…” type=“……..” value=“..”/>

<in name=“…” type=“……..” source=“…….”/>

<out name=“….” type=“……..” sink=“……”/>

<out name=“….” type=“……..” sink=“……”/>

</node>

….

Workflow scheduler in the MA_DAG

The main idea of the MA_DAG is to provide a common point for clients to deal with concurrent workflow submissions to the DIET hierarchy. If the MA_DAG becomes a bottleneck, multiple MA_DAG can be connected to the DIET hierarchy, but in this case the multi-workflow scheduling behavior is lost.

The available MA_DAG workflow schedulers are:

All these heuristics are based on HEFT : rank the task then select the appropriate resource to compute the task. It is important to notice that all these heuristics provide the same scheduling if there are no concurrent workflows submission. The workflow schedulers (Basic, Multi-HEFT, Multi-AgingHEFT, FOFT and SRPT) use dynamic information provided by the SeDs to be able to run the HEFT heuristic. The SeD programmer must provide the required data in the estimation vector by implementing a plugin scheduler into DIET. Some basic examples are given in the DIET distribution. You can find more information about DIET on the web pages of the project. You can also download the new version of DIET-2.3 which have all support for workflow execution.