Using Compute Allocations on Roar Collab
A paid compute allocation provides access to specific compute resources for an individual user or for a group of users. A paid compute allocation provides the following benefits:
- Guaranteed job start time within one hour
- No time request limit
- No job preemption for non-burst jobs
- Burst capability up to 4x of the allocation’s compute resources
- 5 TB of active group storage
A compute allocation results in the creation of a compute account on RC. The mybalance
command on RC lists accessible compute accounts and resource information associated with those compute accounts. Use the mybalance -h
option for additional command usage information.
To submit a job to a paid compute account, supply the -A
or --account
resource directive with the compute account name and supply the -p
or --partition
resource directive with sla-prio
:
#SBATCH -A <compute_account>
#SBATCH -p sla-prio
To enable bursting, if enabled for the compute account, supply the -p
or --partition
resource directive with the desired level of bursting for the job (burst2x
, burst3x
, burst4x
, and so on). To list the available compute accounts and the associated available burst partitions, use the following command:
$ sacctmgr show User $(whoami) --associations format=account%30,qos%40
Compute Resources Available
A paid compute allocation will typically cover a certain number of cores across a certain timeframe. The resources associated with a compute allocation are in units of core-hours. The compute allocation has an associated Limit in core-hours based on the initial compute allocation agreement. Any amount of compute resources used on the compute allocation results in an accrual of the compute allocation’s Usage, again in core-hours. The compute allocation’s Balance is simply the Limit minus its Usage.
Balance [core-hours] = Limit [core-hours] - Usage [core-hours]
At the start of the compute allocation, 60 days-worth of compute resources are added to the compute allocation’s Limit. Each day thereafter, 1 day-worth of compute resources are added to the Limit.
Initial Resources [core-hours] = # cores * 24 hours/day * 60 days
Daily Replenishment [core-hours] = # cores * 24 hours/day
The daily replenishment scheme continues on schedule for the life of the compute allocation. Near the very end of the compute allocation, the replenishment schedule may be impacted by the enforced limit on the maximum allowable Balance. The Balance for a compute allocation cannot exceed the amount of compute resources for a window of 91 days and cannot exceed the amount usable by a 4x burst for the remaining life of the compute allocation. This limit is only relevant for the replenishment schedule nearing the very end of the compute allocation life.
Max Allowable Balance [core-hours] = min( WindowMaxBalance, 4xBurstMaxBalance )
where
WindowMaxBalance [core-hours] = # cores * 24 hours/day * 91 days
4xBurstMaxBalance [core-hours] = # cores * 24 hours/day * # days remaining * 4 burst factor