热门标签 | 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?就是这种不断学习更新,还要用输出倒逼输入的方式!


推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
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社区 版权所有