Skip to content
KEP Brain

KEP-4815keps/sig-scheduling/4815-dra-partitionable-devices

DRA Partitionable Devices

implementablestablesig-schedulinglatest v1.38
One of the original use-cases for Dynamic Resource Allocation (DRA) was the ability to dynamically allocate partitions of a full device (in addition to the full device itself). Whereas the traditional device plugin API forces users to statically partition devices ahead of time, DRA was designed to allow those partitions to be created on demand. This leads to… Full summary

One of the original use-cases for Dynamic Resource Allocation (DRA) was the ability to dynamically allocate partitions of a full device (in addition to the full device itself). Whereas the traditional device plugin API forces users to statically partition devices ahead of time, DRA was designed to allow those partitions to be created on demand. This leads to increased resource utilization as the size of each partitioned device can be matched in real-time to the workload requesting it. Devices represented in DRA don't necessarily have to be a single unit connected to a single machine, but can also be a logical device comprised of multiple devices connected to multiple machines. Similar to the single device partitioning, users might require either the full multi-host device or a subset. As DRA has evolved from what we now call "classic" DRA to "structured parameters" this ability to dynamically partition devices has been lost. This KEP proposes a method to bring this capability back within the framework that "structured parameters" provides. Additionally, it provides primitives to represent both full devices and their partitions in a more compact way than is possible today. Note that the extensions proposed in this KEP are completely transparent to the end-user. In 1.31, it is already possible to select a device partition via a ResourceClaim, so long as the device vendor has pre-partitioned its devices and advertised them as such inside a ResourceSlice. The user-facing mechanism to select these devices doesn't change with the extensions proposed in this KEP. Instead, the proposed extensions provide the ability for a vendor to advertise "overlapping" partitions, such that the scheduler will never allocate conflicting ones at the same time. This, in turn, gives the vendor the opportunity to dynamically create these partitions after they have been allocated, rather than requiring them to be created before.

Facts

PRR approvers
@johnbelamaricalpha@johnbelamaricbeta@johnbelamaricstable
Tracking issue
#4815(opens GitHub in a new tab) openmilestone v1.38sig/nodesig/schedulingstage/stabletracked/yeslead-opted-inwg/device-management
Milestones
alpha v1.33beta v1.36stable v1.38
Participating SIGs
sig-nodesig-autoscaling
Feature gates
DRAPartitionableDevices
Created / last updated
2024-09-25 / none
Loading decisions and status history

Keyboard shortcuts

Everywhere

?
Show or hide this list
/
Focus the question box on Ask, otherwise the page search
Ctrl Kor⌘ K
Focus the KEP search in the top bar
t
Switch the theme (system, light, dark)
Esc
Close a dialog, a search list or a menu

Go to a page

Press g, then the letter

g h
Home
g a
Ask
g e
Explore
g u
Audit
g m
Memory
g b
About

Ask

Enter
Send the question
Shift Enter
New line in the question
Esc
Cancel the running question

Search lists

KEP search and Explore search

↓or↑
Move through the results
HomeorEnd
First or last result (Explore)
Enter
Open the highlighted result, or KEP-n when the query is a number

KEP page

o
Open the KEP on GitHub
y
Open kep.yaml on GitHub
a
Ask about this KEP
←or→
Previous or next tab, when a tab is focused

Findings table

With a finding row focused (Tab into the table or click a row)

jork
Next or previous finding
EnterorSpace
Expand or collapse the finding
o
Open the finding's KEP page
d
Draft the fix as an issue text (nothing is posted)
]or[
Next or previous page of findings

Shortcuts pause while you type in a field. Press ? or Esc to close.