GLITE Tutorial

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".

EGEE JKU RISC