Grid Services

Jobs can be submitted to grid resources using the ARC tools, which are available in CVMFS. Our colleagues in Durham have written a good introductory tutorial; a summary of the steps required to submit and manage jobs, adapted for Glasgow users, is given below.

ARC tools

The tools required for grid job submission and management are available from CVMFS:

export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh'
setupATLAS

lsetup emi

If you plan to submit jobs to the ScotGrid VO, at present you must also amend the X509_VOMSES environment variable as follows:

export X509_VOMSES=/etc/vomses

Certificates and proxies

To use grid resources, you will need a certificate, from which you can generate a proxy certificate. The proxy certificate has a relatively short lifetime, and is used to actually submit the job. A proxy is associated with a particular Virtual Organisation (VO), for example vo.scotgrid.ac.uk, which is selected when it is created. You can generate a proxy using the arcproxy command:

$ arcproxy -S <VO_ALIAS> -N

For example, to generate a proxy for the vo.scotgrid.ac.uk VO:

$ arcproxy -S vo.scotgrid.ac.uk -N
Your identity: /C=UK/O=eScience/OU=Glasgow/L=Compserv/CN=bugs bunny
Contacting VOMS server (named vo.scotgrid.ac.uk): voms.gridpp.ac.uk on port: 15509
Proxy generation succeeded
Your proxy is valid until: 2018-01-19 23:36:59

Job description (xRSL)

Before submitting a job, you need to create a file which describes the features of the job for ARC (its executable, the names of input and output files, what to do with logs, etc.). This file is written in the Extended Resource Specification Language (xRSL). A simple job description which runs a script called test.sh could look like this:

&
(executable = "test.sh")
(arguments = "")
(jobName = "TestJob")
(stdout = "stdout")
(stderr = "stderr")
(gmlog = "test.log")
(walltime="60")

A full description of xRSL can be found in the ARC reference manual:

http://www.nordugrid.org/documents/xrsl.pdf

Submitting a job

Jobs are submitted to a Compute Element (CE). The ScotGrid site at Glasgow has four CEs:

svr009.gla.scotgrid.ac.uk
svr010.gla.scotgrid.ac.uk
svr011.gla.scotgrid.ac.uk
svr019.gla.scotgrid.ac.uk

It does not matter which CE you choose to submit to. (If you've looked at the tutorial linked above, you'll see that Durham gave their CEs the sensible names ce1, ce2, etc. We thought that would be too easy.)

Jobs are submitted using the arcsub command:

$ arcsub -c <CE_HOSTNAME> <XRSL_FILENAME>

For example, to submit test.xrsl to svr011 at Glasgow:

$ arcsub -c svr011.gla.scotgrid.ac.uk test.xrsl
Job submitted with jobid: gsiftp://svr011.gla.scotgrid.ac.uk:2811/jobs/NCKLDmEQkwrnZ4eC5pmRAbBiTBFKDmABFKDmpMFKDmABFKDmQffBxy

When a job is submitted successfully, you will be presented with its job ID which can be used to refer to the job later. Information about submitted jobs is also recorded in a job list file; by default, this file is ~/.arc/jobs.dat (~/.arc/jobs.xml with some versions of ARC), but you can choose a different location by supplying the -j argument to arcsub:

$ arcsub -j <JOBLIST_FILENAME> -c <CE_HOSTNAME> <XRSL_FILENAME>

For example:

$ arcsub -j test.dat -c svr011.gla.scotgrid.ac.uk test.xrsl

Querying the status of a job

You can obtain information about the status of jobs using the arcstat command:

$ arcstat <JOB_ID>

For example, to obtain information about the job submitted in the previous step:

$ arcstat gsiftp://svr011.gla.scotgrid.ac.uk:2811/jobs/NCKLDmEQkwrnZ4eC5pmRAbBiTBFKDmABFKDmpMFKDmABFKDmQffBxy
Job: gsiftp://svr011.gla.scotgrid.ac.uk:2811/jobs/NCKLDmEQkwrnZ4eC5pmRAbBiTBFKDmABFKDmpMFKDmABFKDmQffBxy
 Name: StageJob
 State: Queuing

Status of 1 jobs was queried, 1 jobs returned information

You may have to wait a few minutes after submitting a job before status information becomes available.

You can also query the status of all jobs in a job list file:

$ arcstat -j <JOBLIST_FILENAME>

Retrieving job output

Output and log files for a job can be retrieved using the arcget command. As when querying the status of a job, you can use either a job ID or a job list file with this command:

$ arcget <JOB_ID>
$ arcget -j <JOBLIST_FILENAME>

For example, to get the output of the job submitted above:

$ arcget gsiftp://svr011.gla.scotgrid.ac.uk:2811/jobs/NCKLDmEQkwrnZ4eC5pmRAbBiTBFKDmABFKDmpMFKDmABFKDmQffBxy
Results stored at: p6vLDmj3kwrnZ4eC3pmXXsQmABFKDmABFKDm9pFKDmABFKDmtVM1wm
Jobs processed: 1, successfully retrieved: 1, successfully cleaned: 1

You will only be able to retrieve job output once the job has finished.

Topic revision: r15 - 2018-01-19 - GordonStewart
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback