70 likes | 186 Views
JDL - Job Description Language Jazyk umožňujúci definovať úlohu spúšťanú v gride a špecifikovať pre ňu požadované vlastnosti a obmedzenia. Vysoko-úrovňový jazyk založený na ClassAd. R iadky vo formáte: Atribút = výraz; - pričom len posledný riadok je ukončený bodkočiarkou.
E N D
JDL - Job Description Language Jazyk umožňujúci definovať úlohu spúšťanú v gride a špecifikovať pre ňu požadované vlastnosti a obmedzenia.
Vysoko-úrovňový jazyk založený na ClassAd. Riadky vo formáte: Atribút = výraz; - pričom len posledný riadok je ukončený bodkočiarkou. Úvodzovkami ohraničené výrazy. Komentáre: Jednoriadkové # alebo // Viacriadkové uzavreté medzi /* a /* Medzery a tabulátory nepovolené za žiadnou bodkočiarkou, ani apostrof.
Druhy úloh podporované WMS: Job - jednoduchá úloha DAG - priamy acyklický graf závislých úloh -> Collection - súbor nezávislých úloh
Typy úloh: • Normal - jednoduchá dávková úloha • Interactive - interaktívna • MPICH - paralelná aplikácia používajúca implementaciu MPI • Parametric - obsahujúca parametrické atribúty • Interactive a job whose standard streams are forwarded to the submitting client: • MPICH a parallel application using MPICH-P4 implementation of MPI • Partitionable a job that can be thought as composed by a set of independent steps/iterations, i.e. a set of independent sub-jobs, each one taking care of a step or of a sub-set of steps, and which can be executed in parallel • Checkpointable a job able to save its state, so that the job execution can be suspended, and resumed later, starting from the same point where it was first stopped • KUKNUT NA TO!!!!!!!!!!!!!!
Základné atribúty JDL súboru: Type - druh úlohy, štandardne Job JobType - detailnejší popis úlohy Executable - vykonateľný súbor Arguments - potrebné argumenty StdInput - štandardný vstup StdErr - názov súbory, do ktorého sa uložia chyby InputSandbox - cesta súborov potrebných na vykonanie úlohy OutputSandbox - výstupné súbory Requirements - požiadavky a obmedzenia na zdroje
Napr.: Executable = "/bin/echo"; Arguments = "Hello World"; StdOutput = "message.txt"; StdError = "stderror"; OutputSandbox = {"message.txt","stderror"}; alebo Type = "job"; JobType = "parametric"; Executable = "sim.exe"; VirtualOrganisation = „Gilda"; StdInput = "input_PARAM_.txt"; StdOutput = "output_PARAM_.txt"; Parameters = 10; ParameterStart = 1; ParameterStep = 1; InputSandbox = {"file:///home/user/sim.exe", "file:///home/user/data/input_PARAM_.txt"; OutputSandbox = "output_PARAM_.txt";
Tybe = "Job"; JobType = "Normal"; Executable = "test.sh"; Arguments = "fileA fileB"; StdOutput = "std.out"; StdError = "std.err"; InputSandbox = {"test.sh", "fileA", "fileB"}; OutputSandbox = {"std.out", "std.err"}; test.sh: #!/bin/sh echo "First file:" cat $1 echo "Second file:" cat $2