Resource Requirements Facets¶
When building an Execution Profile, Resource Requirements Facets can be used to define the amount of system resources to budget for each Altair SLC Hub workload.
Concept¶
To prevent Altair SLC Hub Workers from being overloaded with too many workloads competing for finite compute resources, Altair SLC Hub restricts the number of concurrent workloads by budgeting compute resource for each workload. Altair SLC Hub divides Worker resources by the resource requirement values to limit the number of workloads.
Altair SLC Hub specifies default values, but it is possible to configure different values on a per Execution profile basis. This can be done using facets. Facets can be thought of as chunks of configuration that make up an Execution Profile.
Defaults¶
When an execution profile is used to run a workload, if the execution profile does not contain any resource requirements facets, default resource requirement values are applied. These values are 1000
MHz (1 GHz) for CPU and 2048
MB (2 GB) for memory.
The maximum resource for a worker node is calculated as either the number of cores multiplied by the clock speed, or the amount of memory available to the node. For example, a worker node has 8 cores at 2 GHz (16000 MHz total CPU) and 32 GB (32768 MB) of memory. If the default resource requirements are applied to all workloads, the worker node will be able to run 16 workloads at any one time.
The diagram above represents the 16 workloads that can be run concurrently. Slots 1-6 are currently occupied meaning there is enough space for another 10 workloads.
Example Usage¶
Consider an Altair SLC Hub installation that includes two worker nodes. Each node has a CPU with 16 cores at 3 GHz and 128 GB of memory. This means there is a total of 96000 MHz of CPU and 262144 MB of memory available to the hub. With the default resource requirement values, CPU resource restricts the number of workloads to 96; available memory restricts the number of workloads to 128. In this case up to 96 concurrent workloads can be run.
Assuming some workloads are known to need more compute resources than others. Two Execution Profiles can be configured, each specifying different resource requirements. A Small Execution Profile might include a facet specifying CPU at 500 MHz and memory at 1024 MB. Changing the compute resource requirement would double the number of workloads Altair SLC Hub could run concurrently. A second Large Execution Profile might specify 8000 MHz of CPU and 8192 MB of memory per workload.
With the Small Execution profile, a maximum of 192 workloads can run concurrently and 12 with the Large Execution profile. Therefore, between 12 and 192 workloads would run concurrently depending on which Execution Profile was used to submit them.