advanced27 min studyLesson 447 in Engineering

Accelerator sharing: name the partition and the fault domain

Compare MIG instances with a precisely scoped MPS provisioning mode, accounting for memory QoS, shared engines, versioned features, and residual trust.

On this page

What you’ll understand

  • Distinguish a MIG GPU instance from compute instances inside it.
  • Scope MPS dynamic resource provisioning without universal claims about all MPS modes.
  • Separate resource feasibility and synthetic roofline ceilings from measured isolation.

A platform’s “fractional GPU” label can refer to a scheduler convention, an MPS provisioning mode, or a hardware MIG instance. Those choices expose different sharing, memory, and fault boundaries. Specify the GPU, driver, CUDA version, provisioning mode, and tenant trust assumptions before comparing them. This lesson uses NVIDIA documentation available in October 2026, including newer MPS v3 memory partitioning. Its arithmetic examples are hypothetical budgets; they are not a promise that every GPU supports a particular profile or achieves a stated throughput.

MIG has more than one level of partitioning

On supported hardware, a MIG GPU instance combines allocated memory slices, compute resources, and associated engines. The dedicated memory resources provide a defined memory capacity and bandwidth QoS boundary between GPU instances. A compute instance created inside a GPU instance subdivides its SM resources while sharing the parent instance’s memory and engines. Therefore two compute instances inside one GPU instance do not have the same memory isolation relationship as two separate GPU instances. Name the exact object assigned to the tenant rather than merely count visible CUDA devices.

Supported profiles and their placement are constrained by hardware and driver capabilities. Aggregate spare compute and memory do not prove that the requested combination can be instantiated in the remaining layout. Fragmentation, profile shapes, and engine requirements can prevent placement even when a simple sum fits. Outside the instance, host memory, CPUs, networking, storage, driver administration, and other system dependencies still need their own boundaries. A device partition also does not authenticate the customer’s model artifact or restrict what a privileged host administrator can do.

∑imi≤M,∑ici≤C\sum_i m_i\le M,\qquad\sum_i c_i\le C
These necessary resource-accounting inequalities use matching memory units m,M and compute-slice units c,C. They omit supported profile shapes, placement, engines, and driver restrictions, so they are not a sufficient MIG placement test.↔ Scroll wide equations horizontally.

Scope the MPS comparison to an actual mode

For Volta-and-later MPS dynamic active-thread-percentage provisioning, the setting limits available execution resources but does not reserve dedicated SMs for each client; work from different contexts may execute on the same SM. Hardware granularity affects the effective limit. Those clients have distinct GPU address spaces, and documented fatal-fault containment is limited to affected connected sharing cohorts rather than complete independence. Do not describe this mode as having no memory protection, or interpret an execution percentage as dedicated memory bandwidth. Fault, capacity, bandwidth, and execution constraints are different dimensions.

Avoid turning that scoped statement into “MPS never partitions resources.” NVIDIA also documents static SM partitioning, and MPS v3 adds device-memory partitioning for supported non-MIG deployments requiring CUDA 13.4 or newer and Linux cgroup v2. Its dmem backend requires a supported controller on kernel 6.14 or newer, with a documented misc fallback. These versioned capacity-accounting features do not by themselves establish the same hardware memory-bandwidth QoS or fault domain as a MIG GPU instance. Check the actual deployment contract and limitations instead of transferring an older comparison table to every new mode.

Pceiling=min⁡(Pmax⁡,BI)P_{\rm ceiling}=\min(P_{\max},BI)
The synthetic roofline uses P in GFLOP/s, decimal bandwidth B in GB/s, and arithmetic intensity I in FLOP/byte. It is an ideal upper ceiling, not an accelerator partitioning rule, isolation measurement, or achievable-throughput promise.↔ Scroll wide equations horizontally.

Match sharing policy to workload and failure evidence

For a tenant serving variable context lengths, test memory capacity pressure, prefill bandwidth demand, decode latency, and failure recovery separately. Cooperative clients inside one research job can accept different risks from unrelated customers with strict confidentiality obligations. Record the selected instance or MPS mode, effective resource settings, driver version, and neighboring workload during each test. A larger apparent utilization number can coexist with worse deadline success or a broader fault cohort. Evaluate the claim the customer needs rather than optimize only the number of active processes.

Reset the roofline lab, explicitly set intensity eight and bandwidth 80, predict the ceiling, then Play or Step. Compare a separate Reset with intensity 16 and bandwidth 80 explicitly set. The fixed synthetic compute ceiling is 1,000 GFLOP/s, so the first setting is bandwidth-bound and the second reaches the compute roof. Playback traces the roof without changing the kernel parameters. This model contains no GPU instances, MPS contexts, memory allocations, fault propagation, or driver behavior; it cannot establish a tenant partition’s real performance or security.

An aggregate slice budget can leave stranded capacity

A hypothetical accelerator layout offers eight equal memory units and seven equal compute units. Each requested allocation needs one of each. Ignore profile-placement and engine constraints only for this arithmetic. How many allocations fit, and what remains?

  1. Memory alone permits eight allocations, while compute alone permits seven. The necessary aggregate bound is the smaller of those counts, so no more than seven allocations fit under this simplified budget.

  2. Seven allocations consume seven memory units and all seven compute units. One memory unit remains, but it cannot satisfy an eighth allocation that also requires one compute unit.

  3. This arithmetic does not instantiate a real GPU profile. A real deployment must also satisfy supported profile shapes, placements, engine requirements, and driver rules. Even an admitted layout still needs workload and fault validation for the named sharing mode.

The result

Seven allocations fit the hypothetical aggregate model, leaving one stranded memory unit. Aggregate feasibility is a preliminary check rather than a partitioning or isolation proof.

Explore the model

Interactive lab

Interactive lab · roofline

Synthetic bottlenecks do not certify GPU partitions

Use separate Reset → explicitly set BOTH I and B → predict → Play/Step runs for (8,80) and (16,80). With the fixed synthetic 1000-GFLOP/s compute roof, ceilings are 640 and 1000 GFLOP/s. These are toy upper bounds, not measured MIG or MPS results.

Synthetic bottlenecks do not certify GPU partitionsSynthetic roofline ceiling min(1000, B·I), in GFLOP/s, with B in decimal GB/s and I in FLOP/byte. Playback traces the roof without changing the selected kernel. This upper-bound model is not a measured throughput prediction, hardware comparison or price model. Current readings: Attainable ceiling: 640 GFLOP/s; Ridge intensity: 12.5 FLOP/byte; Ceiling regime: Memory-bound ceiling. All parameters are adjustable with the labeled controls below.Hypothetical roofline upper bound: 640 GFLOP per second at operational intensity 8 FLOP per byte and bandwidth 80 gigabytes per second.0.1110641101001000Operational intensity · FLOP/byte · log scaleCeiling · GFLOP/s · log scalePeak: 1000
Attainable ceiling / kernelBandwidth roof / traceCompute ceiling
Attainable ceiling
640 GFLOP/s
Ridge intensity
12.5 FLOP/byte
Ceiling regime
Memory-bound ceiling
t = 0 s

Synthetic roofline ceiling min(1000, B·I), in GFLOP/s, with B in decimal GB/s and I in FLOP/byte. Playback traces the roof without changing the selected kernel. This upper-bound model is not a measured throughput prediction, hardware comparison or price model. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forMemory and compute ceilings interact, while real partition semantics and fault domains require their own evidence.

Check your understanding

Which statement correctly describes the scoped accelerator comparison?

Try it yourself

In the synthetic roofline, keep intensity eight and reduce bandwidth from 80 to 40 GB/s. Calculate the ceiling change. Would limiting an MPS client to 50 percent active threads prove it receives 50 percent of memory bandwidth?

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Apply min(1000,B×I), then keep the modeled bandwidth separate from the documented scope of the MPS execution setting.

Compare with the solution

The ceilings are 640 and 320 GFLOP/s, so the synthetic bandwidth reduction halves this upper bound. It is not a measured kernel slowdown. In the scoped dynamic active-thread-percentage mode, a 50 percent setting limits available execution resources, subject to hardware granularity; it does not establish an exclusive SM reservation or a 50 percent memory-bandwidth guarantee. Verify the actual mode, address and fault boundaries, versioned memory features, and measured contention rather than inferring them from the execution percentage.

Take it with you

  • Distinguish MIG GPU instances from compute instances sharing a parent.
  • State MPS mode and version before comparing execution, memory, and fault properties.
  • Necessary capacity sums and synthetic performance roofs do not certify a real partition.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.