v1/resourcegroup.proto#

Resource Groups manage power policies for temporary workload allocations on datacenter hardware. They provide ephemeral power management that overrides topology defaults during job execution.

A resource group is a collection of compute resources (nodes) allocated for a specific workload, such as a SLURM job or machine learning training run. Resource groups temporarily override the topology-specified power policies of their entities during workload execution, then restore topology defaults when the workload completes.

Resource groups follow a 5-step lifecycle:

  1. CREATE - Create an empty, inactive resource group with optional default power policy

  2. ADD/REMOVE - Add or remove compute resources (nodes); for active groups, policies are applied or reverted immediately and power is reallocated

  3. ACTIVATE - Apply power policies to hardware and mark the group as active

  4. UPDATE (Optional) - Dynamically adjust power policies during workload execution

  5. DELETE - Deactivate and cleanup, restoring topology defaults

Power Policy Hierarchy#

Resource groups use a 3-level policy hierarchy to determine effective power settings:

  1. Entity-level policy - Specific policy for individual nodes (highest priority)

  2. Resource group policy - Default policy for all nodes in the group

  3. Topology policy - Baseline policy from the datacenter topology (lowest priority)

Dynamic Power Management#

Resource groups support dynamic power management (DPM) through:

  • Power Reservation Steering (PRS) - Automatic power redistribution based on telemetry

  • Policy Updates - Runtime policy adjustments for optimization

  • GPU Workload Profiles - Hardware-specific power optimization for GPU workloads

Integration with Workload Schedulers#

Resource groups are designed to integrate with workload schedulers like SLURM:

  • Use external IDs to map to scheduler job IDs (e.g., SLURM_JOB_ID)

  • Follow scheduler lifecycle events (job start/end)

  • Support scheduler-driven power policy updates

Power policies are defined in policy.proto, and topology entities are defined in topology.proto. Workload-specific optimizations use telemetry data structures from common.proto.

Services#

ResourceGroupManagementService#

ResourceGroupManagementService manages ephemeral power policy allocations for workloads

This service provides APIs to create, manage, and monitor resource groups - collections of compute resources with customized power policies for specific workloads. Resource groups temporarily override topology-specified power policies during workload execution, enabling dynamic power management optimized for specific computational tasks.

The service integrates with workload schedulers like SLURM to provide power management throughout the workload lifecycle. It supports both static policy assignment and dynamic policy updates based on real-time telemetry data.

Resource groups must be created from an active topology. The topology defines the available entities and baseline power policies that resource groups can override.

ResourceGroupCreate#

rpc ResourceGroupCreate(ResourceGroupCreateRequest) returns ResourceGroupCreateResponse

Create a new empty and inactive resource group.

This is the first step in the resource group lifecycle. The created resource group is initially empty (no resources) and inactive (no policies applied to hardware). Resources must be added and the group activated before power policies take effect.

ResourceGroupDelete#

rpc ResourceGroupDelete(ResourceGroupDeleteRequest) returns ResourceGroupDeleteResponse

Deactivate and delete a given resource group

This permanently removes the resource group and restores all associated hardware resources to their topology-specified power policies. If the resource group is active, it is automatically deactivated before deletion. This is typically called when a workload completes.

ResourceGroupList#

rpc ResourceGroupList(ResourceGroupListAllRequest) returns ResourceGroupListAllResponse

List all available resource groups

Returns comprehensive information about all resource groups in the system, including their activation status, assigned resources, and power policies. This is used for monitoring, administration, and troubleshooting resource group state.

ResourceGroupAddResources#

rpc ResourceGroupAddResources(ResourceGroupAddResourcesRequest) returns ResourceGroupAddResourcesResponse

Add resources to a given resource group.

This assigns compute resources (nodes) to the resource group. Resources use the resource-group power policy. If the resource group is active, policies are applied immediately and power is reallocated; if inactive, the assignment is stored for activation.

ResourceGroupRemoveResources#

rpc ResourceGroupRemoveResources(ResourceGroupRemoveResourcesRequest) returns ResourceGroupRemoveResourcesResponse

Remove resources from a given resource group.

This removes compute resources from the resource group. If active, policies are reverted to topology defaults and power is reallocated; if inactive, resources are simply removed.

ActivateResourceGroup#

rpc ActivateResourceGroup(ActivateResourceGroupRequest) returns ActivateResourceGroupResponse

Activate a given resource group. The resource group must be inactive.

This applies the resource group’s power policies to the assigned hardware resources and marks the group as active. The activation process validates power allocation constraints and applies policies to the hardware. Once active, the resource group manages power policies for its assigned resources until deactivation.

ResourceGroupUpdate#

rpc ResourceGroupUpdate(ResourceGroupUpdateRequest) returns ResourceGroupUpdateResponse

Update a resource group’s policy bundle or other mutable settings. If the resource group is active, the update is validated before it is persisted.

Policy bundles are scoped to the complete resource group, not individual resources.

UpdateGPUPolicies#

rpc UpdateGPUPolicies(UpdateGPUPoliciesRequest) returns UpdateGPUPoliciesResponse

UpdateGPUPolicies allows updating GPU policies without specifying the resource group. Because of this, a single call may end up updating multiple resource groups. If the resource groups are active, the changes are applied immediately.

This provides direct GPU power management without requiring knowledge of resource group assignments. It’s designed for telemetry-driven power optimization where external monitoring systems can adjust GPU power limits based on real-time performance data. A single call may affect multiple resource groups if GPUs span multiple groups.

StreamUpdateGPUPolicies#

rpc StreamUpdateGPUPolicies(UpdateGPUPoliciesRequest) returns StreamUpdateGPUPoliciesResponse

StreamUpdateGPUPolicies streams per-node results and aggregate progress while updating GPU policies without specifying the resource group.

AsyncOperationStatus#

rpc AsyncOperationStatus(ResourceGroupAsyncOperationStatusRequest) returns ResourceGroupAsyncOperationStatus

Queries the server about the status of an asynchronous operation started by one of the service APIs

Resource group operations (especially activation) can be performed asynchronously for better scalability. This API allows clients to check the progress and results of these asynchronous operations. The operation results are available until explicitly queried and forgotten.

Messages#

ActivateResourceGroupRequest#

ActivateResourceGroupRequest is used by ResourceGroupManagementService.ActivateResourceGroup.

Validates and applies power policies to all hardware resources in the resource group. Resource group must be inactive with resources added. After activation, workload can start.

Examples: dpsctl resource-group activate –resource-group “rg_$SLURM_JOB_ID” –sync # Synchronous activation dpsctl resource-group activate –resource-group “rg_$SLURM_JOB_ID” # Asynchronous activation dpsctl resource-group activate –resource-group “rg_$SLURM_JOB_ID” –partial-n-hosts 8 # Succeed if ≥8 hosts activate

Field

Type

Description

group_name

string

Name of resource group to activate. Must not be empty.

strict

bool

If true, and if the given resource group cannot be activated because of power limits, do not try reducing the resource group policy. If false, the server will try a lower power policy if the given one fails.

async

ResourceGroupAsyncStrategy

Asynchronous activation strategy. If set, activation is asynchronous. If not set, activation is synchronous.

partial_activation

ResourceGroupPartialActivation

Options for partial activation with failure tolerance. Allows the resource group to be deemed active even if some hosts fail, as long as at least the specified number/fraction of hosts can be activated. When omitted, activation defaults to at least 80% of hosts, rounded up.

allow_reprovision

bool

When activating a resource and this flag is set to true, a resource group that doesn’t have sufficient power to activate will lower the power policy of other resource groups in order to be able to activate. Setting this flag to false will result in failure to activate if there isn’t sufficient power to activate the resource group.

ActivateResourceGroupResponse#

ActivateResourceGroupResponse is returned if resource group activation was successful.

Field

Type

Description

node_statuses

map ActivateResourceGroupResponse.NodeStatusesEntry

Node statuses is a map where key is entity name and value is a struct with policy apply status and workload profile results

status

Status

Operation status

operation_id

string

The operation id for asynchronous operations, if the status is “async”

ActivateResourceGroupResponse.NodeStatusesEntry#

Field

Type

Description

key

string

none

value

NodeStatusResponse

none

ComponentPolicyApplyResult#

ComponentPolicyApplyResult describes the result of applying an effective power policy to a node, CPU, or memory component.

Field

Type

Description

ok

bool

Whether or not the operation was successful

power_cap_watts

double

The actual limit set in watts

diag_msg

string

Diagnostic message, if any

DeactivateResourceGroupRequest#

DeactivateResourceGroupRequest is used to deactivate a resource group and remove applied policies from physical entities.

Removes power policies from hardware resources and returns them to topology defaults. Typically called automatically during resource group deletion. Resource group must be active. After deactivation, resources return to topology defaults.

Field

Type

Description

group_name

string

Name of resource group to deactivate. Must not be empty.

wpps_disable_async_verification

bool

If true, workload power profile service (WPPS) operations will use synchronous verification instead of asynchronous. Default is false (asynchronous verification enabled).

DeactivateResourceGroupResponse#

DeactivateResourceGroupResponse contains the resource group deactivation result.

Field

Type

Description

status

Status

Operation status

GPUPowerPolicyResponse#

GPUPowerPolicyResponse describes the result of applying a power policy to one GPU.

Field

Type

Description

oneof _gpu_id.gpu_id

optional uint32

The GPU id within the node (numeric index)

ok

bool

Whether or not the operation was successful

set_limit

double

The actual power limit set, in watts (may differ from requested due to clamping)

diag_msg

string

Diagnostic msg, if any

oneof _gpu_uuid.gpu_uuid

optional string

Hardware-backed Redfish Processor UUID.

GPUPowerPolicyResponses#

GPUPowerPolicyResponses wraps per-GPU power policy results with an overall status.

Field

Type

Description

gpu_power_policy_result

repeated GPUPowerPolicyResponse

none

status

Status

Operation status

GPUWorkloadProfileResponse#

GPUWorkloadProfileResponse describes the result of setting workload profile on one GPU

Field

Type

Description

gpu_id

string

The GPU id within the node

ok

bool

Whether or not the operation was successful

enforced_workload_profile_ids

repeated int32

The actual workload profiles set

diag_msg

string

Diagnostic msg, if any

oneof _gpu_uuid.gpu_uuid

optional string

Hardware-backed Redfish Processor UUID.

GPUWorkloadProfileResponses#

GPUWorkloadProfileResponses describes workload profile update results across GPUs.

Field

Type

Description

workload_profile_result

repeated GPUWorkloadProfileResponse

Operation status

status

Status

Operation status

NodeStatusResponse#

NodeStatusResponse combines the node status, workload profile results, and GPU power policy results

Field

Type

Description

policy_apply_status

PolicyApplyStatus

Struct with an activation status and an actual policy

workload_profile_results

GPUWorkloadProfileResponses

Result of the per-GPU workload profile operation

gpu_power_policy_results

GPUPowerPolicyResponses

Result of the per-GPU power policy operation

node_policy_result

ComponentPolicyApplyResult

Per-component effective-policy apply results (steal / activation). Omitted when that lever was not attempted.

cpu_policy_result

ComponentPolicyApplyResult

none

memory_policy_result

ComponentPolicyApplyResult

none

ResourceGroupAddResourcesRequest#

ResourceGroupAddResourcesRequest is used by ResourceGroupManagementService.ResourceGroupAddResources.

Adds compute resources (nodes) to an existing resource group. For active resource groups, policies are applied immediately and power is reallocated. For inactive resource groups, this is a database-only operation.

Examples: dpsctl resource-group add –resource-group “rg_$SLURM_JOB_ID” –entities “node001,node002”

Field

Type

Description

group_name

string

Name of resource group to add resource entities to. Must not be empty.

resource_names

repeated string

Names of resources to add to the resource group. Must contain at least one unique item, and each entry must not be empty.

strict

bool

If true, and if adding resources would exceed power limits, do not try reducing policies. If false, the server may retry the configured policy bundle at its effective floor when permitted.

allow_reprovision

bool

If true, and adding resources would exceed power limits, allow reprovisioning other resource groups (power stealing) to satisfy the request.

ResourceGroupAddResourcesResponse#

ResourceGroupAddResourcesResponse is returned if adding resources to a resource group was successful.

Field

Type

Description

status

Status

Operation status

ResourceGroupAsyncOperationStatus#

ResourceGroupAsyncOperationStatus returns the status of an asynchronous resource group operation. After it returns that the operation was completed, the results are forgotten.

Field

Type

Description

operation_id

string

Internal ID of the asynchronous operation

completed

bool

Completed flag

n_hosts

uint32

Number of hosts in the request

n_success

uint32

Number of requests completed successfully

n_failed

uint32

Number of requests failed

n_in_progress

uint32

Number of requests in progress

oneof status.activate

ActivateResourceGroupResponse

Activate resource group status object

oneof status.update

ResourceGroupUpdateResponse

Update resource group status object

ResourceGroupAsyncOperationStatusRequest#

ResourceGroupAsyncOperationStatusRequest is used to query the status of an asynchronous operation.

Checks the progress and result of asynchronous resource group operations like activation or updates. Returns operation progress including success count, failure count, and completion status.

Field

Type

Description

oneof id.operation_id

string

Operation ID returned from async resource group operation

oneof id.resource_group_info

ResourceGroupAsyncOperationStatusRequest.ResourceGroupStatusInfo

Resource group information

ResourceGroupAsyncOperationStatusRequest.ResourceGroupStatusInfo#

Resource group information

Field

Type

Description

resource_group_name

string

Resource group name

operation_type

string

Operation type, i.e. “activate” or “update”

ResourceGroupAsyncStrategy#

ResourceGroupAsyncStrategy specifies the asynchronous resource group activation strategy

Field

Type

Description

oneof Options.nHosts

uint32

Wait until the operation is complete for nHosts, then return. The operation continues asynchronously.

oneof Options.fracHosts

double

Wait until the operation is completed for the given fraction of hosts, then return. The operation continues asynchronously. Must be finite and between 0 and 1, inclusive.

oneof Options.wait

google.protobuf.Duration

wait this long before returning. The operation continues asynchronously. If 0, the operation returns immediately.

ResourceGroupCreateRequest#

ResourceGroupCreateRequest is used by the ResourceGroupManagementService.ResourceGroupCreate.

Creates a new, empty, and inactive resource group for managing power policies during workload execution. A resource group must be identified by a unique name, such as slurm job id. When created, the resource group does not have any resources and it is not active.

Examples: dpsctl resource-group create –resource-group “rg_$SLURM_JOB_ID” –external-id “$SLURM_JOB_ID” –policy-bundle “MaxQ”

Field

Type

Description

external_id

int64

External ID (e.g. SLURM Job ID) - Unique identifier from external workload scheduler (e.g. SLURM_JOB_ID)

group_name

string

Unique resource group name - Human-readable identifier, must be unique (e.g. “rg_12345”, “job12345”). Must not be empty.

oneof _policy_name.policy_name

optional string

Legacy optional policy name retained for API compatibility. The policy must already exist in the topology. New clients should use policy_bundle.

workload_profile_ids

repeated int32

Array of requested workload profile IDs associated with the resource group

oneof _prs_enabled.prs_enabled

optional bool

Optional bool flag for the resource group to enable or disable prs dynamic power management default is enabled

properties

google.protobuf.Struct

Properties of the resource group

oneof _dpm_enable.dpm_enable

optional bool

Boolean flag to enable all dynamic power management, resource groups with dpm_enable set to false will follow strict policy management, if enough power for the selected policy is not available, activation will fail, allocated power will not be dynamically adjusted at any time during the lifetime of the resource group. default is true (i.e. enable dynamic power management)

oneof _shared_gpu_enable.shared_gpu_enable

optional bool

Enables shared-GPU behavior for this resource group.

When enabled, DPS allows per-GPU cap updates as long as the total GPU power across the resource group does not increase beyond the currently provisioned total for the resource group. This setting can be used together with PRS when dynamic power management is enabled. default is true; set explicitly to false to opt out | | priority | uint32 | Priority of the resource group for power stealing and giveback ordering. Lower values indicate higher priority. Default is 0. When stealing power, lower-priority resource groups are stolen from first. When giving back power, higher-priority resource groups receive power first. Must be no greater than 2147483647. | | workload_group | bool | If set to true, this is a resource group for a workload, and it allocates its resources so no other workload group can allocate them. If false, this is simply group of resources, and the those resources may belong to zero or more resource groups, but at most one workload group. | | parent_group | string | Name of a parent group, if any. A resource group’s lifetime is bound by its parent’s lifetime. Deactivating a resource group deactivates all its children as well. The policies of a parent resource group is computed before the policies of its children, so the child resource groups can override parent resource groups policies when allowed. For instance, a parent resource group may disable DPM which will result in all child resource groups to be DPM disabled by default, but child resource groups may enable DPM for themselves. | | policy_bundle | string | Policy bundle configured for the complete resource group. Empty inherits global_policy_bundle; if that global setting is empty, no bundle is configured. |

ResourceGroupCreateResponse#

ResourceGroupCreateResponse is returned if the resource group is created successfully.

Field

Type

Description

status

Status

Operation status

ResourceGroupDeleteRequest#

ResourceGroupDeleteRequest is used by ResourceGroupManagementService.ResourceGroupDelete.

Deactivates and deletes a resource group, returning all hardware resources to their topology defaults. The resource group is automatically deactivated if active before deletion.

Field

Type

Description

group_name

string

Name of resource group to delete. Must not be empty.

wpps_disable_async_verification

bool

If true, workload power profile service (WPPS) operations will use synchronous verification instead of asynchronous. Default is false (asynchronous verification enabled).

ResourceGroupDeleteResponse#

ResourceGroupDeleteResponse is returned if the resource group deletion was successful.

Field

Type

Description

status

Status

Operation status

ResourceGroupListAllRequest#

ResourceGroupListAllRequest is used to list resource groups.

Queries all resource groups in the system with optional filtering by activation status. Used for monitoring, administration, and troubleshooting resource group state. Returns comprehensive information including policies, resources, and status for each resource group.

Field

Type

Description

oneof _list_active_only.list_active_only

optional bool

Set to true to filter by active resource groups only

ResourceGroupListAllResponse#

Response containing all (filtered) resource group information

Field

Type

Description

status

Status

none

resource_groups

repeated ResourceGroupListAllResponse.ResourceGroupInfo

List of all resource groups

ResourceGroupListAllResponse.ResourceGroupInfo#

Field

Type

Description

group_name

string

Name of resource group

external_id

int64

External ID of resource group

activation_status

string

Activation status of the resource group

oneof _policy_name.policy_name

optional string

Optional default policy for resource group

resource_names

repeated string

Names of resources in resource group

oneof _workload_profile_ids.workload_profile_ids

optional WorkloadProfileIDs

Resource group workload profile ids

properties

google.protobuf.Struct

Properties of the resource group

oneof _prs_enabled.prs_enabled

optional bool

Optional bool flag for the resource group to enable or disable prs dynamic power management default is enabled

dpm_enable

bool

Boolean flag for enabling dynamic power management for the resource group default is true (dpm enabled)

shared_gpu_enable

bool

Enables shared-GPU behavior for this resource group.

oneof _priority.priority

optional uint32

Priority of the resource group for power stealing and giveback ordering. Marked optional so a value of 0 is always emitted over the wire instead of being dropped as the proto3 scalar default.

policy_bundle

string

Policy bundle configured for the complete resource group. Empty means no bundle.

ResourceGroupPartialActivation#

ResourceGroupPartialActivation specifies the parameters for acceptable level of failure during host configuration

Field

Type

Description

oneof Options.atleast_n_hosts

uint32

At least this many hosts must be activated for the resource group activation to be successful

oneof Options.atleast_frac_hosts

double

At least this fraction of hosts must be activated for the resource group activation to be successful. Must be finite and between 0 and 1, inclusive.

host_activation_timeout

google.protobuf.Duration

Host activation timeout. If a host is not accessible after this duration, host is deemed inaccessible

ResourceGroupRemoveResourcesRequest#

ResourceGroupRemoveResourcesRequest is used by ResourceGroupManagementService.ResourceGroupRemoveResources.

Removes compute resources (nodes) from a resource group. For active resource groups, policies are reverted to topology defaults and power is reallocated. For inactive resource groups, this is a database-only operation.

Field

Type

Description

group_name

string

Name of the resource group to remove resource entities from. Must not be empty.

resource_names

repeated string

Names of resource entities to remove from the resource group. Must contain at least one item, and each entry must not be empty.

ResourceGroupRemoveResourcesResponse#

ResourceGroupRemoveResourcesResponse is returned if entity removal was successful.

Field

Type

Description

status

Status

Operation status

ResourceGroupUpdateRequest#

ResourceGroupUpdateRequest is used by ResourceGroupManagementService.ResourceGroupUpdate to modify the resource group policy bundle and/or workload profiles.

Updates the optional policy bundle and optionally workload profiles for the resource group. Can be used on active or inactive resource groups. If resource group is active, changes are applied immediately to hardware.

Examples: dpsctl resource-group update –resource-group “rg_$SLURM_JOB_ID” –policy-bundle “bundle-name” –sync # Synchronous update

Field

Type

Description

group_name

string

Name of resource group to update. Must not be empty.

oneof _policy_bundle.policy_bundle

optional string

Optional policy bundle update for the complete resource group. Omitted preserves the current bundle configuration; an explicitly empty value inherits global_policy_bundle, or resolves to no bundle when that global setting is empty.

strict

bool

If the resource group is already active and if strict is true, and if the given resource group cannot be activated because of power limits, do not try reducing the resource group policy. If strict is false, the server will try a lower power policy if the given one fails.

workload_profile_ids

WorkloadProfileIDs

Array of new requested workload profile IDs

async

ResourceGroupAsyncStrategy

Asynchronous activation strategy. If set, activation is asynchronous. If not set, activation is synchronous.

partial_activation

ResourceGroupPartialActivation

Options for partial activation with failure tolerance

wpps_disable_async_verification

bool

If true, workload power profile service (WPPS) operations will use synchronous verification instead of asynchronous. Default is false (asynchronous verification enabled).

oneof _priority.priority

optional uint32

Optional priority update. When set, updates the resource group’s priority value. Must be no greater than 2147483647.

ResourceGroupUpdateResponse#

ResourceGroupUpdateResponse is returned if resource group update was successful.

Field

Type

Description

node_statuses

map ResourceGroupUpdateResponse.NodeStatusesEntry

Node statuses is a map where key is entity name and value is a struct with policy apply status and workload profile results

status

Status

Operation status

operation_id

string

The operation id for asynchronous operations, if the status is “async”

ResourceGroupUpdateResponse.NodeStatusesEntry#

Field

Type

Description

key

string

none

value

NodeStatusResponse

none

StreamUpdateGPUPoliciesResponse#

StreamUpdateGPUPoliciesResponse describes one streamed GPU policy update message.

Field

Type

Description

task_id

string

Internal task id for the update operation.

node_name

string

Node name for this streamed update message.

node_status_response

NodeStatusResponse

Per-node policy and GPU policy update result.

gpu_policy_update_status

UpdateGPUPoliciesStatus

Aggregate operation progress after this update.

UpdateGPUPoliciesRequest#

UpdateGPUPoliciesRequest is used by ResourceGroupManagementService.UpdateGPUPolicies to update GPU power policies without a reference to the resource group.

Updates individual GPU power limits based on real-time telemetry data from external monitoring systems. Used for dynamic power optimization during workload execution without knowing resource group details. All GPUs in a node must be specified or the update fails. Updates node-level policy to satisfy aggregate GPU requirements. Each GPUPolicy selects its GPU by gpu_id or gpu_uuid. When both are present, they must identify the same GPU. DPS resolves UUIDs from its in-memory hardware identity snapshot and continues to use numeric IDs for actuation.

Field

Type

Description

node_gpu_policies

map UpdateGPUPoliciesRequest.NodeGpuPoliciesEntry

A map of node name -> GPU Policies. Must contain at least one entry.

UpdateGPUPoliciesRequest.NodeGpuPoliciesEntry#

Field

Type

Description

key

string

none

value

GPUPolicies

none

UpdateGPUPoliciesResponse#

UpdateGPUPoliciesResponse describes the result of each update operation.

Field

Type

Description

results

repeated UpdateGPUPoliciesResponse.Result

Results of the per-GPU update operation.

status

Status

Operation status.

UpdateGPUPoliciesResponse.Result#

Result describes the result of setting the power limit of one GPU.

Field

Type

Description

resource_name

string

The node name containing this GPU.

oneof _gpu_id.gpu_id

optional uint32

The GPU id within the node.

ok

bool

Whether or not the operation was successful.

set_limit

double

The actual limit set.

diag_msg

string

Diagnostic msg, if any.

oneof _gpu_uuid.gpu_uuid

optional string

Hardware-backed Redfish Processor UUID.

UpdateGPUPoliciesStatus#

UpdateGPUPoliciesStatus describes aggregate progress for a streamed GPU policy update.

Field

Type

Description

completed

bool

Will be true on the last message of the stream.

status

Status

If completed, operation status.

n_hosts

uint32

Number of nodes in the request.

n_success

uint32

Number of node requests completed successfully.

n_failed

uint32

Number of node requests failed.

n_in_progress

uint32

Number of node requests in progress.

n_gpus

uint32

Number of GPU policy entries in the request.

n_gpus_success

uint32

Number of GPU policy entries completed successfully.

n_gpus_failed

uint32

Number of GPU policy entries failed.

n_gpus_in_progress

uint32

Number of GPU policy entries in progress.

WorkloadProfileIDs#

WorkloadProfileIDs is a wrapper around an array of workload profile IDs

Field

Type

Description

ids

repeated int32

none

Scalar Value Types#

.proto Type

Notes

C++ Type

Java Type

Python Type

double

double

double

float

float

float

float

float

int32

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.

int32

int

int

int64

Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.

int64

long

int/long

uint32

Uses variable-length encoding.

uint32

int

int/long

uint64

Uses variable-length encoding.

uint64

long

int/long

sint32

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.

int32

int

int

sint64

Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.

int64

long

int/long

fixed32

Always four bytes. More efficient than uint32 if values are often greater than 2^28.

uint32

int

int

fixed64

Always eight bytes. More efficient than uint64 if values are often greater than 2^56.

uint64

long

int/long

sfixed32

Always four bytes.

int32

int

int

sfixed64

Always eight bytes.

int64

long

int/long

bool

bool

boolean

boolean

string

A string must always contain UTF-8 encoded or 7-bit ASCII text.

string

String

str/unicode

bytes

May contain any arbitrary sequence of bytes.

string

ByteString

str