Case Study

CETC Cloud

CETC Cloud Builds a Heterogeneous GPU Shared Resource Foundation for a Portable Knowledge Base with HAMi

CETC Cloud (Beijing) Technology needed to bring its intelligent knowledge base to project sites, running text generation, embedding, rerank, knowledge processing, and R&D debugging workloads together on a single set of portable devices equipped with heterogeneous GPUs. The team adopted Kubernetes and HAMi to turn these limited heterogeneous GPUs, previously bound long-term to individual services, into resources that production models and Kubernetes development environments can request, share, and schedule on demand.

On top of this resource foundation, text generation, vector embedding, and rerank models form a complete knowledge base pipeline; a single heterogeneous GPU can also be shared by multiple Kubernetes dev Pods/containers through HAMi’s virtualization capability.

Challenges:
Location:
Cloud Type:
Published:
September 8, 2026

Projects used

By the numbers

15X dev capacity

increased from 2 to 30 concurrent dev Pods on the same 8-GPU portable device. 

87.5% VRAM Reclaimed

Embedding went from occupying an entire 64 GB GPU to an 8 GB allocation, leaving 56 GB reusable. 

80% Compute Reclaimed

Embedding was allocated 20% of GPU compute, leaving the remaining 80% schedulable for other workloads. 

Case Information

ItemDetail
UserCETC Cloud technical team
Business scenarioAn intelligent knowledge base appliance that can be carried to project sites and run independently
Deployment environmentKubernetes and on-premises heterogeneous GPUs
Projects usedKubernetes, HAMi
Core challengesMulti-model coordination, shared production and development

Scope of Practice

Knowledge base production pipelineKubernetes dev environment
Text generation, Embedding, RerankMultiple dev Pods/containers share a single heterogeneous GPU

This practice covers two GPU usage paths: knowledge base production models primarily use local stable resources, while Kubernetes dev Pods/containers share the local heterogeneous GPU through HAMi.

Flow chart image of the Portable Intelligent Knowledge Base

Figure 1: Production models and the Kubernetes dev environment each use the local heterogeneous GPU through HAMi.

One portable device must serve both production and R&D

The knowledge base’s online Q&A depends on text generation, vector retrieval, and rerank; once data enters the system it must also go through parsing, chunking, vectorization, knowledge extraction, and index building. R&D engineers also need to debug models, validate dependencies, and run experiments inside Kubernetes dev Pods/containers. These workloads use GPUs in very different ways:

If each service or dev environment continues to bind a whole card long-term, the limited devices are quickly exhausted logically; if the team only pursues the finest possible partitioning, it amplifies VRAM shortages, scheduling jitter, and fault propagation. The team needed a way for each workload type to describe its own needs, then let the platform complete resource placement based on device state and service tier.

Figure 2: Business documents enter the knowledge base through parsing, embedding, and index building; an online question goes through retrieval, rerank, and text generation to produce an answer, citation, or report.

Figure 2: Business documents enter the knowledge base through parsing, embedding, and index building; an online question goes through retrieval, rerank, and text generation to produce an answer, citation, or report.

Why HAMi

CETC Cloud wanted to keep the Kubernetes application delivery model while letting the platform further understand whether heterogeneous GPU devices can satisfy workload requests, and letting dev environments suited to sharing reuse the same physical GPU. The Kubernetes-native resource declaration, device-aware placement, device sharing, and runtime observation provided by HAMi map directly onto these three requirements.

The value of HAMi is not merely representing one physical card as multiple resource shares; more importantly, it establishes a common resource contract:

From resource profiling to sharing the heterogeneous GPU

The team built resource profiles around workload characteristics, focusing on model loading, peak usage, concurrency, latency, and long-running behavior, then translated the validated requirements into Kubernetes resource requests. Production models and dev environments follow different strategies:

  1. Stable boundaries for the online path. Text generation, online vector retrieval, and rerank receive stable resources first.
  2. Periodic tasks may queue and run off-peak. Document vectorization, knowledge extraction, and index rebuilding run when online load is low.
  3. Dev environments share a single heterogeneous GPU. Multiple Kubernetes dev Pods/containers reuse a heterogeneous GPU through HAMi’s virtualization, instead of each dev environment holding a device exclusively long-term.
  4. Configuration is corrected by real load. Partitioning granularity comes from baseline validation and runtime observation, not from a preset ratio assumed universal across models.

This resource governance approach delivers four product capabilities:

Quantified result: per-device dev environment capacity rises from 2 to 30

On the same portable device equipped with 8 heterogeneous GPUs, the team compared resource capacity before and after introducing HAMi on a consistent basis:

Comparison itemWithout HAMiWith HAMi
Text generation modelsExclusively occupies 4 heterogeneous GPUsStill exclusively occupies 4 heterogeneous GPUs
Embedding and RerankEach exclusively occupies 1 heterogeneous GPUEach requests an 8GB GPU VRAM quota
Capacity available to dev environmentsRemaining 2 GPUs, hosting only 2 dev PodsVerified to host 30 dev Pods concurrently
Dev environment capacityBaselineIncreased to 15× the original

The VRAM quota for a dev Pod is requested by users according to their task needs; the platform does not set a unified fixed value. Under the current model quotas and dev load, the team completed the validation of 30 dev Pods running simultaneously.

Single-card resource comparison for the Embedding model

The Embedding model actually needs about 8GB of VRAM on a single 64GB heterogeneous GPU. Under whole-card exclusive use, the model consumes only ~12.5% of the VRAM, but the remaining resources cannot be claimed by other workloads; after introducing HAMi, the team allocated 8GB of VRAM and 20% compute to the model as required and brought the remaining resources back into scheduling. Using the same model image, request set, and concurrency configuration, the team compared whole-card exclusive use against HAMi partitioning.

MetricWithout HAMiWith HAMi
Embedding VRAM allocationExclusively occupies the whole 64GB GPU8GB allocated on demand
Actual model VRAM requirement~8GB~8GB
VRAM reusable by other tasks0GB56GB, i.e. 87.5% of the whole card
Embedding compute allocationExclusively occupies the whole card20% allocated, the remaining 80% schedulable
Token throughput (tokens/s)BaselineWithin 5% of whole-card exclusive use
Model load timeBaselineEssentially identical to whole-card exclusive use; no notable change observed
P95 request latencyBaselineEssentially identical to whole-card exclusive use; no notable change observed

This same-card, same-model comparison shows that HAMi moved Embedding from whole-card exclusive use to on-demand allocation, releasing VRAM and compute while keeping the Token throughput change within 5% and model load time and P95 request latency essentially stable, letting the same heterogeneous GPU continue to host dev environments or other sharing-friendly tasks.

Figure 3: After introducing HAMi, Embedding shifted from whole-card exclusive use to on-demand allocation, releasing 56GB of VRAM and 80% of compute on a single card for other tasks to schedule; the device's dev Pod capacity rose from 2 to 30.

Lessons learned

First, heterogeneous GPU sharing should start from workload profiles, not from a preset uniform partitioning ratio. Production models, batch tasks, and dev environments differ in their requirements for latency, VRAM, throughput, and isolation, so their resource policies should differ too.

Second, R&D environments are an important consumer of shared GPUs. Running dev environments in Kubernetes Pods/containers reuses the same resource declarations and scheduling method as production services, while avoiding each dev environment holding a device exclusively long-term.

In the next phase, CETC Cloud will keep refining the capacity and health views for production and R&D workloads, and add reproducible experimental data across different models, networks, and calling patterns.

About HAMi

HAMi is an open source project for heterogeneous compute virtualization and unified scheduling, co-founded by Li Mengxuan and Zhang Xiao, and now a CNCF Incubating project. With the mission of “making heterogeneous compute easy to use through open source,” it is dedicated to improving heterogeneous compute utilization and providing a unified reuse interface for heterogeneous GPUs. HAMi today supports a wide range of heterogeneous accelerators, including NVIDIA, Ascend, Cambricon, Hygon, Iluvatar CoreX, Moore Threads, MetaX, Enflame, Kunlunxin, AWS Neuron, and Vastai. It integrates broadly with projects such as Volcano, Kueue, Koordinator, vLLM, and KAI Scheduler, has drawn more than 500 contributors from over 20 countries and regions, and is already running in production at hundreds of enterprises.

About the CETC Cloud technical team

The CETC Cloud technical team in this case is responsible for the product development and engineering delivery of the portable intelligent knowledge base, building product capabilities around on-site local operation, knowledge processing, model serving, and dev environments.

You are welcome to exchange practical questions about shared GPUs and portable AI through the HAMi community.