Skip to content

DRA: Handle core resource requests through DRA #5517

@pravk03

Description

@pravk03

Enhancement Description

Using DRA drivers for core resources (like dra-driver-cpu), enables fine-grained resource management but introduces a critical accounting problem. The standard kube-scheduler resource accounting model is unaware of allocations made by the DynamicResources plugin, and vice-versa, leading to a potential resource oversubscription on nodes. While a synchronization model similar to the one used for DRA Extended Resources is needed, the same solution cannot be applied directly. The key difference is that extended resources are advertised either through the node object (node.status.allocatable) or via ResourceSlice, but not both simultaneously for the same node. In contrast, core resources like CPU are always present in node.status.allocatable, and a DRA driver would also manage them via ResourceSlice. This simultaneous representation creates a unique challenge that requires a unified accounting model.

cc: @johnbelamaric, @mortent , @ffromani , @yujuhong , @dchen1107

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

Metadata

Metadata

Assignees

Labels

lead-opted-inDenotes that an issue has been opted in to a releasesig/nodeCategorizes an issue or PR as relevant to SIG Node.sig/schedulingCategorizes an issue or PR as relevant to SIG Scheduling.wg/device-managementCategorizes an issue or PR as relevant to WG Device Management.

Type

No type

Projects

Status

🏗 In progress

Status

Needs Triage

Status

Proposed for consideration

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions