GPU,也即图形处理单元。不论在手机中,还是在电脑、笔记本上,GPU都发挥着不可替代的作用。往期文章中,小编对GPU加速原理、GPU服务器选择、GPU存储性能提升等均有所介绍。为增进大家对GPU的认识,本文将对GPU的5种虚拟化技术的实现策略予以介绍。如果你对GPU具有兴趣,不妨继续往下阅读哦。

一、设备模拟(Device Emulation)

设备模拟是指通过软件的方法来为虚拟机模拟GPU设备,这种方法的好处是虚拟机内部都可以调用GPU命令,可以完全记录GPU设备的状态,保证虚拟化技术的全部特性,满足四个标准中的资源复用和支持虚拟化特性的标准。QEMU 通过软件模拟实现了传统的VGA设备,但是该设备的性能很低,只能支持基础的功能。软件模拟设备的方法几乎不会使用硬件加速,因此其实现的GPU性能已经无法满足现在虚拟机的图形图像处理和高性能计算的需求。而且正如前文提到的,现代GPU架构具有很高的复杂性,而且缺少文档,因此很难实现对一个真实的物理GPU进行软件模拟。这意味着设备模拟方法只能模拟少量的API,只能保证少量的GPU特性提供给虚拟机。由于设备模拟的方法在性能和支持的GPU特性上和真实的GPU相差过大,设备模拟的技术已经不再应用到GPU虚拟化技术中。

二、API转发(API Forwarding)

API转发是指通过实现包裹图形API的库,这些库在虚拟机调用相关的API时,将这些图形API通过远程过程调用的方法转发到主机上,然后调用主机上的图形驱动提供的API支持完成调用。通过给高层的API实现包裹库,客户机就能支持高层的API如CUDA。vCUDA、vGRIS等虚拟化方案都是利用API转发的方法。这种方法的优点是利于实现,而且一定程度上利用了GPU硬件实现加速,同时可以使多个虚拟机调用的GPU相关指令与API在物理GPU上执行。但是API转发的主要问题在于这种方法失去了语言和库的灵活性选择,包裹库和支持的API的不匹配会造成GPU虚拟化不成功。而如果在迁移的过程中,目标主机与源主机的包裹库版本不一致,可能会造成迁移之后GPU虚拟化不成功,因此API转发会影响虚拟化提供的特性。

三、中介传递(Mediated Pass-through)

GPU已经可以支持多个独立的上下文,中介传递的方法使虚拟机只占用这些上下文的一个或者子集。高带宽操作(指令缓存提交、帧缓存提交)需要使用映射到物理GPU的内存或者MMIO资源,低带宽操作(资源分配、传统的特性)可能会通过使用全虚拟化的资源来实现。

四、直接传递(Direct Pass-through)

直接传递是指给一台虚拟机使用一个物理GPU的全部访问权限。Intel提供了Intel VT-d硬件辅助技术,使研究者不需要去了解GPU的编程接口就可以直接实现一台虚拟机占用物理GPU的全部访问权限。这种方法的好处在于可以提供与真实机器相近的性能以及保真度,亚马逊的Amazon EC2提供的GPU资源就是使用这种虚拟化策略。但是这种方法问题在于一个物理GPU只能被一台虚拟机使用,牺牲了GPU资源在多台机器之间共享的条件。而且虚拟化的迁移功能也会受到影响,因为不同体系架构的GPU之间可能存在不兼容。

五、全虚拟化与半虚拟化

GPU虚拟化实现策略按照是否需要修改客户机操作系统内部的驱动代码分为GPU全虚拟化和GPU半虚拟化。GPU全虚拟化是指实现在多个虚拟机之间共享GPu资源的同时不需要修改虚拟机内部的图形驱动。GPU半虚拟化是指向虚拟机提供软件实现的理想设备模型,对客户机的图形驱动进行底层的控制。使用GPU半虚拟化的方法,比API转发的性能消耗更小,但是客户机的设备驱动必须要改写。主流的GPU虚拟化方案GPUvm使用半虚拟化的实现策略对虚拟机GPU的性能有明显的改善。

gpu虚拟 服务器,5种GPU虚拟化技术的详细资料讲解相关推荐

  1. GPU服务器5种GPU虚拟化技术的详细资料讲解

    GPU,也即图形处理单元.不论在手机中,还是在电脑.笔记本上,GPU都发挥着不可替代的作用.往期文章中,小编对 加速原理.GPU服务器选择.GPU存储性能提升等均有所介绍.为增进大家对GPU的认识,本 ...

  2. gpu 虚拟服务器玩游戏,gpu云服务器可以玩游戏吗

    gpu云服务器可以玩游戏吗 内容精选 换一换 不可以.随包年/包月云服务器购买的包年/包月云硬盘,和原云服务器有绑定关系,无法挂载至其他云服务器. 在使用云服务器备份制作的整机镜像创建弹性云服务器时, ...

  3. gpu 虚拟服务器玩游戏,gpu云服务器玩游戏

    gpu云服务器玩游戏 内容精选 换一换 华为云弹性云服务器(简称ECS)是一种可随时自助获取,可弹性伸缩的云服务器,可帮助您打造可靠.安全.灵活.高效的应用环境,确保服务持久稳定运行,提升运维效率 来 ...

  4. 虚拟服务器显卡,GPU也玩虚拟机 解析RemoteFX虚拟化技术

    ● 解析RemoteFX虚拟化技术 ZDNET至顶网服务器频道 3月29日 编译(文/Desire):在Windows Server 2008 R2 SP1正式发布之前,曾有消息称该版本将支持Remo ...

  5. 虚拟化技术能将多个物理服务器,VMware专家:虚拟化技术十大误区

    尽管服务器虚拟化技术已经逐渐普及,但是我们仍不能忽视对虚拟化技术的理解误区,常见有如下十大理解应用误区,下面在此逐一分析. 误区1:虚拟化技术可以实现多台物理服务器资源整合,从而实现单个应用通过虚拟化 ...

  6. 虚拟服务器和vdi,桌面虚拟化---SBC和VDI的区别

    虚拟化类型 虚拟化有两种主要方法:基于服务器的计算(SBC)和虚拟桌面基础结构(VDI).SBC是基于终端会话的同类桌面,适合需要访问相同的操作系统和应用程序集需求的用户.例如,计算机学校的学生,呼叫 ...

  7. 电子巡更系统服务器,一种基于iBeacon技术的电子巡更系统技术方案

    [技术实现步骤摘要] 一种基于iBeacon技术的电子巡更系统 本专利技术涉及iBeacon ,具体的说,是一种基于iBeacon技术的电子巡更系统. 技术介绍 电子巡更系统是管理人员监督巡更人员是否 ...

  8. 在IBM公有云上平台随心所欲的构建GPU虚拟服务器

    如何在IBM Cloud上使用物理机自建带GPU的虚拟机 最近准备使用GPU的计算资源,听说IBM云平台上的裸机服务器性能不错,于是在IBM公有云平台上注册了一个账号(账号注册还是比较简单的,三步搞定 ...

  9. nas+虚拟服务器,什么是NAS虚拟化

    [IT168 虚拟化频道]NAS虚拟化,一种将多个NAS设备集聚成一个单一的.抽象的实体的方法就是NAS虚拟化.最简单的NAS虚拟化定义指的是使用某些方法来使多个NAS设备呈现出一个单一的NAS形式. ...

最新文章

  1. memcache调整value大小限制
  2. 常用个人密码管理软件
  3. elementUI Drawer 抽屉 Dialog 对话框 等弹出组件的遮罩层以及多层遮罩解决办法
  4. 消息中间件学习总结(9)——RocketMQ与kafka差异比较分析
  5. java判断是否为linux,java判断是否Linux操作系统,判断OS操作系统类型工具类
  6. [转]flash在C#中的应用
  7. QXDM工具使用说明
  8. 多个excel工作簿合并_Excel应用实践14:合并多个工作簿中的数据—示例3
  9. CDH6.3.2安装部署
  10. C语言练习——基础篇
  11. 锁定计算机快捷键6,6个快捷键,轻松玩转你的电脑(收藏)
  12. 一个在国内外使用广泛的精密电阻品牌介绍
  13. 第三方支付机构有哪些?他们的资金是如何运作保障用户的资金安全的?
  14. YOUChain有链与朗新天霁共建区块链职信数字资产平台
  15. Java 高并发第三阶段实战---Java并发包深入解析与使用详解
  16. opc ua 用哪种语言编写_OPC UA是什么 OPC UA简介
  17. fofa第一个查找漏洞
  18. 供应链管理专家SCMP项目简介
  19. python大学编程考试题及答案_大学慕课2020年Python编程基础题目及答案
  20. Unity 接入 Android ShareSDK

热门文章

  1. 自动驾驶争得CES 2018头彩:百度Apollo2.0试乘,Lyft干脆直接提供自动驾驶出租车! | 焦点
  2. ArchLinux 安装导航
  3. php随机图片github,GitHub - galnetwen/Random-Image: 随机图片服务
  4. 复习C语言随笔 十四
  5. Java编程工具(12):去除idea重复代码报黄色的下划波线
  6. 给定一个集合,输出它的所有子集
  7. [4750G] Ubuntu硬件优化篇——引导修复双显卡及屏幕亮度调节设置 bumblebee
  8. 语音合成10107错误码解决记录
  9. Codeforces Round #505 B Weakened Common Divisor (cf 1025B)
  10. bytebuffer长度_ByteBuffer常用方法详解