ARCComputingElement

ARC Computing Element

Using the ARC API now

Configuration Parameters

Configuration for the ARCComputingElement submission can be done via the configuration system. See the page about configuring Resources / Computing for where the options can be placed.

XRSLExtraString:

Default additional string for ARC submit files. Should be written in the following format:

(key = "value")
XRSLMPExtraString:

Default additional string for ARC submit files for multi-processor jobs. Should be written in the following format:

(key = "value")
Host:

The host for the ARC CE, used to overwrite the CE name.

WorkingDirectory:

Directory where the pilot log files are stored locally. For instance:

/opt/dirac/pro/runit/WorkloadManagement/SiteDirectorArc
EndpointType:

Name of the protocol to use to interact with ARC services: Emies and Gridftp are supported. Gridftp communicates with gridftpd services providing authentication and encryption for file transfers. ARC developers are going to drop it in the future. Emies is another protocol that allows to interact with A-REX services that provide additional features (support of OIDC tokens).

Preamble:

Line that should be executed just before the executable file.

Code Documentation

class DIRAC.Resources.Computing.ARCComputingElement.ARCComputingElement(ceUniqueID)

Bases: DIRAC.Resources.Computing.ComputingElement.ComputingElement

__init__(ceUniqueID)

Standard constructor.

available(jobIDList=None)

This method returns the number of available slots in the target CE. The CE instance polls for waiting and running jobs and compares to the limits in the CE parameters.

Parameters

jobIDList (list) – list of already existing job IDs to be checked against

getCEStatus()

Method to return information on running and pending jobs. We hope to satisfy both instances that use robot proxies and those which use proper configurations.

getDescription()

Get CE description as a dictionary.

This is called by the JobAgent for the case of “inner” CEs.

getJobOutput(jobID, localDir=None)

Get the specified job standard output and error files. If the localDir is provided, the output is returned as file in this directory. Otherwise, the output is returned as strings.

getJobStatus(jobIDList)

Get the status information for the given list of jobs

initializeParameters()

Initialize the CE parameters after they are collected from various sources

isProxyValid(valid=1000)

Check if the stored proxy is valid

isValid()

Check the sanity of the Computing Element definition

killJob(jobIDList)

Kill the specified jobs

loadBatchSystem(batchSystemName)

Instantiate object representing the backend batch system

Parameters

batchSystemName (str) – name of the batch system

sendOutput(stdid, line)

Callback function such that the results from the CE may be returned.

setCPUTimeLeft(cpuTimeLeft=None)

Update the CPUTime parameter of the CE classAd, necessary for running in filling mode

setParameters(ceOptions)

Add parameters from the given dictionary overriding the previous values

Parameters

ceOptions (dict) – CE parameters dictionary to update already defined ones

setProxy(proxy, valid=0)

Set proxy for this instance

shutdown()

Optional method to shutdown the (Inner) Computing Element

submitJob(executableFile, proxy, numberOfJobs=1, inputs=None, outputs=None)

Method to submit job

writeProxyToFile(proxy)

CE helper function to write a CE proxy string to a file.