Accounting System


This document is for all ARC users and introduces what we mean by “usage” and how we do the accounting for that usage. We also cover how accounting (usage) relates to charging (money) and how system time is allocated to projects and users.

The ARC Accounting Method

When jobs are run on ARC systems they will use up credits which a user or group has been allocated or purchased. Researchers may request "credits" for use on the ARC systems where a credit is (roughly) equal to being allocated 1 processing core for 1 second of wall clock time. You may also see references to core hours, this is the equivalent of 1 processing core being used for 1 hour of wall clock time, so

 3600 credits = 1 core hour

The amount of credits that are "consumed" depends on the amount of resources that have been allocated to the job and the duration of the job. However the ARC job schedulers run in node exclusive mode which means that jobs are allocated resources in units of whole nodes i.e. if you only request a single processor core, you will be allocated and charged for a whole node.

The amount of credits which a job consumes are calculated thus:

 consumption = (duration of job) x ((number of nodes allocated to the job) x (number of processor cores per node))

The duration of the job is the real, “wall clock” duration – NOT CPU time as measured by the operating system. The duration of a job is measured to the nearest second. The compute nodes on the two main ARC systems (arcus-b and arcus) have 16 processor cores in each compute node.

If for example, a job ran for ten hours on one compute node of arcus-b, the number of credits consumed would be:

(10 x 3600) x (1 x 16) = 576,000 credits

Note though, the same number of credits would be charged regardless of whether a single core or all 16 were requested. If you intending to run serial (single core) jobs, please contact us for advice on how to get the most out of your credits (and the resources). 

How Credits are Managed

ARC uses an accounting package called GOLD with some homegrown extensions and hooks into the torque (arcus) and slurm (arcus-b) job schedulers. By default, users consume credits from a pool belonging to their project when they run jobs. 

Every user can check how many credits they have available with the mybalance command. Some typical output is shown below:

prompt> mybalance
Please wait: Calculating balance ...
Your are a member on the following project(s): system
and your total balance is: 999871360 credits (~277742hours)
Detailed account balance:
Id Name   Amount    Reserved Balance   CreditLimit Available
-- ------ --------- -------- --------- ----------- ---------
51 system 999871360 0        999871360 0           999871360

In the above example, the user can access the credits of the “system” account which is shared by a group (also called “system” in this case).