【技术系列】浅谈GPU虚拟化技术(第一章)

摘要: GPU深度好文系列,阿里云技术专家分享

第一章 GPU虚拟化发展史

GPU的虚拟化发展历程事实上与公有云市场和云计算应用场景的普及息息相关。如果在10年前谈起云计算,大部分人的反应是“不知所云“。但是随着云计算场景的普及,概念的深入人心,慢慢地大家都对云计算有一个较清晰的概念和实例化的理解。自然,随着应用场景从单一依赖CPU的计算单元的应用扩展到多种体系架构,异构计算场景的应用上来后,对GPU,FPGA,TPU等专业计算芯片也提出了虚拟化和上云的强烈要求。尤其是最近几年机器学习、深度学习等领域的快速发展,催生了异构计算场景搬迁上云的高潮。

那么这个异构计算应用场景的市场规模有多大呢?异构计算作为机器学习人工智能的计算载体,先来看看人工智能前景如何?(引用出处:https://bg.qianzhan.com/report/detail/459/180116-3c060b52.html)

图片描述

图一:2015-2018年全球人工智能市场规模及预测(单位:亿元,%)

图片描述

图二: 2014-2018年中国人工智能产业市场规模及增速(单位:亿元,%)

所以我们不难理解,为什么各大云计算厂商无论大小,都会极力研发异构计算产品,争抢市场的主导地位。

由于GPU是异构计算的主力军,让我们来回顾一下GPU虚拟化的发展历史,并对各个GPU厂商做一个横向比较,大家就不难看出来,哪些厂商处于领导地位,哪些是酱油党 :)

2008年:序言

VMware的GPU全虚拟化VSGA技术是第一次对GPU共享虚拟化的尝试,于2008年底在VMware商业化的Workstation 6.5和Fusion 2.0版本中首度问世,后续又在面向数据中心的产品vSphere中有集成。但这是一个VMware专有的闭源解决方案,在开源社区和VMware之外的产品中没有见到大规模应用,不是本篇关注的重点。

2012年:开始

随着kernel VFIO模块的引入和直通设备的慢慢普及,GPU的虚拟化之路得以开启。而开始大规模运用,则大体是伴随着VFIO模块的成功落地。事实上,在2012年左右,GPU直通技术一直是VFIO模块的一个重要应用场景。

2013年:第一个产品与群雄逐鹿

Nvidia 在2013 发布了GRID K1的产品,则标志着GPU虚拟化的成熟并逐渐开启了异构计算虚拟化的快速发展历程。

而事实上在2013同年,Intel OTC 针对HSW的GVT-d 和GVT-g的GPU虚拟化方案的也已经开发了一年有余。当初硬件基于SNB/HSW,而原型代码是基于Xen Hypervisor。(题外话:回头来看,会发现当初如日中天的Xen,竟然在几年后被后起之秀KVM逐渐取代。而当今公有云市场已鲜有Xen的身影了,替Citrix心疼几秒)。

Intel对GPU行业发展保持着敏锐的技术洞察力,早在2011年便已经开始了GPU虚拟化的提案,然而由于没有引起足够的重视,直到三年后的2014年,才有基于GVT-g的XenClient产品问世。

同年: VFIO 模块的社区维护者在KVM Forum上也正式发布了VGA的assignment。(详见:https://www.linux-kvm.org/images/e/ed/Kvm-forum-2013-VFIO-VGA.pdf)

同年初: AMD 也已经开始基于SRIOV的GPU虚拟化方案(Tonga架构),并开始研发SRIOV PF的GIM驱动和vGPU调度系统。由此推测SRIOV的硬件实现应该提前半年左右已经完成。直到两年后,AMD终于迎来了首款GPU SRIOV的产品:FirePro S7150 (2016年初发布)。

Nvidia作为GPU行业的龙头老大,基本上在GPU虚拟化的研发和产品化是领先了各位对手1-2年以上。而作为竞争对手的AMD在之后奋起直追。而Intel 基本上在那个时期还属于陪跑者。

2014年:vGPU 分片虚拟化诞生

一年后,也就是2014年,随着一篇Usenix ATC的论文的发表:”A Full GPU Virtualization Solution with Mediated Pass-Through“ 默默无闻的GPU虚拟化的一个新技术正式进入了大家的视眼:GPU分片虚拟化(中文暂且这么叫吧,因为mediated passh-through的叫法根本就不能让人明白这个到底是什么)。

该论文由Intel OTC的两位Principal Engineer发表,也代表了Intel在GPU虚拟化领域的技术积累(产品化一直不见起色,说起来都是泪)。

应该说Nvidia作为行业龙头对分片虚拟化在社区的推动起到至关重要的角色,事实上VFIO的mdev框架是由Nvidia为了GRID vGPU 产品线而引入。mdev的概念由Nvidia率先提出的,并合并到了Linux 内核4.10。人家玩闭源生态系统也开始拥抱开源。

而AMD 2014 则没有消息,应该是继续研发全球首款基于SRIOV的GPU方案。

2015年:分化

Intel 与Citrix的合作,先后发布了基于GVT-d和分片虚拟化的GVT-g的XenClient 和 XenServer的产品。这些产品代表着当时Xen社区GPU虚拟化业界的标杆。为什么是Xen社区呢? 因为GVT-g当时还没有发布KVM 版本。

Intel 也开始在各大内外会议推送GVT-g的技术,当然是希望自己技术可以产品化并有一个好的市场前景。比如在当年“英特尔开发者大会”(IDF)上率先发布了基于GVT-g的多媒体视频处理云端方案。听的人很多一百多号人,并且感兴趣的也不少。作为一个利用免费GPU来做音视频处理,比单独用E5 Server要划算的多。但是遗憾的是最终没有任何产品落地。究其原因还是内在Intel GPU的定位问题。后续会讲到Intel GVT-g 方案的致命伤和痛点。

而AMD继续研发全球首款SRIOV GPU。

当其他人都在玩技术的时候,Nvidia已经开始了产业布局。同年发布了AWS上和VMware合作的基于GRID的各种方案,比如非常炫酷的Game Streaming。

其实GRID 是大概念。代表了Nvidia的GPU虚拟化的一大摞产品。而其中的GRID vGPU便是基于mdev的分片虚拟化方案。

2016,2017年:回报

2016年AMD带来了全球首款GPU的SRIOV显卡FirePro S7150x2。而这款针对图形渲染应用的产品也成为了之后各大公有云厂商的必推业务。图形渲染虚拟化高性价比只此一款。

Intel继续在各大论坛极力宣传Intel GVT-g技术。并在技术上第一次领先行业龙头Nvidia率先实现了vGPU的热迁移技术,可以说Intel OTC的虚拟化部门在自己力所能及的情况下把GVT-g做到了极致,然而在产品化的道路上却越走越艰难。

Nvidia此时凭借着AI的风口一路狂奔,日益完善GRID技术和分片虚拟化,把对手远远的抛在了后面。此时Nvidia也开始在开源社区抛头露面。并在2016年的KVM Forum的第二天,Nvidia架构师Neo隆重介绍了GRID vGPU技术。而恰巧本人作为GVT-g技术的代表在同一会场做GPU Live Migration的主题介绍。

大家感受一下当时的场景:GRID vGPU听众与GVT-g的听众对比:
图片描述图片描述
不得不说,早年Intel作为核显GPU的代表与Nvidia作为独立显卡的代表在GPU研发上有深度合作。而随后与AMD的合作开发CPU+GPU的芯片。以及最近的Intel与AMD合作对抗Nvidia在GPU领域的挤压。

以上三位既是对手又是朋友。

2018年:新领域

Nvidia继续保持着行业第一的身份把持了绝大部分市场份额。谁让人家有远见早早布局早早收割。

AMD 也有后续产品的发布。比如针对老对手Nvidia的对标Deep Learning的MI25的发布等。

随着GPU虚拟化应用的普及,GPU虚拟化的应用场景不再限于云计算市场。各种新兴行业也开始应用GPU虚拟化技术。最直接的便是车载娱乐系统,简称IVI(In-vehicle Information system )。于是三位老朋友又是老对手,都开始在IVI和自动驾驶领域开始竞争。而这也为Intel GVT-g的技术落地带来了转机。于是Intel率先发布了基于物联网的虚拟化方案(ACRN),并夹带着GVT-g的分片虚拟化技术浩浩荡荡地再次出发。

原文链接

干货好文,请关注扫描以下二维码:
图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php如何删除数据mysql数据库_php如何删除数据库

php如何删除数据库1、首先查看有哪些数据库2、使用php删除test2<?php $dbhost localhost; // mysql服务器主机地址$dbuser root; // mysql用户名$dbpass root; // mysql用户名密码$conn mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){die(连接失败: . mysq…

Mac 神兵利器(二) 极简软件清单

摘要&#xff1a; 作为一个非常爱好折腾的Mac重度用户&#xff0c;在尝试了不少于50次重装系统经历以及安装了几乎所有软件类别的N多软件后&#xff0c;决定分享一下自己的软件清单。 选择app的三个原则&#xff1a; 尽量使用系统原生软件&#xff0c;比如日历&#xff0c;提醒…

解决 idea 运行 Spring Boot 项目启动慢的问题

同事win10启动Spring Boot工程只要3秒左右&#xff0c;我的启动要30秒。开始以为是CPU差距太大&#xff0c;后来才觉得不是这样&#xff01; 解决方案 hostname命令查看自己的 hostname 注意修改 hosts 文件时&#xff0c;ip 与域名之间要换成两个 tab 键。 127.0.0.1 PC-2…

亚马逊首席科学家李沐「实训营」国内独家直播,马上报名 !

开学了&#xff0c;别人家的学校都开始人工智能专业的学习之旅了&#xff0c;你呢&#xff1f;近年来&#xff0c;国内外顶尖科技企业的 AI 人才抢夺战愈演愈烈。华为开出200万年薪吸引 AI 人才&#xff0c;今年又有 35 所高校新增人工智能本科专业&#xff0c;众多新生即将开展…

Windows Server Version 1709 管理之入门篇

摘要&#xff1a; 相信有部分同学们会有这样的体验&#xff0c;在公有云上购买了Windows Server Version 1709数据中心版的虚拟机&#xff0c;通过远程连接进去之后&#xff0c;里面全是黑乎乎的一个命令行&#xff0c;其它啥也没有。这&#xff0c;一脸懵懂啊。 相信有部分同学…

切面是异步还是同步操作‘_细说JS异步发展历程

知其然知其所以然&#xff0c;首先了解三个概念&#xff1a;1.什么是同步&#xff1f;所谓同步&#xff0c;就是在发出一个"调用"时&#xff0c;在没有得到结果之前&#xff0c;该“调用”就不返回。但是一旦调用返回&#xff0c;就得到返回值了。换句话说&#xff0…

数据科学家需要掌握的10项统计技术,快来测一测吧

摘要&#xff1a; 本文给出了数据科学应用中的十项统计学习知识点&#xff0c;相信会对数据科学家有一定的帮助。无论你是不是一名数据科学家&#xff0c;都不能忽视数据的重要性。数据科学家的职责就是分析、组织并利用这些数据。随着机器学习技术的广泛应用&#xff0c;深度学…

java获取mysql的自增列_java - MyBatis如何获取Mysql自增id

问 题INSERT INTO USER(name,age,address,loan_type)VALUES(#{name},#{age},#{address},#{loanType});user表中id自增&#xff0c;添加过一条数据后&#xff0c;可以得到主键id&#xff1b;DEBUG [main] - > Preparing: INSERT INTO USER(name,age,address,loan_type) VALUE…

hosts文件位置在哪里

C:\Windows\System32\drivers\etc\hosts

反转!2019程序员吸金榜来了,AI程序员刷爆了..

前两天在网上发现一个热门话题&#xff1a;“做开发一年&#xff0c;在北京月薪不到1万&#xff0c;有点迷茫。” 其中&#xff0c;这个回答我永远忘不了&#xff1a;在这短短的一条信息里&#xff0c;小编佩服不仅仅是毕业一年的AI程序员拿到年薪60万&#xff0c;而是这一番回…

前端详细设计文档怎么写_UI设计师简历应该怎么写?

像这种分享&#xff0c;常规开篇都应该说说当前的就业趋势啦&#xff0c;分析分析行业形势啦这类的但我不想按流程写行业不论什么时候分析&#xff0c;它都没好过&#xff0c;什么红利期什么风口&#xff0c;那更是从来没赶上过。但凡我能跟点风&#xff0c;我也不能到现在还没…

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要&#xff1a; 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会&#xff0c;今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究…

容器开启数据服务之旅系列(一):Kubernetes如何解自建PostgreSQL运维之痛

摘要&#xff1a; 通过阿里云Kubernetes容器服务,开启你的数据服务之旅 &#xff08;一&#xff09;云上运维自建数据库之痛&#xff0c;使用容器服务自动恢复数据库postgresql实例 概述 本文为大家介绍一种容器化的数据服务 posgresql db on ACK&#xff0c;通过使用云盘自动挂…

今日头条技术架构分析

戳蓝字“CSDN云计算”关注我们哦&#xff01;今日头条创立于2012年3月&#xff0c;到目前仅4年时间。从十几个工程师开始研发&#xff0c;到上百人&#xff0c;再到200余人。产品线由内涵段子&#xff0c;到今日头条&#xff0c;今日特卖&#xff0c;今日电影等产品线。一、产品…

mysql图书管理数据库的三个关系模式_数据库 考虑如下关于图书馆的关系模式,用关系代数写出查询(数据库系统概念第六版6.14)...

贝尔梅尔娜美2019.03.15采纳率&#xff1a;60% 等级&#xff1a;39已帮助&#xff1a;91565人数据库系统的基本概念数据&#xff1a;实际上就是描述事物的符号记录。数据的特点&#xff1a;有一定的结构&#xff0c;有型与值之分&#xff0c;如整型、实型、字符型等。而数据…

dom文档对象手册_HTML5学习之DOM编程

DOM是Document Object Model的缩写&#xff0c;中文名称是文档对象模型。DOM是处理HTML页面的标准编程接口&#xff0c;【前端精选40G资料包赠送co&#xff0c;每日新闻资讯ding,每天进步一点点bb&#xff0c;小写英文为微信】DOM可被JavaScript用来读取、改变HTML的内容和结构…

Kubernetes之路 2 - 利用LXCFS提升容器资源可见性

摘要&#xff1a; 这是本系列的第2篇内容&#xff0c;将介绍在Docker和Kubernetes环境中解决遗留应用无法识别容器资源限制的问题。本系列文章记录了企业客户在应用Kubernetes时的一些常见问题 第一篇&#xff1a;Java应用资源限制的迷思 第二篇&#xff1a;利用LXCFS提升容器资…

mysql数据库模型相应解释_数据库事务系列-MySQL跨行事务模型

说来和MySQL倒是有缘&#xff0c;毕业的第一份工作就被分配到了RDS团队&#xff0c;主要负责把MySQL弄到云上做成数据库服务。虽说整天和MySQL打交道&#xff0c;但说实话那段时间并没有很深入的理解MySQL内核&#xff0c;做的事情基本都是围绕着MySQL做管控系统&#xff0c;比…

springboot项目jar冲突问题解决

问题&#xff1a;大概意思就是项目中有两个jar&#xff0c;同时是要是想slf4j的接口的&#xff0c;这样程序不知道使用哪个&#xff0c;就会报错了。也不算错&#xff0c;项目照样运行。但是就是报日志错误 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found …

火热的云计算,你知道这些吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Dan Muse译者 | 风车云马如今云计算已经渗透到IT的各个领域&#xff0c;从应用程序到基础设施无处不在。为了了解IT领导者是如何规划各自企业的云战略&#xff0c;Insider Pro采访了数百名技术决策者。面对炙手可热的云计算&…