热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GPU资源池的虚拟化路径

GPU资源池的虚拟化路径-GPU小常识:GPU(GraphicsProcessingUnit),中文名:图形处理器,曾用名:显卡。1999年,Nvidia(英伟达)公司“ZAO”了

GPU小常识:

GPU(Graphics Processing Unit),中文名:图形处理器,曾用名:显卡。

1999年,Nvidia(英伟达)公司“ZAO”了GPU,这玩意除了极大的推动了基于PC的游戏市场发展,还彻底改变了并行计算。

没想到二十年后,Nvidia摇身一变成了高大上的AI计算公司,还用GPU绑架了整个人工智能圈子。

我有个客户,几年前新建了一个数据中心,通过P2V技术淘汰了大量X86物理服务器,直接在IT基础设施上成功完成了服务器虚拟化转型,之后就马不停蹄的向云计算转型,而当下,又开始了人工智能转型。

随着智能商业时代的到来,一些大公司对于AI技术的关注和使用也快速增加,这些企业都非常注重自身科技能力的构建。其中,搭建自有AI平台,赋能业务成了这些有实力企业的首选。我这个客户自然也不能免俗,采购了大量的GPU服务器进行部署。

在落地AI场景的同时,客户也希望对建立GPU资源池做一个评估。针对客户需求,做了一些功课。对于AI,我依然只是知道一点皮毛,要说什么算法和模型,我是没戏的,但是可以把交流的学习心得分享一下。

GPU当前主要应用于计算、图形和人工智能领域。从GPU资源的虚拟化实现路径看,主要有三种技术方案。

VSGA(Virtual Shared Graphics Acceleration),把物理GPU分享给多个桌面用户,每个VDI通过SVGA驱动调用虚拟化的GPU驱动程序,再来调用GPU的运算能力,这个属于典型的桌面虚拟化场景。
VDGA(Virtual Dedicated Graphics Acceleration),把物理GPU分配给一个指定的VM,资源专用,这种模式也称为直通(Pass Through)模式,该方案具有比较高的性能优势,但成本相对较高。
vGPU(Virtualized GPU),把一块物理GPU虚拟成多块vGPU卡,每个VM都独占一块vGPU,每个vGPU直接跟物理GPU对接。
现实世界的应用状况又是怎样的呢?

通过技术交流,发现传统行业大多数的GPU资源池案例都是VDI的桌面虚拟化应用场景,针对后台服务器虚拟化的案例几乎没有。在互联网行业,像百度这样在AI领域比较强的,用的都是自研的GPU服务器和资源调度平台。

真正的商业案例中,大量客户使用的还是基于X86物理服务器搭配GPU卡的方式来部署AI应用。

之后,对这个客户也做了相应的调研。客户现状:针对AI技术部署了独立的语音分析、OCR和人脸识别等多个平台,支撑整个公司对于AI场景的需求。(目前有GPU服务器:50台+,GPU卡:180+,后续还有200+的GPU卡扩容计划)。针对调研情况,也做个简要分析。

应用场景:

目前AI技术主要为两种场景,训练(Training)和推理(Inference),从我这个客户的使用情况看,几乎都是推理场景,相对训练而言,对于GPU的算力的要求不是很高,这一点从用户的性能数据上也有体现。客户模型训练都是在供应商端进行的。

技术方案:

GPU资源池只是一种概念,对于资源的形态来说,GPU是物理的还是虚拟的不是最重要的。从资源管理角度看,主要是考虑利用效率、访问性能、安全隔离等因素。

如果是物理服务器方案,上层最佳的部署形式的直接基于容器,但是现实情况是大多数用户的应用部署还是基于PM和VM的。另外,也可以考虑基于服务器虚拟化+多GPU卡的方案,一个VM对应一个GPU卡的直通模式,但是应用密度显然受制于GPU卡的数量,如果这时再追加使用vGPU技术,似乎方案在VM技术平台上就更完美了,当然容器嵌套VM的方案也是一种好的形式。

商务成本:

成熟的商业虚拟化软件是有软件许可费的,而Nvidia的vGPU技术也需要支付相应的软件许可费,这样每个GPU卡可以根据显存的不同配置,被切分为固定数量的vGPU,在相同数据物理GPU卡配置情况下,提升VM的部署密度。

其他因素:

当然,目前的“AI芯片”也不是只有Nvidia一家,国内的寒武纪和华为也都用相应的产品支撑AI应用,对于主流的TensorFlow,Cafee框架可能还可以,但对于其他框架和模型在支持上略显不足,还需要加强生态建设。毕竟连英伟达都声称自己是一家软件研发公司。在这个Software Define Anything的时代,软实力才是真正贴近用户的硬实力。

关于建立后台支撑AI算力的GPU资源池这件事,技术本身并不存在限制,是个具有规模效应的事情。如果规模大了,也许百度的“孔明”平台就是一个需要达到的高度。至于其他公有云服务商,现在也都提供了相应的GPU服务,等有机会再去调研一下。

啥叫Deep Learning?就是这种不断学习更新,还要用输出倒逼输入的方式!


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 拼多多的崛起之路
    随着4G通信技术的发展,互联网产品从PC端转向移动端,图像传输速度更快、更清晰,智能设备的应用提升了用户体验。移动互联网的普及为拼多多的崛起提供了时代背景。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 深入解析国内AEB应用:摄像头和毫米波雷达融合技术的现状与前景
    本文作者程建伟,武汉极目智能技术有限公司CEO,入选武汉市“光谷3551人才计划”。文章详细探讨了国内自动紧急制动(AEB)系统中摄像头与毫米波雷达融合技术的现状及未来前景。通过分析当前技术的应用情况、存在的挑战以及潜在的解决方案,作者指出,随着传感器技术的不断进步和算法优化,AEB系统的性能将大幅提升,为交通安全带来显著改善。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
author-avatar
菜菜ING
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有