Skip to main content

Hami

Hami is a Kubernetes scheduling extension framework (container orchestration) that provides workload placement capabilities for heterogeneous resources such as GPUs and other accelerators.

  • Extension framework for Kubernetes scheduling behaviors (container orchestration)
  • Supports heterogeneous resource scheduling including GPUs and similar accelerators (infrastructure resource management)
  • Plugin-based design for integrating custom scheduling logic into Kubernetes (platform extensibility)
  • Aims to improve utilization of specialized hardware resources in Kubernetes clusters (capacity management)
  • Targets cloud native environments aligned with CNCF ecosystems (cloud native infrastructure)

More About Hami

Hami is a Kubernetes scheduling extension framework (container orchestration) focused on heterogeneous resource management, with an emphasis on Graphics Processing Unit (GPU) and accelerator-aware workload placement in cloud native environments. It is developed as part of the Cloud Native Computing Foundation (CNCF) ecosystem and targets operators that need finer-grained scheduling control for specialized hardware in Kubernetes clusters.

The project addresses the problem that default Kubernetes scheduling (infrastructure resource management) does not natively capture all constraints and topology aspects of GPUs and other accelerators, such as device sharing policies, Non-Uniform Memory Access (NUMA) locality, or combinations of heterogeneous devices on the same node. Hami introduces an extensible mechanism to incorporate custom scheduling logic so that workloads requesting these resources can be matched to nodes in a way that adheres to hardware constraints and cluster policies.

Hami typically operates as an extension to the Kubernetes scheduler (platform extensibility), using a plugin-style architecture where additional scheduling stages or decisions can be added without replacing the core scheduler. Through its framework, organizations can implement policies for GPU placement, gang or batch scheduling for accelerator workloads, or rules for mixing different workload types on the same hosts. This design aims to align Kubernetes scheduling with the operational characteristics of Artificial Intelligence (AI), Machine Learning (ML), and High performance computing (HPC) workloads that depend on GPUs or similar devices.

In enterprise environments, Hami is used to improve hardware utilization and policy compliance when running containerized applications that rely on heterogeneous resources (infrastructure optimization). Platform and Site Reliability Engineering (SRE) teams can define rules that reflect internal policies, service-level objectives, or regulatory constraints around resource sharing and isolation. By integrating with standard Kubernetes APIs, Hami preserves existing deployment workflows based on manifests, labels, taints, and tolerations, while adding more detailed placement logic for accelerators.

From an architectural perspective, Hami fits into the Kubernetes Control Plane (KCP) as a scheduling extension (control plane integration). It works alongside other CNCF projects in cloud native stacks and is compatible with common Kubernetes distributions as long as they support the scheduler extension interfaces used by the framework. For technical taxonomies, Hami can be categorized under container orchestration, cluster resource management, GPU and accelerator scheduling, and Kubernetes platform extensibility tools.