Changes between Version 61 and Version 62 of Tutorial/JobSubm
- Timestamp:
- Jun 12, 2008, 6:14:18 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorial/JobSubm
v61 v62 400 400 === DAG jobs (chainage de jobs) === 401 401 402 Un ' DAG (directed acyclic graph) job' représente un ensemble de jobs pour lesquels l'exécution d'un ou de plusieurs jobs depend de l'exécution de un ou plusieurs autres jobs. Un DAG job permet de chainer l'exécution d'un ensemble de jobs.402 Un ''DAG (directed acyclic graph) job'' représente un ensemble de jobs pour lesquels l'exécution d'un ou de plusieurs jobs depend de l'exécution de un ou plusieurs autres jobs. Un DAG job permet de chainer l'exécution d'un ensemble de jobs. 403 403 404 404 Dans le graph (DAG) les jobs (ou sub-jobs) sont les noeuds (nodes) et les arcs correspondent au dependances. … … 406 406 Les attributs JDL indispensables dans le DAG job sont : 407 407 408 * ' nodes' : permet de spécifier les différents nodes. Le nom du node est une408 * ''nodes'' : permet de spécifier les différents nodes. Le nom du node est une 409 409 chaine au choix (ex: nodeA, Calcul1, JobSimulation). 410 * ' file' : permet d'indiquer le nom du fichier contenant le JDL d'un node411 * ' dependencies' : permet de définir les dependances entre les jobs412 * ' description' : permet d'écrire directement le JDL d'un node plutôt que d'utiliser l'attribut file410 * ''file'' : permet d'indiquer le nom du fichier contenant le JDL d'un node 411 * ''dependencies'' : permet de définir les dependances entre les jobs 412 * ''description'' : permet d'écrire directement le JDL d'un node plutôt que d'utiliser l'attribut file 413 413 414 414 __Remarques__ 415 415 416 * La ' InputSandbox' du DAG est partagée par tous les nodes qui n'en ont pas416 * La ''InputSandbox'' du DAG est partagée par tous les nodes qui n'en ont pas 417 417 * Les nodes qui n'ont pas besoin de InputSandbox doivent avoir dans leur .jdl 418 418 {{{ 419 419 InputSandbox = {}; 420 420 }}} 421 * Le .jdl du DAG job ne doit pas contenir d'attribut ' OutputSandbox'. Seul les nodes peuvent avoir cet attribut.422 * Un node peut accéder aux ' InputSandbox' du DAG job ainsi qu'aux 'OutputSandbox' des autres jobs terminés avant lui.421 * Le .jdl du DAG job ne doit pas contenir d'attribut ''OutputSandbox''. Seul les nodes peuvent avoir cet attribut. 422 * Un node peut accéder aux ''InputSandbox'' du DAG job ainsi qu'aux ''OutputSandbox'' des autres jobs terminés avant lui. 423 423 * Pour que tous les nodes s'exectuent sur le même CE, mettre dans le .jdl. 424 424 {{{ … … 465 465 }}} 466 466 467 'file' précise le fichier contenant le JDL de chaque node. Examinons les JDL des nodes.467 L'attribut ''file'' précise le fichier contenant le JDL de chaque node. Examinons les JDL des nodes. 468 468 469 469 __JDL de nodeA__ … … 487 487 }}} 488 488 489 nodeA a sa propre ' InputSandbox' mais peut inclure en plus la 'InputSandbox'490 du DAG via la variable ' root.InputSandbox'. Ainsi il peut accéder ici par491 exemple au fichier DAGInput.txt compris dans la ' InputSandbox' du DAG job.489 nodeA a sa propre ''InputSandbox'' mais peut inclure en plus la ''InputSandbox'' 490 du DAG via la variable ''root.InputSandbox''. Ainsi il peut accéder ici par 491 exemple au fichier DAGInput.txt compris dans la ''InputSandbox'' du DAG job. 492 492 493 493 __JDL de nodeB__ … … 510 510 }}} 511 511 512 On voit que nodeB peut accéder au fichier de sortie de nodeA via root.nodes.nodeA.description.OutputSandbox[2]qui est le 3ème fichier de la OutputSandbox du JDL (description) de nodeA du DAG (root);513 514 Dans les fichiers exécutables (' Executable'), il suffit de récupérer les arguments ('Arguments') et de faire le traitement souhaité.512 On voit que nodeB peut accéder au fichier de sortie de nodeA via ''root.nodes.nodeA.description.OutputSandbox[2]'' qui est le 3ème fichier de la OutputSandbox du JDL (description) de nodeA du DAG (root); 513 514 Dans les fichiers exécutables (''Executable''), il suffit de récupérer les arguments (''Arguments'') et de faire le traitement souhaité. 515 515 516 516 La soumission d'un DAG job se fait comme pour un job normal. On obtient un <dagID> qui permet de controler le dag. … … 591 591 592 592 }}} 593 594 595 596 597 598 593 599 594 === Examen en temps réel des fichiers de sortie : Job Perusal ===