gLite Job Management Christos Theodosiou (ctheodos@grid.auth.gr) User and Application Support Scientific Computing Centre @ AUTH
Overview Description of Grid Infrastructure Design of a batch job Submission and Management of a job Two basic examples
Grid core services
Grid clusters
Job life cycle
Job life cycle
New proxy certificate creation with12 hours lifetime Proxy creation voms-proxy-init -voms <VO> New proxy certificate creation with12 hours lifetime
Job preparation Create executable file[s] Collect necessary input files Create .jdl file
Simple example Simple job.jdl sample. Executable = "/bin/hostname"; Arguments = "-f"; StdOutput = "std.out"; StdError = "std.err"; OutputSandbox = {"std.err","std.out"}; Simple job.jdl sample.
Job Submission Find available resources for .jdl Submit job Check job status Retrieve output
List matching resources glite-wms-job-list-match -a job.jdl List all available resources that match the prescribed .jdl
JobID file contains unique ID of the submitted job Job submission glite-wms-job-submit -a -o JobID first.jdl JobID file contains unique ID of the submitted job
Status check glite-wms-job-status -i JobID JobID file created in submission Possible values of status: Waiting, Ready, Running, Aborted, Canceled, Done, Clear.
JobID file created in submission Change status value to Canceled. Job cancellation glite-wms-job-cancel -i JobID JobID file created in submission Change status value to Canceled.
Output retrieval glite-wms-job-output -i JobID --dir results The files defined by OutputSandbox variable in .jdl (i.e. "std.err","std.out") will be stored in results directory.
Prints the name of the worker node of the Job. $ wn036.grid.auth.gr Output check cat results/std.out Prints the name of the worker node of the Job. $ wn036.grid.auth.gr
A script job needed to be executed An other example #!/bin/bash # Print Coordinated Universal Time date --utc # Print the name of the host hostname -f A script job needed to be executed
InputSandbox variable added. An other example Executable = "script.sh"; InputSandbox = {"script.sh"}; StdOutput = "std.out"; StdError = "std.err"; OutputSandbox = {"std.err","std.out"}; InputSandbox variable added.
Job Submission (..again) Find available resources for .jdl Submit job Check job status Retrieve output glite-wms-job-list-match -a job.jdl glite-wms-job-submit -a -o NewJobID job.jdl glite-wms-job-status -i NewJobID glite-wms-job-output -i NewJobID --dir new_results
Output check Wed May 20 09:23:20 UTC 2011 wn031.grid.auth.gr cat new_results/std.out Wed May 20 09:23:20 UTC 2011 wn031.grid.auth.gr