Insights Business| SaaS| Technology MIG, Time-Slicing and MPS Compared: Isolation for Shared Multi-Tenant GPUs
Business
|
SaaS
|
Technology
•
Nov 1, 2026

MIG, Time-Slicing and MPS Compared: Isolation for Shared Multi-Tenant GPUs

AUTHOR

James A. Wondrasek James A. Wondrasek
MIG, Time-Slicing and MPS Compared for Shared Multi-Tenant GPUs

You have probably sat through the pitch where someone promises each team a quarter of an H100. It looks tidy on a spreadsheet. Ten services using 15% of a card ought to fit across two devices. GPU utilisation across managed Kubernetes clusters averages near 5%, which makes sharing commercially tempting.

A fractional GPU describes how capacity is sold and scheduled. It says nothing about what one tenant can do to another.

MIG, time-slicing, and MPS operate on the silicon. HAMi and fractional GPU operators are Kubernetes schedulers sitting above them. Conflating the two layers mistakes accounting for protection. You need to understand the trust-boundary question running through the retrofit across the whole stack.

How do I choose between MIG, time-slicing, MPS, HAMi and a fractional GPU operator for multi-tenant inference and mixed training?

Pick your device mechanism first, because MIG, time-slicing, or MPS determines what the silicon enforces. Use MIG for predictable inference with dedicated memory, time-slicing for interactive notebooks, and MPS for high-throughput cooperative kernels where tenants already share trust. Mixed training requires dedicated devices.

Workload requirements dictate the right device primitive:

Once the device mechanism is settled, choose your scheduler for how fractions are represented in Kubernetes. A fractional GPU operator makes fractions schedulable; it does not make them safe. Tools like Run:ai and KAI Scheduler provide cluster scheduling alongside a fractional operator that manages driver memory limits, while HAMi governs resources inside the container via library interception. Both inherit the isolation of whichever device primitive sits underneath.

The sharing mechanisms separate along clear technical lines:

Mixed training is the hardest scenario. Distributed training requires full device memory and predictable bandwidth. Sharing a card with inference causes stalls and out-of-memory crashes. Frameworks like vLLM reserve most VRAM upfront for KV caching, blocking effective sharing. Keep gang-scheduled training jobs on dedicated hardware.

If a scheduler only inherits whatever isolation sits beneath it, you have to ask what that underlying layer actually enforces.

Why is time-slicing a utilisation mechanism rather than a security boundary?

The fault domain under time-slicing is the entire physical GPU. An out-of-memory error, memory leak, or driver crash in one container disrupts your neighbouring tenants on that node. Treat it as an oversubscription technique: it raises reported utilisation and leaves the trust boundary exactly where it was.

Under time-slicing, the NVIDIA device plugin advertises multiple virtual replicas for one GPU. There is no execution quantum or hardware priority scheduler. When one process submits back-to-back kernels, your pods wait.

Because all pods draw from an undivided memory pool, a single workload exhausting VRAM causes the next allocation from a neighbouring pod to fail. Those crashes are easy to misdiagnose as application bugs, leaving your engineers debugging spurious software errors. Increasing your replica count improves packing density while expanding the blast radius.

MPS improves concurrency by pooling processes into one shared context. Trust is unchanged, because the memory space is the same one. As documented by NVIDIA, a fatal client fault can put the MPS server into a FAULT state that terminates every co-located workload on that GPU.

The host stack broadens the risk. As demonstrated in 2024 by CVE-2024-0132 in the NVIDIA Container Toolkit, an attacker exploiting container permissions can escape to the host, accessing every attached GPU and container socket.

MIG restricts the device blast radius to an individual hardware slice, but the host operating system, driver, and container runtime remain shared. Side channels like MIGraine demonstrate that memory contention over Unified Virtual Memory can still leak workload signatures across instances. Because MIG moves the blast radius from the card to the slice, the remaining risk sits above the device.

What should I check before putting shared GPUs in front of tenants who don’t trust each other?

Five layers decide whether shared silicon is acceptable for untrusted tenants. If your contract guarantees only allocation fairness rather than data isolation, treat the infrastructure as shared, not isolated.

Do not let an infrastructure vendor answer a vulnerability at one layer with a promise from another. Work systematically through these checks:

When your tenants genuinely distrust each other, separate physical GPUs or dedicated nodes remain the honest answer.

Conclusion

The hardware mechanism sets the trust boundary. The tenancy agreement only describes billing and capacity, and only the hardware can enforce isolation.

Use MIG when workloads require dependable latency and hard fault boundaries. Use time-slicing where tenants share trust and jobs are interactive, and reserve MPS for concurrent kernels needing maximum throughput. Keep mixed training out of shared pools.

When workloads belong to separate business units or external customers who require verifiable isolation, separate physical GPUs remain the sensible answer. That distinction is central to the rest of the agent workload retrofit.

Frequently Asked Questions

Does MIG make a GPU safe to share between untrusted tenants?

No, it changes the blast radius rather than removing it. MIG partitions the device into separate GPU instances with their own memory and fault domain, so a crash stays inside its slice. But the driver, container toolkit and container runtime remain shared, and documented cross-instance side channels such as MIGraine still apply. Treat MIG as a large improvement, not a trust boundary.

Is MPS more secure than time-slicing?

No. MPS packs more small kernels through one device, but every client shares the same memory space, so memory isolation is no better than time-slicing. It is worse in one narrow respect: a fatal client fault can put the MPS server into a FAULT state and take every attached client with it. Both are utilisation mechanisms, not boundaries.

Should I use vCluster or namespaces plus MIG to separate tenants on shared GPUs?

Neither replaces the other, because they isolate different layers. vCluster separates the API server, custom resources and controllers, which stops one tenant’s operator from reaching another tenant’s objects. MIG separates device memory and faults, and says nothing about who can patch a CRD. Buy both, or state plainly which interference you are accepting.

Does time-slicing get safer if I limit each tenant to a single replica?

No. Replica count changes how many schedulable units the card advertises, not what one context can reach. Every replica still maps onto the same device, the same memory pool and the same fault domain, so a leaked allocation or a wedged context still surfaces for co-tenants. A larger count improves packing and widens the blast radius at the same time.

What actually happens when one tenant’s pod runs out of GPU memory on a shared card?

Everyone on the node feels it. Under time-slicing or MPS there is no partitioned memory, so the exhausted tenant’s failed allocation and any OOM kill land in the shared pool, and neighbours see latency spikes and crashes they did not cause. Those failures usually get filed as model bugs. MIG contains the OOM inside the instance that caused it.

Can I combine these mechanisms, for example time-slicing inside a MIG slice?

Yes, and it is a reasonable pattern when you want a hard memory floor plus shared access to what remains. Time-slicing inside a MIG instance keeps the partition boundary while letting several pods share that slice. Be clear about what you have bought: the slice is still a device-level boundary, and the tenants sharing it inherit time-slicing’s fault domain.

Which GPUs support MIG at all?

Datacenter parts from Ampere onward, which means compute capability 8.0 or higher, with up to seven instances per card and a fixed set of profiles. Consumer cards and older generations do not offer it, so a node pool built on workstation GPUs cannot be made MIG-isolated by configuration. Check the profile table for the exact part before promising slices to tenants.

What is the difference between a MIG GPU Instance and a Compute Instance?

A GPU Instance is the memory slice; a Compute Instance is the set of streaming multiprocessors inside it. Profiles name both: 1g.10gb means one compute slice and 10 GB of memory. The geometry is fixed at creation, so size for the workload’s peak rather than its average.

Why does the GPU show high utilisation while every tenant says their jobs are slow?

Because utilisation counts busy time, not useful work. Time-slicing raises the reported figure by oversubscribing contexts onto one device, so the card looks saturated while each tenant waits its turn. High utilisation on a shared GPU is evidence of packing, not of health. Measure per-tenant latency and queue time before concluding the fleet is efficient.

Does confidential computing close the side-channel gap on shared GPUs?

It is the only mechanism that addresses co-tenant confidentiality rather than co-tenant fairness. TEE-mode GPU memory with attestation lets you verify GPU state before admitting a workload, which counters residual-data and cross-instance probing. It does not repair a shared toolkit or a shared driver. Ask whether it survives the partitioning you chose, and get the answer in writing.

Will Dynamic Resource Allocation make shared GPUs safer?

No. Dynamic Resource Allocation improves how devices and their attributes are requested and allocated, which helps with fractions, topology and accounting. It does not add memory isolation or shrink a fault domain; those are properties of the mechanism underneath. A better scheduler inherits whatever the device enforces, the same rule that governs HAMi and fractional operators.

AUTHOR

James A. Wondrasek James A. Wondrasek

SHARE ARTICLE

Share
Copy Link

Related Articles

Need a reliable team to help achieve your software goals?

Drop us a line! We'd love to discuss your project.

Offices Dots
Offices

BUSINESS HOURS

Monday - Friday
9 AM - 9 PM (Sydney Time)
9 AM - 5 PM (Yogyakarta Time)

Monday - Friday
9 AM - 9 PM (Sydney Time)
9 AM - 5 PM (Yogyakarta Time)

Sydney

SYDNEY

55 Pyrmont Bridge Road
Pyrmont, NSW, 2009
Australia

55 Pyrmont Bridge Road, Pyrmont, NSW, 2009, Australia

+61 2-8123-0997

Yogyakarta

YOGYAKARTA

Unit A & B
Jl. Prof. Herman Yohanes No.1125, Terban, Gondokusuman, Yogyakarta,
Daerah Istimewa Yogyakarta 55223
Indonesia

Unit A & B Jl. Prof. Herman Yohanes No.1125, Yogyakarta, Daerah Istimewa Yogyakarta 55223, Indonesia

+62 274-4539660
Bandung

BANDUNG

JL. Banda No. 30
Bandung 40115
Indonesia

JL. Banda No. 30, Bandung 40115, Indonesia

+62 858-6514-9577

Subscribe to our newsletter