FESR Consorzio COMETA - Progetto PI2S2 Job Description Language (JDL) Marcello Iacono Manno PRIMO TUTORIAL.

Slides:



Advertisements
Similar presentations
FP62004Infrastructures6-SSA E-infrastructure shared between Europe and Latin America Special Jobs Claudio Cherubino INFN Catania.
Advertisements

EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Hands on Job Services.
INFSO-RI Enabling Grids for E-sciencE Workload Management System and Job Description Language.
FESR Consorzio COMETA - Progetto PI2S2 The gLite Workload Management System Annamaria Muoio INFN Catania Italy
Job Submission The European DataGrid Project Team
Development of test suites for the certification of EGEE-II Grid middleware Task 2: The development of testing procedures focused on special details of.
INFSO-RI Enabling Grids for E-sciencE Architecture of the gLite Workload Management System Giuseppe Andronico INFN EGEE Tutorial.
E-infrastructure shared between Europe and Latin America 12th EELA Tutorial for Users and System Administrators Architecture of the gLite.
INFSO-RI Enabling Grids for E-sciencE EGEE Middleware The Resource Broker EGEE project members.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Job Submission Fokke Dijkstra RuG/SARA Grid.
Special Jobs Claudio Cherubino INFN - Catania. 2 MPI jobs on gLite DAG Job Collection Parametric jobs Outline.
Querétaro (Mexico), E2GRIS – Job Description Language JDL 1.
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio COMETA
FP6−2004−Infrastructures−6-SSA E-infrastructure shared between Europe and Latin America Special Jobs Matias Zabaljauregui UNLP.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) WMPROXY API Python & C++ Diego Scardaci
Grid Initiatives for e-Science virtual communities in Europe and Latin America The Job Description Language JDL 1.
The gLite API – PART I Giuseppe LA ROCCA INFN Catania ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia.
Enabling Grids for E-sciencE Workload Management System on gLite middleware Matthieu Reichstadt CNRS/IN2P3 ACGRID School, Hanoi (Vietnam)
DataGrid WP1 Massimo Sgaravatto INFN Padova. WP1 (Grid Workload Management) Objective of the first DataGrid workpackage is (according to the project "Technical.
INFSO-RI Enabling Grids for E-sciencE Workload Management System Mike Mineter
- Distributed Analysis (07may02 - USA Grid SW BNL) Distributed Processing Craig E. Tull HCG/NERSC/LBNL (US) ATLAS Grid Software.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite job submission Fokke Dijkstra Donald.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Using gLite API Vladimir Dimitrov IPP-BAS “gLite middleware Application Developers.
INFSO-RI Enabling Grids for E-sciencE The gLite Workload Management System Elisabetta Molinari (INFN-Milan) on behalf of the JRA1.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Job Submission Fokke Dijkstra RuG/SARA Grid.
Architecture of the gLite WMS (Workload Management System) Hands-on Paola Celio Universita’ Roma TRE INFN Roma TRE Sevilla Septembre 2007.
EGEE is a project funded by the European Union under contract IST EGEE Tutorial Turin, January Job Services Emidio.
INFSO-RI Enabling Grids for E-sciencE Workflow Management in Giuseppe La Rocca INFN – Catania ICTP/INFM-Democritos Workshop on Porting.
INFSO-RI Enabling Grids for E-sciencE Claudio Cherubino, INFN Catania Grid Tutorial for users Merida, April 2006 Special jobs.
INFSO-RI Enabling Grids for E-sciencE Αthanasia Asiki Computing Systems Laboratory, National Technical.
INFSO-RI Enabling Grids for E-sciencE Job Workflows with gLite Emidio Giorgio INFN NA4 Generic Applications Meeting 10 January 2006.
INFSO-RI Enabling Grids for E-sciencE Job Submission Tutorial (material from INFN Catania)
Workload Management System Jason Shih WLCG T2 Asia Workshop Dec 2, 2006: TIFR.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks WMPROXY usage Álvaro Fernández IFIC (CSIC)
INFSO-RI Enabling Grids for E-sciencE EGEE is a project funded by the European Union under contract IST Job sandboxes.
INFSO-RI Enabling Grids for E-sciencE Job Description Language (JDL) Giuseppe La Rocca INFN First gLite tutorial on GILDA Catania,
INFSO-RI Enabling Grids for E-sciencE GILDA Praticals Giuseppe La Rocca INFN – Catania gLite Tutorial at the EGEE User Forum CERN.
EGEE is a project funded by the European Union under contract IST Job Description Language – How to control your Job Nadav Grossaug IsraGrid.
E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA Special Jobs Valeria Ardizzone INFN - Catania.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks WMS tricks & tips – further scripting Giuseppe.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Practical using WMProxy advanced job submission.
EGEE 3 rd conference - Athens – 20/04/2005 CREAM JDL vs JSDL Massimo Sgaravatto INFN - Padova.
Biomed tutorial 1 Enabling Grids for E-sciencE INFSO-RI EGEE is a project funded by the European Union under contract IST JDL Flavia.
User Interface UI TP: UI User Interface installation & configuration.
Istituto Nazionale di Astrofisica Information Technology Unit INAF-SI Job with data management Giuliano Taffoni.
GRID commands lines Original presentation from David Bouvet CC/IN2P3/CNRS.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) Advanced Job Riccardo Rotondo
Introduction to Computing Element HsiKai Wang Academia Sinica Grid Computing Center, Taiwan.
FESR Consorzio COMETA - Progetto PI2S2 Jobs with Input/Output data Fabio Scibilia, INFN - Catania, Italy Tutorial per utenti e.
FESR Consorzio COMETA - Progetto PI2S2 Using MPI to run parallel jobs on the Grid Marcello Iacono Manno Consorzio Cometa
Introduction to Job Description Language (JDL) Alessandro Costa INAF Catania Corso di Calcolo Parallelo Grid Computing Catania - ITALY September.
Enabling Grids for E-sciencE Work Load Management & Simple Job Submission Practical Shu-Ting Liao APROC, ASGC EGEE Tutorial.
FESR Trinacria Grid Virtual Laboratory Practical using WMProxy advanced job submission Emidio Giorgio INFN Catania.
Practical using C++ WMProxy API advanced job submission
Architecture of the gLite WMS
Workload Management System on gLite middleware
Special jobs with the gLite WMS
gLite Advanced Job Management
Workload Management System ( WMS )
The gLite Workload Management System
EGEE tutorial, Job Description Language - more control over your Job Assaf Gottlieb Tel-Aviv University EGEE is a project.
Alexandre Duarte CERN Fifth EELA Tutorial Santiago, 06/09-07/09,2006
gLite Job Management Mario Reale GARR
gLite Advanced Job Management
gLite Job Management Amina KHEDIMI CERIST
Workload Management System (WMS) & Job Description Language (JDL)
Job Description Language
GENIUS Grid portal Hands on
Job Description Language (JDL)
Job Submission M. Jouvin (LAL-Orsay)
Presentation transcript:

FESR Consorzio COMETA - Progetto PI2S2 Job Description Language (JDL) Marcello Iacono Manno PRIMO TUTORIAL GRID PER L’UNIVERSITA’ DI PALERMO Palermo, 10 Dicembre 2007

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL describes a job request to the WMS thus allowing the actual job submission descriptors are called attributes mandatory attributes are those describing the process resource descriptors are provided by the Information System (IS) following the Glue Schema Introduction to JDL

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL generalities JDL describes a request to the WMS JDL allows submission, cancellation, status query, output retrieval with either CLI or GUI two versions: legacy Network Server interface (socket) WMProxy (web service) job description: Condor classified advertisements (classads) descriptors are called attributes mandatory attributes: job fundamental descriptors resource attributes are related to the status and characteristics of grid resources Information Service (IS) schema (Glue for gLite)

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL format a list of entries enclosed by [ ] (each terminated by ;) entry: = | ; attribute: a string with the name of the attribute value: string “abc” a double-quoted string Integer 1234 Floating Point Boolean “true”,”false”,expression (see GLUESchema) classads (see nodes) list of values: enclosed by separated by { “abc”, “bcd”, “def” }

Palermo, Grid Tutorial per l'Universita' di Palermo, Request types Type = “Job”a simple job (default) “DAG” a Direct Acyclic Graph of dependent jobs “Collection”a set of independent jobs

Palermo, Grid Tutorial per l'Universita' di Palermo, JobType JobType = “Normal”a simple job “Interactive”a job whose standard streams are forwarded to the submitting client “MPICH”a MPI parallel job “Partitionable”a job composed by a set of independent steps / iterations for parallel execution “Checkpointable” a job able to save its state in order to be suspended and resumed from the same point “Parametric”a job with parametric attributes in its JDL to submit many similar instances with a single command (only parameterized attributes vary)

Palermo, Grid Tutorial per l'Universita' di Palermo, Executable Executable = the path for the command/exec file(*) “/usr/bin/java/j2sdk1.5.0/bin/java”, “/home/user/executable.exe” environment variables accepted(*) “$JAVA/bin/java” local or absolute paths accepted(*) “executable.exe” requires an identical file entry in the Input Sandbox remote files can be specified by gsiftp (local path exec) mandatory for all jobs wild cards not allowed arguments are reported in a dedicated attribute (*) on the executing WN

Palermo, Grid Tutorial per l'Universita' di Palermo, Arguments Arguments = the arguments for the executable file “-out outputfile.dat” together with: Executable = “execprog”; originates on the WN the command line: $ execprog -out outputfile.dat quotas (“”) have to follow a backslash(\) “ -a \”quoted string\” -bcd” becomes (with the above executable) $ execprog -a ”quoted string” -bcd

Palermo, Grid Tutorial per l'Universita' di Palermo, StdInput, StdOutput, StdError StdInput, StdOutput, StdError = the paths for the I/O/err file same rules as the ‘Executable’ attribute require identical entries in the Input/Output Sandboxes StdOutput and StdError can be the same file StdInput not required for Interactive jobs examples: StdInput = “/home/iacono/config.dat”; StdOutput = “gsiftp://grid999.ct.infn.it:1234/tmp/file.out”;

Palermo, Grid Tutorial per l'Universita' di Palermo, InputSandbox & OutputSandbox InputSandbox, OutputSandbox = identifying … the input file(s) to be copied from the local UI (or a gridFTP server) to the WN before starting execution the output file(s) to be prepared for downloading from WN after job execution completion ( transfer: glite-job-output ) wild cards admitted if solved locally LFN files not admitted (InputData or script–copy required) files in InputSandbox must not exceed 10 MB length different filenames required (same destination directory) examples: InputSandbox= { “myinp1.dat“, ”data/myinp2.dat” };

Palermo, Grid Tutorial per l'Universita' di Palermo, InputSandboxBaseURI & C. InputSandboxBaseURI, OutputSandboxBaseDestURI = modify the I/O Sandboxes root to a gridFTP server express the URI as a local file in I/O Sandboxes perform automatic retrieval upon job completion support for http files will be provided soon example: InputSandboxBaseURI =“gsiftp://grid999.ct.infn.it:1234:/tmp”; modifies the meaning of InputSandbox = “myfile.dat”; into: InputSandbox = “gsiftp://grid999.ct.infn.it:1234/tmp/myfile.dat”; OutputSandboxDestURI = modify the root of each entry in OutputSandbox when gsiftp is used require same cardinality compared to OuputSanbox perform automatic file downloading at job completion not compatible with OutputSandboxBaseDestURI

Palermo, Grid Tutorial per l'Universita' di Palermo, ExpiryTime & Environment ExpiryTime = a job with no matching CE at submission time is held to retry matchmaking and aborted after 1 day of unsuccessful retries expiry time modifies this default duration expressed in seconds since epoch glite-job-submit allows an user-friendly format Environment = describe the environment variables string format: = example: Environment = { “JOB_LOG_FILE=/tmp/job.log”, “INP_DIR=/tmp/input_files” };

Palermo, Grid Tutorial per l'Universita' di Palermo, PerusalFileEnable,PerusalTimeInterval & PerusalFileDestURI PerusalFileEnable = enable job file perusal support (runtime output files inspection) example: PerusalFileEnable = “true”; PerusalTimeInterval = the interval length in seconds between two following savings example: PerusalTimeInterval = 10; PerusalFileDestURI = a string with the URI of a gridFTP or https server

Palermo, Grid Tutorial per l'Universita' di Palermo, InputData InputData = identify LFNs, GUIDs, LDs and/or queries query the related Data Catalog to retrieve PFNs input queried files into WN current directory influence the WMS matchmaking decision example: InputData = { “lfn:/grid/gilda/isospin.dat”, “guid:135b7b23-4a6a-87e7-9d101f8c8b70”, “lds:testfile.inp” // LDS catalog “query: select my_files”, // LDS catalog “si-lfn:/file.inp” /* StorageIndex catalog */ }; when catalog is not specified (first two entries), if StorageIndex attribute is declared, then the pointed catalog is used, otherwise WMS tries first RLS and then DLI

Palermo, Grid Tutorial per l'Universita' di Palermo, StorageIndex = (*) the endpoint URL of the StorageIndex (SI) service to resolve file names for si-lfn: or si-guid: files in InputData when StorageIndex is not specified, the VO default SI is used example: StorageIndex = " catalog-service-fr-mysql/services/SEIndex" StorageIndex & DataCatalog DataCatalog = (*) the endpoint URL of the RLS or DLI service to be used to resolve file names example: DataCatalog = “ service-fr-mysql/services/FiremanCatalog"; (*) for usage with InputData only

Palermo, Grid Tutorial per l'Universita' di Palermo, OutputSE & OutputData OutputSE = a string representing the URL of a SE for output data storing influence the matchmaking decision by the RB example: OutputSE = “grid009.ct.infn.it”; OutputData = (*) list of classads describing output files similar to DataRequirements automatic upload output files upon job completion (*) not yet supported

Palermo, Grid Tutorial per l'Universita' di Palermo, DataAccessProtocol & DataRequirements DataAccessProtocol = the protocols to be used to retrieve files (mandatory when InputData is defined) example: DataAccessProtocol = { “file”, “gridftp” }; DataRequirements = data requirements for a job example: DataRequirements = { [ DataCatalogType = “...” ; DataCatalog = “ InputData = { “lfn:…”, “guid:…”, “lds:…”, “query:…” }; ], [ DataCatalogType = “SI”; …. ] };

Palermo, Grid Tutorial per l'Universita' di Palermo, VirtualOrganisation, RetryCount & ShallowRetryCount VirtualOrganisation = the name of the VO has to match with the WMS default (?) overwritten by –vo option in glite-job-submit example: VirtualOrganisation = “gilda”; RetryCount, ShallowRetryCount = indicate how many times the job must be re-submitted upon a failure due to some grid resources not valid for DAG / Collection limited by the MaxRetryCount parameter of WMS resubmission is ‘shallow’ if user job aborted before running ‘deep’ resubmission resets shallow retry count

Palermo, Grid Tutorial per l'Universita' di Palermo, LBAddress & VOMSProxyServer LBAddress = the address of LB format: [: ] default taken from WMS configuration (port = 9000) example: LBAddress = “lb-grid.ct.infn.it“; MyProxyServer = the address of the proxy server automatic renewal of proxy certificate (long jobs) port defaults to 7512 example: MyProxyServer = “grid001.ct.infn.it:7512”;

Palermo, Grid Tutorial per l'Universita' di Palermo, HLRLocation & JobProvenance HLRLocation = the user Home Location Register (HLR) HLR manages the economic transaction takes into for resource usage bills the job on the user account example: HLRLocation = “prod-hlr-01.ct.infn.it” JobProvenance = the endpoint URL of the JobProvenance service where data about the job have to be stored the WMS sends to this destination the job sandboxes files

Palermo, Grid Tutorial per l'Universita' di Palermo, NodeNumber & ListenerPort NodeNumber = an integer >1 specifying how many CPUs are needed for a MPI job mandatory for JobType = “MPICH” example: NodeNumber = 3; ListenerPort = the port number where condor_console_shadow listens for job standard streams for usage with JobType = ‘Interactive’ example: ListenerPort = 44000;

Palermo, Grid Tutorial per l'Universita' di Palermo, ListenerHost & ListenerPipeName ListenerHost = the host name on which the condor_console_shadow listens for job standard streams for usage with JobType = “Interactive” it is used when submission and interactive session are on different machines ListenerPipeName = the absolute path of the pipes where job standard streams are located example: ListenerPipeName = “/tmp/pipe”; means: stdin=/tmp/pipe.in, stdout=/tmp/pipe.out (default=/tmp/listener/ )

Palermo, Grid Tutorial per l'Universita' di Palermo, JobSteps JobSteps = either an integer representing the number of steps to run or a string list with the labels associated to the steps of a partitionable or checkpointable job the main stepper is a part of the user job (not WMS) that links it to the run time checkpointing library if also specified in JobState classad, this definition prevails examples: JobSteps = 1000 ; (runs 1000 steps of main stepper) JobSteps = { “a”,”b”,”c” }; (runs sections “a”, “b”, “c” of main stepper)

Palermo, Grid Tutorial per l'Universita' di Palermo, CurrentStep & JobState CurrentStep = an integer number (>0) indicating the step number to be taken as the initial one when submitting a checkpointable or partitionable job example: CurrentStep = 2; (default=0) JobState = a job checkpoint state to start with when submitting a checkpointable job example: JobState = [ JobSteps = 1000; CurrentStep = 350; UserData = [ DumpPath=“gsiftp://grid999.ct.infn.it:1234/tmp/dumpfile” ] ]

Palermo, Grid Tutorial per l'Universita' di Palermo, GLUESchema GLUESchema (Grid Logical Uniform Environment) an information model to describe grid sites and services independent from specific implementation syntax. examples: entity = property = Requirements = other.GlueCEUniqueID == "grid010.ct.infn.it:2119/jobmanager-lcgpbs-infinite" Requirements = other.GlueCEInfoLRMSType == "PBS" || other.GlueCEInfoLRMSType == "LSF"

Palermo, Grid Tutorial per l'Universita' di Palermo, Requirements & UserTags Requirements = a Boolean classad expression with C-like operators describe job requirement on resources (CE) attributes according to the GlueSchema CE requirements attributes in the IS begin with prefix “other.” example: Requirements = other.GlueCEInfoTotalCPUs > 2 && other.GlueCEPolicyMaxRunningJobs < 2; UserTags = a classad attribute that allows the user to specify user-defined key, value pairs (values must be strings) tags can be used to query the LB

Palermo, Grid Tutorial per l'Universita' di Palermo, Rank & FuzzyRank Rank = a classad Floating Point expression showing the rank of each CE matching the Requirements expression the highest rank CE will be selected for job execution examples: Rank = other.GlueCEPolicyMaxRunningJobs -other.GlueCEStateRunningJobs; (CE with the greatest number of free slots) Rank = - other.GlueCEStateEstimateResponseTime (CE with the estimated shortest travel time through the local batch system queue) FuzzyRank = a Boolean attribute for the fuzzyfication of ranking attribution defaults to false

Palermo, Grid Tutorial per l'Universita' di Palermo, DAG Attributes changes DAG Attributes changes: Type and VirtualOrganisation: become mandatory attributes JobType: cannot be Partitionable or CheckPointable HLRLocation, LBAddress, MyProxyServer and JobProvenance: must be the same for all the nodes AllowZippedISB: creates a compressed InputSandbox for the whole DAG PerusalFileEnable: if declared for a node is extended to the others UserTags, Requirements and Rank: apply to the whole DAG only InputSandbox, InputSandboxBaseURI and OuputSandboxBaseURI: values declared for the whole DAG are inherited by single nodes

Palermo, Grid Tutorial per l'Universita' di Palermo, Nodes (1/2) Nodes = classads describe nodes and their dependencies example : nodes = [ a = [ /* node “a” */ description = [ description: a classad JobType = “Normal”; containing a JDL file Executable = “a.exe”; to describe a node InputSandbox = {…}; ]; b = [ /* node “b” */ file = node_b,jdl;file: a string indicating ];the absolute path of a … JDL file describing a node ];

Palermo, Grid Tutorial per l'Universita' di Palermo, Nodes (2/2) & max_nodes_running dependencies = a list describing dependencies, strings are node names format:{ { { a, b }, c }, { c, d } } means that node “c” depends on nodes “a” and “b” and node “d” depends on node ”c” example : dependencies = { { a, b };// node “b” depends on node “a” { a, c };// node “c” depends on node “a” { a, d };// node “d” depends on node “a” { { c, d }, e };// node “e” depend on nodes “c” and “d” }; max_nodes_running = an Integer > 0 representing the maximum number of nodes that can be submitted simultaneously by DAGMan

Palermo, Grid Tutorial per l'Universita' di Palermo, Partitionable Jobs PARTITIONABLE JOBS a partitionable job has 3 steps pre-job (node “a”) sub-jobs (nodes “b”,”c”,”d”) post-job (node “e”) sub-jobs are independent each other WMS transforms it into a DAG must also be a checkpointable job JobSteps (see slide22) is used to distribute M sub-jobs into N steps (with M < N; same weight is assumed for all the sub-jobs)

Palermo, Grid Tutorial per l'Universita' di Palermo, StepWeight, PreJob & PostJob StepWeight = a list of “weights” to help job partitioning example: StepWeight = { 7.5, 15, 55, 15, 7.5 }; PreJob, PostJob = classads for pre- and post-job description example: PreJob = [ Type = “Job”;JobType = “Normal”; VirtualOrganisation = “gilda”;Executable = “pre-job.exe”; ];

Palermo, Grid Tutorial per l'Universita' di Palermo, Parametric Jobs Job = “Parametric” results in the submission of sets of identical jobs except for a parameter varying from a job to another each job receives a different jobID so… it is possible to trace it separately from the others but… parametric job handle allows a common treating a special variable (_PARAM_) marks variable items amongst JDL attributes _PARAM_ assumes numerical values or a list of declared values (strings)

Palermo, Grid Tutorial per l'Universita' di Palermo, ParameterStart, ParameterStep, Parameters, NodesCollocation Parameters = an Integer to indicate the number of steps or a list of strings (each of them is the name of a step) ParameterStart, ParameterStep = ParameterStart indicates the initial step ParameterStep indicates the amount of increment between two subsequent values of _PARAM_ NodesCollocation = if true all the job instances are sent to the same CE

Palermo, Grid Tutorial per l'Universita' di Palermo, Job Collections Job = “Collection” a set of independent jobs that must be submitted, monitored and controlled as a single request similar to a DAG, but without dependencies all the clauses for DAGs are extended to Collections nodes are treated by classads attributes are referred to the whole Collection an inherit mechanism is also present

Palermo, Grid Tutorial per l'Universita' di Palermo, GangMatching Requirements = anyMatch ( ) | whichMatch( ) | allMatch ( ) RB uses classads to perform matchmacking job and CE are usually the only involved entities if also SE is to be considered, a more general mechanism is provided with new classad built-in functions example: Requirements = anyMatch( other.storage.CloseSEs, target.GlueSAStateAvailableSpace > 200) forces RB to select a CE close to a SE with >200 MBs of available space

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL EXAMPLES 1 – 2 / 4 Example 1 hostname.jdl Type = “Job”; JobType = “Normal”; Executable = “/bin/sh/”; Arguments = “start_hostname.sh”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = “start_hostname.sh”; OutputSandbox = {“stderr.log”,”stdout.log”}; RetryCount = 7; Requirements = other.GlueCEInfoLRMSType == “PBS”; Rank = other.GlueCEStateFreeCPUs; start_hostname.sh #!/bin/bash hostname –f Example 2 mpi.jdl Type = "Job"; JobType = "MPICH"; Executable = "MPItest.sh"; Arguments = "cpi 2"; NodeNumber = 2; StdOutput = "test.out"; StdError = "test.err"; InputSandbox = {"MPItest.sh","cpi"}; OutputSandbox = { "test.err","test.out","executable.out“ }; Requirements = other.GlueCEInfoLRMSType == "PBS" || other.GlueCEInfoLRMSType == "LSF";

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL EXAMPLES / 4 Example 3 DAG.jdl [ type = "dag"; max_nodes_running = 2; nodes = [ b = [ file = "hostname.jdl"; ]; a = [ file = "hostname.jdl"; ]; dependencies = { {a, b}} ]; ] Example 4 interactive.jdl Type = "Job"; JobType = "Interactive"; Executable = "scriptint.sh"; InputSandbox = {"scriptint.sh"}; ListenerPort=24780; scriptint.sh #!/bin/sh echo "Welcome!" sleep 1 echo "What is your name?" read A echo "Bye Bye $A" exit 0

Palermo, Grid Tutorial per l'Universita' di Palermo, JDL EXAMPLES / 2 (extra) Example 1 extra inputdata.jdl Type="Job"; JobType="Normal"; Executable="a.sh"; StdOutput="a.out"; StdError="a.err"; DataCatalogType = "LSF"; DataAccessProtocol = { "file","gsiftp" }; InputData = "lfn:/grid/gilda/isospin452.dat"; OutputSandbox = { "a.out", "a.err" }; Example 2 extra parametric.jdl Type = “Job”; JobType = “Paramteric”; Executable = “executable.exe”; Parameters = 10; ParameterStart = 1; ParameterStep = 1; StdInput = “input_PARAM_.txt” StdOutput = “output_PARAM_.txt”; StdError = “error_PARAM_.txt”; InputSandbox = { “executable.exe”, “input_PARAM_.txt” }; OutputSandbox={“output_PARAM_.txt” “error_PARAM_.txt”};

Palermo, Grid Tutorial per l'Universita' di Palermo, Documentation JDL (submission via WMS Netrwork Server) JDL (submission via WMS WMProxy) GLUESchema CONDOR classads