GPU — vCUDA / vGPU

举报
云物互联 发表于 2022/04/10 23:37:51 2022/04/10
【摘要】 目录 文章目录 目录vCUDACUDA clientCUDA serverCUDA mgmt vCUDA NVIDIA 的 vCUDA(virtual CUDA)技术是典型的 API...

目录

vCUDA

NVIDIA 的 vCUDA(virtual CUDA)技术是典型的 API Forwarding vGPU 实现。

vCUDA 采用在用户层拦截和重定向 CUDA API 的方法,在 VM 中建立 pGPU 的逻辑映像,即:vGPU,以此来实现 GPU 资源的细粒度划分、重组和再利用,支持多机并发、挂起恢复等 VM 的高级特性。

vCUDA 的运行原理包括了 3 大模块:

  1. CUDA client:安装 GuestOS 的驱动程序。
  2. CUDA server:安装在 HostOS 的驱动程序。
  3. CUDA mgmt:安装在 HostOS 的 GPU 管理器。

CUDA client

CUDA client 就是安装在 GuestOS 上的显卡驱动程序,主要的功能是在用户层提供针对 CUDA API 的库,以及一个维护 CUDA 相关软硬件状态的 vGPU。CUDA client 直接面向 CUDA 应用程序,其作用包括:

  1. 拦截应用程序中对 CUDA API 调用。
  2. 选择通信策略,为虚拟化提供更高层语义的支持。
  3. 对调用的 API 和参数进行封装、编码。
  4. 对 CUDA server 返回的数据进行解码,并返回给应用程序。

此外,CUDA client 在第一个 API 调用到来之前,首先到 GPU mgmt 索取 GPU 资源。后续,每一个独立的 API 调用过程都必须到 CUDA mgmt 申请资源,以实现对 GPU 资源和任务的实时调度。

此外,CUDA client 同时设置了 vGPU 用来维护与 CUDA 相关的软硬件状态。vGPU 的本质仅仅是一个 Key/Value 的数据结构,在其中存储了当前使用的地址空间、显存对象、内存对象等,同时记录了 API 的调用次序。当计算结果返回时,CUDA client 会根据结果更新 vGPU。

CUDA server

CUDA server 安装在 HostOS 或 XenServer domain0(特权虚拟机)中。由于 HostOS 能够直接控制硬件设备,因此 CUDA server 可以直接操纵 pGPU 来完成通用计算任务。

CUDA server 面向 pGPU,其作用包括:

  1. 接收 CUDA client 的数据报文,并解析出 API 调用和参数。
  2. 对 API 调用和参数进行审核。
  3. 利用 CUDA 驱动程序和 pGPU 计算审核通过的调用。
  4. 将结果编码,并返回给 CUDA client。
  5. 对 HostOS 中支持 CUDA 的 pGPU 进行管理。

此外,CUDA server 运行的第一个任务是将自身支持 CUDA 的 pGPU 的信息注册到 CUDA mgmt 中。CUDA server 应对 CUDA client 的请求时,为每个 VM 的应用程序都分配了独立的服务线程。CUDA server 统一管理本地 GPU 资源,按照一定的策略提供 GPU 资源,并将由于 API 调用修改的相关软硬件状态更新至 vGPU。

CUDA mgmt

CUDA mgmt 同样安装在 HostOS 或 Xen domain0 中。在实现 CUDA API 虚拟化的基础上,将 GPU 强大的计算能力和计算资源在更高的逻辑层次上进行隔离、划分、调度。

CUDA mgmt 对 GPU 资源进行统一管理,采用集中、灵活的机制,实现了:

  1. 动态调度:当用户所占资源空闲时间超过一定阈值或者任务结束时,CUDA mgmt 会回收该资源,当该用户再次发布计算任务时,重新为其任务分配 GPU 资源。CUDA mgmt 的调度原则是尽量使在本机的 pGPU 资源,在一般情况下,该 Server 上的 VM 的 GPU 需求都重定向到该 Server 的 CUDA server。

  2. 负载平衡:CUDA mgmt 在更高的逻辑层次上进行负载均衡调度,当局部计算压力过大时,调整计算负载,通过动态调度时选择合适的 GPU 资源来分散计算负载。在 CUDA server 引入计算线程和工作线程的区分概念,能够一定程度上使同在一台 Server 上的多个 GPU 间负载均衡。

  3. 故障恢复:当出现故障时,将任务转移到新的可用 GPU 资源上。

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/124070753

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。