聊聊GPU虚拟化应用

聊聊GPU虚拟化应用

作者:阿飞 2019-01-09 13:20:28

云计算

虚拟化 CPU我们知道,它的全称是中央处理器,是一台计算机的控制核心和计算核心。它的主要功能在于逻辑控制和任务调度。因此GPU较之于CPU,CPU更像是一个公司的CEO,掌管的整个公司的运营和战略,统筹整个公司的工作。而GPU则是某个部门的得力干将,能力强,迅速并超额完成公司交于的任务。

提起NVIDIA,你多半会想起显卡,像我一般年纪的人,对显卡的理解就是游戏加速。上大学时玩实况足球,有个GeForce显卡是一件很幸福的事情,比起主板上集成的显卡,它的存在能够让我们游戏中的草皮更加翠绿,脚下足球更加的行云流水,那时候的实况足球可以实现足球经理人的任何梦想,钞票能买到任何想要的球员。门将圣卡西,后卫由左至右分别是马尔蒂尼、内斯塔、特里、萨内蒂;中场维埃拉、法布雷加斯、小罗;前锋则是梅西、亨利、罗纳尔多;阵容够炫吧!

[[255178]]

随着人工智能的火爆发展,显卡不再是游戏的代名词了,而被冠上了“机器学习心脏”这个高大上的名字。而nvida公司则凭借视觉计算领域的绝对王者地位,3年时间市值***翻了6倍之多。我刚入职人工智能领域时,不理解为什么显卡会成为“深度学习”的依赖,相信很多人也跟我有一样的困惑;简单来说,GPU主要侧重于计算能力,它由数千个更小、但更高效的Cores组成,通过并行计算的方式,处理多重且复杂的任务。

[[255179]]

CPU我们知道,它的全称是中央处理器,是一台计算机的控制核心和计算核心。它的主要功能在于逻辑控制和任务调度。因此GPU较之于CPU,CPU更像是一个公司的CEO,掌管的整个公司的运营和战略,统筹整个公司的工作。而GPU则是某个部门的得力干将,能力强,迅速并超额完成公司交于的任务。

深度学习是模拟人脑的神经系统组成,通过设定一些规则和数学网络模型而发展起来的一门学科,目的是为了让计算机能够像人脑一样去思考,去认识和理解这个世界。由于计算机本身没有思维能力,因此需要大量的数据去训练它,因此,它对电脑处理器的要求就必须具备高效的并行计算能力,这一点对于以串行为主、核心数基本在2位数的CPU而言是不具备的。因此,GPU凭借其千级核心,高效运算的特点,成为了深度学习、模型训练的最理想选择。

 

我所在公司也在涉及人工智能领域,GPU显卡的数目也有了一定规模,如Tesla的M40、P40、P100等显卡都有所应用,当前这些显卡主要用于算法与Demo的训练。我们通过Docker虚拟化形式实现对GPU资源的分发利用。

首先在搭载有GPU的宿主机上安装CUDA架构环境,进入CUDA Tookit Download官网,现在对应的版本。安装完成后,还需要安装 出DNN,这个是专门对深度学习框架设计的一套GPU加速方案,支持Caffe和TensorFlow等框架。

基础环境安装完毕后,即可以利用nvidia提供的nvidia-docker进行GPU的Docker虚拟化了。官方提供了这些包的安装源列表,安装起来还是比较简单的,安装完毕后,可以通过

docker run –runtime=nvidia –rm nvidia/cuda nvidia-smi

查看docker GPU容器的运行情况。

***可以通过 learningtensorflow.com 官方提供的基于TensorFlow的基准测试脚本,进行GPU与CPU的对比测试,可以发现,GPU在并行运算上,性能要由于CPU很多的。

如上图所示,以上基于Docker虚拟化GPU的方案,从本质上说,GPU资源被打包在一个workspace(即Container)中,workspace运行在宿主机上。这种虚拟化方案虽然能够解决独立训练的问题,但同时也存在一些单点和依赖性问题。首先Workspace的运行依赖于宿主机的运行情况,宿主机从本质上讲是一个孤岛;其次,Docker Container的正常运行,也决定了Workspace的生存情况;第三,由于Container是根据Docker命令生成的,在弹性扩容上,存在一定的限制。

面对以上问题,我们考虑,是否能够采用另外一种虚拟化方案,让GPU也向云端靠拢?云计算的发展,使得应用场景发展至异构计算体系架构,随着机器学习、深度学习的发展,对GPU、FPGA等专业计算芯片也提出了虚拟化的需求。最早可以追溯到2013年,NVIDA发布了GRID K1产品,标志着GPU虚拟化的成熟运用。“A Full GPU Virtualization Solution with Mediated Pass-Through”,及分片虚拟化的vGPU技术,Nvidia对于分片虚拟化社区的推动起了至关重要的角色,并在自己的GRID一系列产品线中,不断地发展和更新着vGPU技术。

虚拟化技术的最终目标,就是努力提供与工作人员在物理机上使用时一样的体验。 NVIDIA GRID®VirtualPC(GRID vPC)和GRID®

虚拟应用程序(GRID vApp)可为每个用户改进虚拟桌面和应用程序,并在NVIDIA®Tesla®GPU上构建经过验证的性能,实现卓越的生产力,安全性和IT可管理性。 虚拟化软件划分了Tesla GPU资源,因此GPU可以在运行任何应用程序的多个虚拟机之间共享。目前GRID各release版本对GPU的虚拟化支持如下:

基本上能够支持市场上主流的Tesla GPU型号。

以下分享一个本田集团利用GRID对GPU的应用案例

通过GRID管理平台,Honda IT部门通过调度物理GPU M60,根据用户需要并提供适当数量的vGPU,并能够通过单个Dashboard管理vGPU,从而确保每个用户都有足够的运算性能完成所处理的任务,如此做到了更高级别的弹性扩容。如同云存储、云计算资源类似,GPU也实现了按需分配。

人工智能是第四次工业革命的***技术,大数据和基于GPU的深度训练是人工智能发展的关键所在,无论之于国家还是企业,都应该通过技术创新,在这一次全世界范围内的浪潮中开启属于自己的一片天地。

https://v.youku.com/v_show/id_XNjY3MTY4NjAw.html

一个很经典的视频,对比了GPU和CPU在图形运算处理上的差别。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/242745.html<

(0)
管理的头像管理
上一篇2025-04-24 22:56
下一篇 2025-04-24 22:57

相关推荐

  • GEO友好的服务器标准有哪些,如何判断?

    SEO友好的服务器,核心标准是速度、稳定性、IP纯净度、安全合规以及服务商资质,缺一不可, 选择服务器不能只看配置,更要关注机房基础设施、网络质量、IP信誉以及服务商是否持牌经营,符合这些条件的服务器,才能让百度爬虫顺利抓取、用户获得良好体验,从而稳定提升排名,速度:服务器响应时间与硬件配置百度最新的核心算法中……

    2026-07-26
    0
  • 机房T3等级是什么意思?,T3机房等级标准有哪些?

    机房T3等级,代表数据中心具备并行维护能力和N+1冗余架构,可用性达到99.982%级别,是当前企业托管业务的主流选择,什么是机房T3等级?核心定义与行业标准机房T3等级源自Uptime Institute的数据中心分级标准,也对应TIA-942的Rating 3等级,这个等级的核心特征就是可并行维护——在任意……

    2026-07-26
    0
  • 服务器SLA服务协议是什么有什么用,有哪些注意事项?

    服务器SLA服务协议是服务商与用户之间关于服务可用性、性能等方面的正式承诺,它直接决定了业务稳定性和运维成本,什么是服务器SLA服务协议服务器SLA(Service Level Agreement)是服务等级协议的缩写,在IDC和云服务领域,它是一份具有法律效力的合同附件,明确服务商必须提供的服务水平基准,这份……

    2026-07-26
    0
  • 站群服务器泛站和泛目录有什么区别?,怎么选

    泛站基于多个独立域名构建独立站点,泛目录则在同一域名下通过目录结构构建内容,这直接影响SEO权重分配和资源管理,什么是泛站和泛目录泛站模式泛站模式使用多个独立域名,每个域名部署独立网站,内容互不关联,这种结构下,每个站点各自积累SEO权重,适合需要大量外链或分散风险的场景,推广不同产品时,泛站能避免单一站点被处……

    2026-07-26
    0
  • 服务器防火墙硬件和软件哪个效果更好,怎么选

    在服务器防火墙的选型中,硬件防火墙与软件防火墙并非非此即彼,而是互补关系,对于追求高安全等级与稳定性的生产环境,采用硬件防火墙做网络层隔离,配合软件防火墙做主机层加固,是当前公认效果最好的组合方案,硬件防火墙与软件防火墙的核心差异性能与资源占用硬件防火墙依托专用ASIC芯片或FPGA处理数据包,转发延迟通常在微……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注