Skip to content

Execution Profiles

Setup guide

Instruction for setting up an Execution Profile can be found here

Any workload that is run by Altair SLC Hub has an associated Execution Profile that governs various aspects of the execution.

An Execution Profile can be used to control the following aspects of execution:

  • Environment variables that are set for the process
  • The version of Altair SLC that is used
  • Constraints that limit the nodes in the Altair SLC Hub cluster that are eligible to run the given workload

Constraints and Node Labels

Constraints can be applied to an Execution Profile that limit the list of nodes in the Altair SLC Hub cluster that are eligible to run the given workload.

In a cluster with a mix of Linux and Windows nodes, an Execution Profile can be defined with constraints on the operating system to ensure that workloads are only run on Windows nodes or only on Linux nodes as appropriate.

More generally, nodes can be given one or more node labels, and constraints can be defined to limit the list of nodes that a workload can run on to only those that have a given set of node labels. For example, nodes could be labelled as "Finance" and "HR", and execution profiles created of the same name that included constraints based on those labels. Jobs submitted with the "Finance" execution profile would therefore only run on nodes that have been labelled with the "Finance" label. Another use of node labels could be to label nodes with "Prod", "Staging" or "Test" and execution profiles could be created to ensure that only production jobs are run on the nodes that are labelled with the "Prod" label.

It should be noted that an execution profile that specifies no constraints will therefore allow a job to be run anywhere on the cluster. So if using node labels to segregate a Altair SLC Hub cluster and to limit where workloads can be run, it is important to make sure that all available execution profiles provide suitable constraints on the node labels, and that there are no execution profiles made available that do not constrain based on the node label.

For information on configuring the node labels assigned to a worker node, see Node Labels.

Execution Profiles and Namespaces

Execution profile definitions are global entities, they are not defined within a namespace.

However, for an execution profile to be used, it has to be bound to a namespace. Creating a binding from an execution profile to a namespace makes the execution profile available for use for workloads such as pipelines within that that namespace.

Note that in addition to an execution profile needing to be bound to a namespace to be used within that namespace, normal access control rules apply. That is, for an individual user to be able to see and use an execution profile, there needs to be a successful access control check for the execution profile by that user. For details, see access control permissions.

Namespaces verses Execution Profile Constraints

Namespaces and execution profile constraints provide related but complementary methods of segregation within Altair SLC Hub.

Namespaces allow for segregation of the definitions of entities within Altair SLC Hub, and, in conjunction with access control, for controlling visibility to those definitions.

Execution profiles allow for segregation of where workloads are run within an Altair SLC Hub cluster.

The way in which execution profiles are bound to namespaces
defines how these two methods combine. It is possible to define a single set of execution profiles and make them available to all namespaces. Alternatively, it is possible to make a set of execution profiles such that the execution profiles are each only available to a single namespace.

Environment Variables

Modifying the environment variables that workloads are run with allows automatically passing information through to all programs, or changing the PATH variable to add in extra programs or drivers to the execution path.

From the edit screen of the execution profile, environment variables can be added by clicking the Add button on the Environment Variables section, and then setting the key, which is the variable name, and the value. To add more environment variables, repeat the process. To remove an environment variable, click the delete icon next to the variable.