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