Advanced gLite: DAG Jobs
[
Type = "dag";
nodes = {
Job1 = [
description = [
...
OutputSandbox = { "output1" };
];
];
Job2 = [
description = [
...
OutputSandbox = { "output2" };
];
];
Job3 = [
description = [
...
InputSandbox = {
root.nodes.Job1.description.OutputSandbox[0],
root.nodes.Job2.description.OutputSandbox[0]
};
];
];
};
dependencies = {
{{Job1, Job2}, Job3}
};
]
|
|
A job may be composed of "subjobs" whose dependencies form a
directed acyclic graph (DAG):
- nodes: list of subjobs representing the overall job.
description: JDL description of each job.
- dependencies: for each job J, the list of jobs that
must terminate before the execution of J can start.
Job3 can only start after both Job1 and
Job2 have successfully terminated.
- File in the OutputSandbox of one job may be part of the
InputSandbox of another job.
-
Job3 reads the files output1 produced by
Job1 and output2 produced by Job2.
-
InputSandbox of Job3 refers to the files in the
OutputSandbox of Job1 and Job2.
gLite provides support for simple job "workflows".
|