Resource Groups#
Overview#
Resource groups dynamically associate active-topology resources with a workload. Their policy bundle has higher precedence than the topology bundle, allowing workload-specific behavior without changing the topology selection.
Resource Group Structure#
A resource group contains:
Workload identification and metadata.
Member compute resources.
A persisted policy-bundle selection.
Lifecycle and activation state.
Optional workload-profile and power-management settings.
Relative priority for power stealing and giveback. Lower numbers are higher priority, and the default is
0.
Lifecycle#
Resource groups support these operations:
Create an inactive group.
Add or remove member resources.
Activate the group and apply its effective policies.
Update membership or supported workload settings.
Delete the group and release its resources.
Membership changes on an inactive group are stored without applying hardware policy. Changes on an active group apply or release policy immediately. Membership changes are rejected while activation or deactivation is in progress.
Policy Selection and Precedence#
A topology binding remains the lower-precedence policy source for its managed devices. When a resource group becomes active, DPS composes its higher-precedence binding with the topology binding by policy type. A resource-group policy can supersede or combine with topology policy according to the rules of that type.
An empty resource-group bundle selection resolves to the current
global_policy_bundle and the resolved name is persisted on the group. It
does not categorically mean “inherit the topology bundle.” If no global default
is configured and the resource group contributes no policy of a given type,
the topology policy of that type can remain effective.
Create a group with an explicit bundle by using --policy-bundle:
dpsctl resource-group create \
--resource-group ml-training-job \
--external-id 12345 \
--policy-bundle site-balanced
Current resource-group policy-bundle selection is supported at creation time.
The server does not currently support changing that selection with
dpsctl resource-group update.
When a resource leaves an active group, DPS restores any remaining topology-effective limit. If no effective limit remains, release uses the device idle policy or the hardware-minimum path as described in Policy Lifecycle and Fallback.
Per-GPU Power Limits#
The standalone dpsctl gpu-policy command sets explicit per-GPU watt values
for nodes in active resource groups:
dpsctl gpu-policy \
--node "node001=500,550,600,700,650,700,550,600"
Specify one value for every GPU on the node, in GPU index order. DPS validates the GPU count, device ranges, and available node power budget before applying the update. Refer to dpsctl gpu-policy for command details.
Priority#
Resource group --priority orders groups when DPS steals
power, and when giveback cannot admit a complete restore of every eligible
member. It does not request a policy or reserve watts. Omit the flag to store
0, which is currently the highest precedence. Assign a larger number to
groups that can give up power first.
For how to set, inspect, and update priority, and for steal versus giveback order, refer to Resource Group Priority.