---
title: "Smarter GPU sharing: How Red Hat build of Kueue works with dynamic resource allocation"
description: "The Kubernetes device plugin model treats GPUs as anonymous integers, making fair sharing impossible because a full 80 GB GPU and a 5 GB partition both consume ‘1’ from the same quota. Dynamic resource allocation (DRA), generally available in Kubernetes 1.34, replaces this by having drivers advertise real device attributes like memory and compute capability, but DRA alone does not address quota management or preemption. Red Hat build of Kueue 1.4 on Red Hat OpenShift integrates with DRA to enforce quota, borrowing, and preemption for both whole GPUs and partitionable devices using device-count or counter-based memory accounting. For partitionable GPUs, Kueue reads counter data from DRA drivers and charges GPU memory against ClusterQueue quota instead of device count, enabling accurate fair sharing between training and inference workloads. Future developments include extended resources for simpler adoption without ResourceClaimTemplates, consumable capacity for dynamic time-slicing, and scheduler-library integration to verify scheduling feasibility."
---

# Smarter GPU sharing: How Red Hat build of Kueue works with dynamic resource allocation

[Red Hat](https://yomu.fyi/company/red-hat) · Pannaga Rao Bhoja Ramamanohara · Oct 2, 2026

**Type:** Explainer

## Summary

The Kubernetes device plugin model treats GPUs as anonymous integers, making fair sharing impossible because a full 80 GB GPU and a 5 GB partition both consume ‘1’ from the same quota. Dynamic resource allocation (DRA), generally available in Kubernetes 1.34, replaces this by having drivers advertise real device attributes like memory and compute capability, but DRA alone does not address quota management or preemption. Red Hat build of Kueue 1.4 on Red Hat OpenShift integrates with DRA to enforce quota, borrowing, and preemption for both whole GPUs and partitionable devices using device-count or counter-based memory accounting. For partitionable GPUs, Kueue reads counter data from DRA drivers and charges GPU memory against ClusterQueue quota instead of device count, enabling accurate fair sharing between training and inference workloads. Future developments include extended resources for simpler adoption without ResourceClaimTemplates, consumable capacity for dynamic time-slicing, and scheduler-library integration to verify scheduling feasibility.

## Context

The Kubernetes device plugin model treats GPUs as anonymous integers, making fair sharing impossible because a full GPU and a small partition both consume ‘1’ from the same quota. DRA solves discovery and allocation but not quota management. Kueue fills that gap.

## Approach / What changed

Kueue integrates with DRA by reading ResourceClaimTemplates, resolving DeviceClasses to quota resources, and charging device counts or counter-based memory against ClusterQueue quota. It uses existing Kueue machinery for borrowing, preemption, and fair sharing. For partitionable GPUs, it uses counter-based quota from DRA drivers.

## Takeaways

- DRA replaces the device plugin model by advertising real device attributes (memory, compute capability) through structured APIs, enabling accurate resource accounting.
- Kueue’s integration with DRA allows quota enforcement for whole GPUs by mapping DeviceClasses to logical quota resources, and for partitionable GPUs by charging memory counters instead of device counts.
- Future developments include extended resources for simpler adoption, consumable capacity for dynamic sharing via time-slicing/MPS, and scheduler-library integration to verify scheduling feasibility before admission.

## FAQ

### How does Kueue enforce GPU quota with DRA?

Kueue reads ResourceClaimTemplates, resolves DeviceClass to quota resource, and charges device count or memory counter against ClusterQueue quota, using existing borrowing, preemption, and fair sharing.

### What is the difference between device-count quota and counter-based quota for partitionable GPUs?

Device-count quota treats a whole GPU and a partition as '1 device', making fair sharing impossible. Counter-based quota charges GPU memory proportionally, so a 10 GB partition consumes less quota than an 80 GB GPU.

### What future features are planned for Kueue's DRA integration?

Extended resources for simpler adoption, consumable capacity for dynamic sharing via time-slicing/MPS, and scheduler-library integration to verify scheduling feasibility before admission.

**Tags:** [Dynamic Resource Allocation](https://yomu.fyi/topic/dynamic-resource-allocation), [GPU](https://yomu.fyi/topic/gpu), [Kubernetes](https://yomu.fyi/topic/kubernetes), [Kueue](https://yomu.fyi/topic/kueue), [OpenShift](https://yomu.fyi/topic/openshift)

- Source: [Red Hat](https://developers.redhat.com/articles/2026/10/02/smarter-gpu-sharing-how-red-hat-build-of-kueue-works-with-dynamic-resource-allocation)
- Source URL: https://developers.redhat.com/articles/2026/10/02/smarter-gpu-sharing-how-red-hat-build-of-kueue-works-with-dynamic-resource-allocation
- Ingested by Yomu: 2026-10-02T15:00:06.475Z

[Read original post](https://developers.redhat.com/articles/2026/10/02/smarter-gpu-sharing-how-red-hat-build-of-kueue-works-with-dynamic-resource-allocation)
