ARC

The acronym ARC stands for Advanced Resource Connector. It is a grid computing middleware developed and maintained by NorduGrid. Durham has an ARC Computing Element (CE) grid front-end on top of the cluster. This page contains information how to submit to any available ARC CE using ARC client tools.

1. Creating a proxy with ARC tools

A 24h hour proxy certificate with VOMS extension is created as

arcproxy -S pheno -c validityPeriod=24h -c vomsACvalidityPeriod=24h

2. Job description

The user needs to write instructions for ARC, so that it knows what to do on the actual node and which files to send with the submission. To parse job options and definitions, ARC uses the extended Resource Specification Language (xRSL). Here is a simple example (submit.xrsl) which will do the job for our c++ example.

&
(executable = "simple")
(arguments = "input.txt")
(jobName="TestJob")
(inputFiles = ("input.txt" "") )
(outputFiles = ("output.txt" "") )
(stdout = "stdout")
(stderr = "stderr") 
(walltime="240")
(count="1")
(countpernode="1")

More about the syntax and rules can be found from the documentation http://www.nordugrid.org/documents/xrsl.pdf.

3. Submission

The next step is to submit the job invoking the arcsub command. In addition to the xRSL file, the user needs to specify to computing element he or she is submitting using the -c option.

arcsub -c ce1.dur.scotgrid.ac.uk submit.xrsl

During the submission, all the information about the job is stored into a job database. The defaul job database is located at ~/.arc/jobs.dat. With the -j option one can define a separate job database.

arcsub -j jobs.xml -c ce1.dur.scotgrid.ac.uk submit.xrsl

This can be useful in order to keep track of different sets of jobs. If needed, the job database can be reconstructed later on using the arcsync command

arcsync -j jobs.xml -c ce1.dur.scotgrid.ac.uk

This creates a job database with all users jobs on the specified CE.

4. Job managment

After submission, the arcsub command will print out a jobid for the submitted job. As mentioned earlier, this id is also stored in the job database. In order to make a query of a status of the job, use the arcstat command

arcstat -j jobs.xml

This will print out the status of all the jobs in the database. If you want to find the status of a specific job, use its id

arcstat -j jobs.xml <jobid>

After submission, it can take some time before this job reaches the information system.

Possible job status (depending on the middleware)

  • Accepted
  • Preparing
  • Running
  • Finishing
  • Finished
  • Failed
  • Deleted
  • ...

When a job has finished, you can download the outpu with arcget. It will dowload all the output files, specified in the submission script, and clean up the information system and the job database.

arcget -j jobs.xml (<jobid>)

If you want to terminate a run, use arckill

arckill -j jobs.xml (<jobid>)

More about the command line client tools can be found from the documentation http://www.nordugrid.org/documents/arc-ui.pdf.