A cloud provider needs to share a single A100 GPU among seven independent tenants running small inference workloads, with each tenant requiring guaranteed memory and compute bandwidth that cannot be affected by a noisy neighbour. Which virtualisation approach best meets this requirement?
- AMulti-Instance GPU partitioning, creating up to seven hardware-isolated compute and memory slices on the GPU Correct
- BNVIDIA vGPU in time-sliced mode, assigning each tenant a virtual GPU profile
- CFull GPU passthrough, dedicating the entire physical GPU to a single virtual machine
- DCUDA Multi-Process Service, allowing multiple CUDA processes to share GPU context simultaneously
Why A is correct: MIG uses hardware mechanisms in Ampere and later GPUs to divide a single physical GPU into isolated instances, each with its own dedicated compute engines, memory slice, and cache. This prevents cross-tenant interference and provides the guaranteed performance isolation required for multi-tenant inference.
Why B is wrong: vGPU time-slicing is tempting because it divides a GPU across many tenants, but time-sliced vGPU does not provide hardware-level memory partitioning, so one tenant's memory pressure can affect others and there is no guaranteed bandwidth isolation.
Why C is wrong: Full passthrough gives maximum performance and true isolation for one tenant, but it cannot serve multiple tenants simultaneously on the same physical GPU, making it unsuitable when seven tenants must share one device.
Why D is wrong: CUDA MPS enables concurrent GPU sharing among processes on the same machine but provides no memory isolation between clients. A misbehaving tenant can corrupt another tenant's memory, making it unsuitable where strict isolation is required.