GPU virtualization and scheduling methods: A comprehensive survey
Metadata
Presented in CSUR 2017.
Authors: Cheol-Ho Hong, Ivor Spence, Dimitrios S. Nikolopoulos (Queen’s University Belfast)
Understanding the paper
GPU virtualization can be implemented on three approaches.
API remoting
Library-level.
This approach provides a GPU wrapper library to guest OS to intercept GPU calls.
The intercepted calls are forwarded to the host OS or a remote machine with GPUs.
The requests will be processed remotely and the results are returned to the guest OS.
The core difficulty is that the GPU driver implementation is not open source.
Para & full virtualization
Drivel-level.
This approach uses a custom GPU driver based on the available documentation to realize GPU virtualization at the driver level.
NVIDIA-related reverse engineering is required.
Hardware-supported virtualization
Hardware-level.
This approach requires that a guest OS is given direct access to GPUs with hardware extension features.
For example, NVIDIA GRID allows some GPUs to be multiplexed.
Last updated