Canada’s national advanced research computing (ARC) platform is delivered through the Compute Canada Federation (CCF), which is a partnership of Compute Canada, regional organizations (WestGrid, Compute Ontario, Calcul Québec and ACENET) and institutions across Canada. Providing researchers with access to the infrastructure and expertise they need to accomplish globally competitive, data-driven, transformative research, it serves the needs of nearly 16,000 users, including over 4,400 faculty based at Canadian institutions as of January 1, 2020.
Funding from the federal government has increased the capacity of the national ARC platform on Cedar (Simon Fraser University), Graham (University of Waterloo), Niagara (University of Toronto), Béluga (Calcul Québec) and Arbutus (University of Victoria) to provide approximately 233,000 CPU cores, 30,000 cloud CPUs (vCPUs), 2,550 GPUs and 144 PB of storage for 2020.
However, the dual challenge of the retirement of legacy systems and ongoing growth in researcher demand for resources means that demand continues to outstrip supply. The 2020 RAC competition received the highest number of applications in its history with 590 projects applying for an allocation — 16% more applications than 2019. Due to the challenges discussed above, unfortunately, this year’s RAC was only able to award 40% of the total compute requested, 86% of the total storage requested, and 26% of the total GPUs requested. This year’s RAC was able to allocate 99% of the total vCPUs requested.
While close to 80% of the resources available through the CCF are allocated through the Resource Allocation Competition (RAC), the CCF reserves 20% for researchers to use through the Rapid Access Service (RAS), which grants all users access to modest quantities of compute, storage and cloud resources as soon as they have a Compute Canada account.
If you have questions about the terminology used in this page, please consult the Technical Glossary.
Table 1: Applications submitted to the Resource Allocation Competitions
*Note: This report is based on the information available as of March 2, 2020.
Based on available computing resources, RAC 2020 was able to meet 40% of all the CPU (core year) requested—this is the same allocation rate as last year. Cedar, Graham, Niagara and Béluga provide 100% of the available capacity or approximately 233,000 cores, of which close to 80% are available for RAC allocations. This resulted in a modest increase of almost 30,000 available cores compared to last year, despite the decommissioning of the MP2 system, which removed approximately 30,000 cores from the available pool of resources.
Table 2: 2020 Compute Allocations per System
|CPU Resource||Supply: Allocatable Core Years (100% capacity)||Need: Total Core Years Requested||Provided: Total Core Years Allocated||% of CPU Capacity Allocated|
As of February 20, 2020
Table 3: Historical Compute Ask vs. Allocation
|Year||Supply: Allocatable CPU Core Years||Need: Total Core Years Requested||Provided: Total Core Years Allocated||Shortfall Capacity Core Years||% of the Demand Awarded|
|2012||189, 024||103, 845||87, 312||16, 533||84%|
As described above, there were insufficient ARC resources to fully meet the CPU demand through RAC 2020.
As a result, a scaling function was applied to the 2020 competition to provide a means by which decisions on RAC allocations, in a context of insufficient capacity, could be made. This function, which is endorsed by the Chairs of the review committees, was set so that only applications with a science score of 2.5 or higher (out of 5) received an allocation. Applicants who did not receive a compute allocation can still make opportunistic use of system resources via the Rapid Access Service. The average score of all the applications submitted to the RAC 2020 was 3.5.
CPU requests are scaled based on the overall score of the application and the size of the request. Details and examples of the scaling function are available here. For further questions, contact firstname.lastname@example.org.
All researchers and their sponsored users with an active Compute Canada account can automatically make opportunistic use of CPU and GPU resources on any system. (This ability to compute without an allocation is also referred to as the Rapid Access Service). However, the priority of these jobs will be lower than that of jobs submitted by those researchers who have RAC awards. There is no guarantee on how much CPU or GPU can be consumed by non-RAC holders, as their use of the systems is purely opportunistic.
The RAC application process requires a minimum ask amount for compute resources (currently set at 50 core-years for CPU and 10 GPU-years for GPUs). These minimum values are set in part to control the number of applications requiring peer-review. As the number of applications increases every year, the workload of the expert review committees increases proportionally. Therefore, a RAC award made at the minimum level is a true RAC award and will ensure higher job priorities than for any non-RAC awardee.
While usage by non-RAC awardees is opportunistic, historical utilization data shows that many groups are able to reach (or even exceed) the RAC minimums specified above. Non-RAC users who want to maximize their compute usage need to consider strategies that ensure:
- they regularly have jobs in the queue;
- are able to tolerate longer wait times for jobs to start; and,
- submit jobs with “optimal” characteristics.
For example, opportunistic jobs with short time limits that request a few cores on a GP system will generally run much sooner than those requesting dozens of cores.
The demand for GPU resources continues to be more competitive than for CPU resources. As Tables 4 and 5 show, requests for GPUs have increased almost 10 fold since 2016. In 2020, 888 new GPU devices became available. Due to increased demand for GPU resources, the allocation rate in 2020 was 26%, 6% higher than in 2019.
GPU allocations are determined by the following factors: the overall score of the RAC application, the technical justification provided, evidence of previous GPU utilization, the research area of application for which GPUs are requested (e.g., Artificial Intelligence (AI), machine learning, etc.), and the size of the research group.
Keep in mind the following:
- In general, RAC applicants find it difficult to estimate their GPU needs, which in most cases are over requested (and underutilized) by an important factor. We strongly encourage future RAC applicants to do two things before applying: start using the GPUs in order to get a better understanding of their needs and consult with our technical staff. Our staff can provide advice on how to benchmark your codes and calculate your GPU needs as accurately as possible.
- GPU allocations are constrained, among other things, by the type of GPU (pascal, voltas, T4) requested and available in each system.
- For RAC 2020, most applications requested GPUs on Béluga because originally it was the only location with voltas. However, the recent expansion on Cedar with voltas significantly increased the GPU capacity on that location.
- The demand for GPUs for AI applications has increased considerably.
Table 4: 2020 GPU Year Allocations per System
|GPU Resource||Supply: Allocatable GPU Years (100% capacity)||Need: GPU Years Requested||Provided: Total GPU Years Allocated||% of GPU Capacity Allocated|
Table 5: Historical GPU demand vs. supply (GPU years)
|Year||Supply: Allocatable GPUs||
Need: GPUS Requested
|Provided: Total GPUs Allocated||Shortfall Capacity GPUs||% of the Need Awarded|
*The total 2020 GPU ask includes a very large request from a single application—absent this ask, our GPU allocation rate is 26% instead of 15%.
The Arbutus cluster at the University of Victoria has 29,824 allocatable virtual CPUs. These are available via RAC and RAS and are also utilized for internal Compute Canada services such as software development and hosting. Relatively small cloud offerings are also implemented on Cedar, Graham and Béluga. For RAC 2020, the request for virtual CPUs overall decreased by 6%: a 41% increase in compute vCPU was slightly offset by a 62% decrease in persistent vCPU.
This apparent net drop in requests is in part the result of a change in the available VM (or virtual machine) definitions on Arbutus, which encouraged users to select VMs configured with fewer vCPUs to more accurately reflect their actual utilization relative to memory. It’s also partly because a number of larger allocations have adjusted their 2020 RAC requests to accurately reflect their initial years’ core utilization. These allocations all project significant core growth in the immediately following years, so we do not expect a trend of decreasing demand going forward. Deploying a complex platform can take longer than a research group estimates, and there is not enough support available for these groups.
Overprovisioning of persistent vCPUs at a 10:1 ratio has allowed a significant expansion in persistent allocations in the previous few years. Even with the slightly reduced numbers this year, demand for real cores has continued to keep pace with hardware expansions with utilization numbers well over 80%, past which scheduling larger compute instances becomes difficult. In practice, this has meant that there is frequent contention for real CPUs, and the current phase 3 expansion of Arbutus only temporarily alleviates that contention.
A significant amount of cloud resources are allocated through the RAS process. In 2019, almost 2700 vCPUs were requested via RAS, a 68% increase over 2018. In total, over 6,000 vCPUs are allocated via RAS currently. Between Arbutus and the additional nodes on Cedar, Graham, and Béluga, this year’s RAC was able to allocate 99% of the total virtual CPUs requested. In total, cloud storage was allocated at 72% of its capacity for 2020.
Storage integrated with Cedar, Graham, Arbutus, Niagara and Béluga provided approximately 167 PB of storage capacity for 2020. This meant that, across all types of storage, the CCF was able to allocate a total of 85% of its available storage capacity.
Table 6: 2020 Storage Need vs. Supply by Storage Type (TB)
|Storage Type||Supply||Need: Storage Requested TB||Provided: Storage Allocated||% of the Demand Awarded|
*A portion of the /project storage allocations were moved to nearline due to capacity constraints.
The majority of RAC applicants request resources to support research programs and highly qualified personnel (HQP) that are already funded through other Tri-Council and peer-reviewed sources. It is not the purpose of the RAC review process to re-examine the scientific merits of a research program, as we understand that this has already been done by the granting agencies.
The RAC review process evaluates applications based on the appropriateness of the resources requested to achieve project goals and the feasibility of the project based on the research and technical expertise of the team assembled.
A total of 590 applications competed for ARC resources in 2020—324 of them were evaluated by a disciplinary peer-review panel, and all 590 applications received at least one technical review from a CCF staff.
|Technical Review||Technical Staff||
|Peer Review||Disciplinary peer review panel evaluates each proposal||
These values represent an average across the national ARC platform’s facilities and include total capital and operational costs incurred to deliver the resources and associated services. These are not commercial or market values. For the 2020 competition, the value of the resources allocated was calculated using the following rates:
Table 7: Financial Value of RAC Awards
|Financial Value of Award||2020|
|1 core year||$121.34|
|1 GPU year||$2,435.89|
|1 TB of project storage / year||$54.96|
|1 TB of nearline / year||$25.66|
|1 VCPU year||$80.93|
|1 TB of cloud storage (Ceph) / year||$117.70|