TRENDING
A mountain gorilla looks at the camera from green forest undergrowth
October 28, 2026
How to Compress Time-Series Metrics in Python With Gorilla Delta-of-Delta and XOR Encoding
A bronze-framed hourglass with white sand beside a small Ferris wheel ornament on a wooden table against a teal wall
October 28, 2026
NIST’s Final Post-Quantum Transition Report Puts Every Quantum-Vulnerable Public-Key Scheme on One 2030 and 2035 Clock, and Three Federal Documents Word the Deadline Three Ways
Six weathered stone columns of the Temple of Apollo at Delphi, Greece, standing on a stone platform above a valley of olive groves
October 28, 2026
Honeypots Recorded Probes Against Oracle E-Business Suite CVE-2026-101767 Seven Days After Its Patch, and the Finder’s Write-Up Is Dated Patch Day
Vintage silver stopwatch with a chain on a black background, its dial showing seconds from 5 to 60
October 28, 2026
How to Find a Slow Query in PostgreSQL 18 With pg_stat_statements, Read Its EXPLAIN ANALYZE Plan, and Fix It With the Right Index
A wooden Tower of Hanoi puzzle on a market table, with three pegs and stacked discs of different sizes
October 28, 2026
Two Labs’ Claimed Refutations of the Exponential Time Hypothesis Turn Verification Into a Statement-Reading Problem, and Their Lean Theorems Promise Only That a Constant Exists
28 Oct 2026
SXZ.io SXZ.io
  • Home
Search the Site
Popular Searches:
Technology Amazon AI
Recent Posts
A flock of snow geese in flight, seen as dark silhouettes against an orange and red sunset sky with layered clouds
How to Run Zero-Downtime Schema Migrations on PostgreSQL 18 and Block Unsafe ALTER TABLE Statements With a Python Lint Gate
October 28, 2026
An old green steel truss bridge resting on temporary supports beside a new arch bridge under completion on a river in Portland, Oregon
The Angular 2 Rewrite Turns a Migration Lesson Into a Security Bill: AngularJS Still Draws 533,480 Downloads a Week, and 10 Advisories Have No Open-Source Fix
October 28, 2026
Hundreds of yellow rubber ducks floating in a river enclosure during a duck race
WordPress 7.1.4 Closes an Unauthenticated Race in Its Own Update Routine, but 19 Older Branches Had No Backport Hours After Release
October 28, 2026
SXZ.io SXZ.io
  • Home

Categories

Articles 270 Posts
News 273 Posts
Learning Hub 243 Posts
Home/Articles/HAMi’s CNCF Incubation Shows Why Kubernetes Still Needs GPU-Sharing Middleware
Articles

HAMi’s CNCF Incubation Shows Why Kubernetes Still Needs GPU-Sharing Middleware

CNCF has accepted HAMi as an incubating project for GPU sharing on Kubernetes, though its own roadmap treats native DRA scheduling as the eventual destination.

July 15, 2026 6 Min Read
77

The Cloud Native Computing Foundation’s Technical Oversight Committee has accepted HAMi, an open source GPU virtualization project for Kubernetes, as a CNCF incubating project. HAMi’s own CNCF project page dates the move to July 2, 2026; the foundation’s blog post publicizing it went up July 15.

Table Of Content

  • The Problem: Kubernetes Still Treats a GPU as All or Nothing
  • Time-Slicing and MIG Cover Part of the Gap, Not All of It
  • How HAMi Slices a GPU Without Touching the Driver
  • What CNCF’s Incubation Vote Actually Confirms
  • The DRA Question: Does This Middleware Have an Expiration Date?

HAMi (Heterogeneous AI Computing Virtualization Middleware, formerly known as k8s-vGPU-scheduler) solves a problem Kubernetes still does not handle well by itself: letting more than one workload share an expensive GPU without wasting most of its capacity. Its incubation lands at a specific moment, just as Kubernetes’ own native answer to fine-grained device sharing, Dynamic Resource Allocation (DRA), has reached general availability. That timing raises an obvious question for platform teams: if Kubernetes itself can now describe GPUs in detail, why does a third-party middleware project still need its own governance track and roadmap?

The Problem: Kubernetes Still Treats a GPU as All or Nothing

According to HAMi’s own engineering documentation, a typical AI inference service uses only 20 to 40 percent of a GPU’s compute capacity and a small slice of its memory, leaving the rest idle. On cheap hardware that would be a minor inefficiency. On data center GPUs costing tens of thousands of dollars each, it is a direct cost problem.

The root cause, per the same documentation, is how Kubernetes’ Device Plugin extension mechanism works. A Device Plugin runs as a DaemonSet on each GPU node, registers with the kubelet, and reports available devices to the API server as plain integers (for example, nvidia.com/gpu: 1). That interface has no concept of a VRAM quota or a fractional core count. A pod either gets an entire physical GPU or it waits for one to free up, regardless of how little of that GPU its workload actually needs.

Time-Slicing and MIG Cover Part of the Gap, Not All of It

Two existing approaches soften this limitation, and HAMi’s documentation is candid about where each one falls short. NVIDIA’s own Time-Slicing lets multiple pods run concurrently on one GPU, but it enforces no memory isolation between them: if one pod’s process runs out of memory, it can crash every other workload sharing that card. NVIDIA’s MIG (Multi-Instance GPU) hardware partitioning provides real isolation at the silicon level, but only on datacenter-class cards such as the A100 and H100, which rules it out for older or lower-tier hardware and for accelerators from other vendors entirely.

HAMi’s pitch is a middle path: software-level isolation that works without new hardware and without locking a cluster to a single vendor’s top-tier cards.

How HAMi Slices a GPU Without Touching the Driver

Rather than waiting on hardware vendors or changing application code, HAMi intercepts calls at the CUDA API layer. Per the CNCF blog’s description of the project’s components, HAMi is built from a Mutating Webhook that intercepts pod submissions in the Kubernetes API server and rewrites scheduler fields and resource requests; a Scheduler Extender that filters, scores, and binds pods to nodes and devices using binpack, spread, and topology-aware placement policies; vendor-specific Device Plugins that register accelerators with Kubernetes and allocate fractional device resources to containers; and HAMi-Core, the in-container virtualization layer that enforces hard runtime limits on GPU memory and compute by intercepting the native CUDA driver on NVIDIA devices.

HAMi’s documentation describes that interception in more detail: a dynamic library, libvgpu.so, gets mounted into a container during the Device Plugin’s allocation step and overrides dlsym to hijack the NVIDIA library calls an application makes, enforcing whatever memory and compute limits were assigned to that pod. A workload that tries to allocate more VRAM than it was granted gets an out-of-memory error instead of quietly taking capacity from its neighbors. Operators declare what a pod needs using two custom resource names, nvidia.com/gpumem for VRAM in mebibytes and nvidia.com/gpucores for a compute percentage share, rather than the single whole-device integer Kubernetes understands natively.

Beyond the scheduling internals, CNCF’s write-up also credits the project with HAMi-WebUI, a visual interface for cluster and device management that gives operators visibility into allocation and utilization across a fleet, and an observability layer built on a Prometheus-compatible metrics endpoint with sample Grafana dashboards for tracking accelerator usage cluster-wide. The full source is maintained in the project’s GitHub repository.

What CNCF’s Incubation Vote Actually Confirms

CNCF grades projects on three maturity levels. By the foundation’s own definitions, Sandbox covers experimental projects not yet widely tested in production; Incubating covers projects already used successfully in production by a small number of users with a healthy pool of contributors; Graduated is reserved for projects considered stable, widely adopted, and production ready, attracting thousands of contributors. Moving up a level requires a Technical Oversight Committee vote, not just a maintainer’s say-so.

HAMi entered CNCF Sandbox on August 21, 2024. The metrics behind its move to Incubating show a project well past its early stage, though the exact figures depend on which CNCF source is measuring and when. The CNCF blog post accompanying the announcement puts the project at 2,687 contributors, up 43 percent year over year at the time it was written, and more than 550 contributing organizations. CNCF’s live project page, powered by its LFX Insights dashboard, now shows 2,851 contributors (up 48 percent year over year) and 587 contributing organizations (up 56 percent), current as of this writing. Both figures come directly from CNCF; the gap between them simply reflects a fast-growing project measured a few weeks apart. That same live dashboard rates HAMi’s automated health score at 83 out of 100, in its “Excellent” band. The codebase traces to a first commit on March 15, 2020, and the current stable release is v2.9.0.

CNCF’s announcement also points to concrete production use behind those numbers: five independent CNCF case studies have been published on HAMi so far, including DaoCloud’s deployment of the project across more than 10,000 GPUs in over 10 data centers in mainland China and Hong Kong, and China Merchants Bank’s use of HAMi to manage diverse accelerator resources at scale. “Seeing HAMi reach Incubation is a proud moment for all of us,” HAMi maintainer Xiao Zhang said in CNCF’s announcement. “HAMi now supports dozens of Heterogeneous GPU and has grown into a global community with hundreds of contributors and hundreds of end users. What makes this milestone meaningful is not just the technology, but the real ecosystem momentum behind it.”

The DRA Question: Does This Middleware Have an Expiration Date?

Kubernetes’ own long-term answer to heterogeneous device scheduling is Dynamic Resource Allocation. DRA introduces a set of APIs, ResourceClaim, DeviceClass, and ResourceSlice, that let a device driver describe its hardware’s real attributes directly to the scheduler and let users filter for things like a minimum VRAM size or a specific GPU model using CEL expressions. Per HAMi’s own documentation, DRA was promoted to general availability in Kubernetes v1.34.

HAMi’s own team is not ignoring that shift. Its documentation states plainly that HAMi still runs on the older Device Plugin model today, and that the team has already launched a separate HAMi-DRA subproject (currently v0.1.0, requiring Kubernetes 1.34 or newer) that converts HAMi’s GPU resource requests into native DRA ResourceClaim objects through a Mutating Webhook. By the project’s own description, that subproject exists as a transitional bridge toward DRA, not a permanent second architecture. CNCF’s roadmap summary for the project reinforces the same point from a different angle: alongside plans for gang-scheduling, preemption, and autoscaling, and expanding device support to AMD’s MI series and PPU accelerators, HAMi’s maintainers list “providing a solution for monitoring DRA consumption” as a committed near-term priority, alongside closer collaboration with other CNCF-adjacent scheduling projects such as KAI-scheduler, Koordinator, Kueue, llm-d, and Volcano.

That is arguably the more interesting story than the incubation vote itself. A CNCF Incubating project, backed by hundreds of contributing organizations, is treating Kubernetes’ native scheduling API as its eventual destination rather than its rival. For platform teams running shared GPU inference workloads today, that is a reason to adopt HAMi’s current Device Plugin based approach now, while watching the HAMi-DRA subproject and their own cluster’s path to Kubernetes 1.34 and newer as the migration route once DRA support matures across GPU vendors’ drivers, rather than treating either option as a permanent architectural bet.

Tags:

AI InfrastructureCNCFGPU VirtualizationHAMiKubernetes

Share

A person works alone at a laptop in an elegant open-plan office with glass walls and ornate architectural ceiling details
Previous Post

Anthropic, Blackstone, and Hellman & Friedman Launch Ode to Sell AI Implementation

Headlamp home screen showing three connected Kubernetes clusters (demo-aks, docker-desktop, and minikube) with status and Kubernetes version columns
Next Post

How to Migrate From the Archived Kubernetes Dashboard to Headlamp

No Comment! Be the first one.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Latest
28 Oct
How to Run Zero-Downtime Schema Migrations on PostgreSQL 18 and Block Unsafe ALTER TABLE Statements With a Python Lint Gate
28 Oct
The Angular 2 Rewrite Turns a Migration Lesson Into a Security Bill: AngularJS Still Draws 533,480 Downloads a Week, and 10 Advisories Have No Open-Source Fix
Trending
October 28, 2026
How to Run Zero-Downtime Schema Migrations on PostgreSQL 18 and Block Unsafe ALTER TABLE Statements With a Python Lint Gate
October 28, 2026
The Angular 2 Rewrite Turns a Migration Lesson Into a Security Bill: AngularJS Still Draws 533,480 Downloads a Week, and 10 Advisories Have No Open-Source Fix
October 28, 2026
WordPress 7.1.4 Closes an Unauthenticated Race in Its Own Update Routine, but 19 Older Branches Had No Backport Hours After Release
October 28, 2026
How to Compress Time-Series Metrics in Python With Gorilla Delta-of-Delta and XOR Encoding
October 28, 2026
NIST’s Final Post-Quantum Transition Report Puts Every Quantum-Vulnerable Public-Key Scheme on One 2030 and 2035 Clock, and Three Federal Documents Word the Deadline Three Ways
October 28, 2026
Honeypots Recorded Probes Against Oracle E-Business Suite CVE-2026-101767 Seven Days After Its Patch, and the Finder’s Write-Up Is Dated Patch Day

Related Posts

Blue-lit server racks in a modern data center, illustrating the compute infrastructure behind the AI boom.
Articles

The AI Boom Is Spending Real Money Before Proving Real Returns

June 7, 2026
Technician working with a laptop beside server racks, representing enterprise AI retrieval infrastructure
Articles

Google’s Agentic RAG Push Makes Enterprise AI Less of a One-Shot Guess

June 7, 2026
A person with a laptop and smartphone, representing digital attention and AI-assisted work
Articles

AI Chatbots Are Making Attention a Design Problem

June 7, 2026
A customer-support representative wearing a headset against a dark studio background.
Articles

The Meta AI Support Hack Was a Plain Old Authorization Failure

June 7, 2026
SXZ.io SXZ.io
  • [email protected]

Categories

Articles
Learning Hub
News

All Rights Reserved by SXZ.io ©2026