Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >大模型与AI底层技术揭秘(27)食神挑战烤肥肠

大模型与AI底层技术揭秘(27)食神挑战烤肥肠

作者头像
用户8289326
发布于 2024-03-25 01:49:01
发布于 2024-03-25 01:49:01
1680
举报

小H最近因为沉迷学(you)习(xi),瘦了不少,小伙伴们打算把小H带去搞点好吃的。

大家来到一家卖烤羊腿和肥肠的食肆,虽然人有点多,但老板娘热情地招呼,告诉大家里面有包间,刚好能坐下6个人。于是,小H和小伙伴们就到了包间落座。虽然包间看起来很简单,就是用屏风隔开的,但也比大厅强。这样的小包间还有很多个,看起来都是相互独立的。

吃了一会儿,大家听到外面吵起来了:

“碱水面没有过冷水,所以面里面全是碱水味,鱼丸也没有鱼味,但是你为了掩饰特意加上咖喱汁,想把它做成咖喱鱼丸,但这么做Too simple, sometimes naive!好好的一颗咖喱鱼丸,让你做得是既没有鱼味又没有咖喱味,失败!萝卜没挑过,筋太多,失败!猪皮煮得太烂,失败!猪血一夹就散,失败中的失败!最惨的就是肥肠,里面根本没洗干净,还有一坨……”

“你以为这里是你们香港啊?我们北方人吃肥肠就讲究不洗干净,洗干净没味道!滚!”老板娘指着来踢馆的人骂。

此时,外面有人因为喝多了,并且听了老板娘说的,开始吐(Core Dump)。

小H和小伙伴们看着桌上的一盘吃了一半的烤肥肠,腹中百转千回,然后也有人吐了。大家趁乱走了,钱也没付。

方老师听到小H讲的这个故事,先去笑了一会儿,然后问小H:

上期学的NVidia vCUDA GPU虚拟化,你记住了吗?这个方案有啥缺陷呢?

小H想了想,总结了一下:vCUDA是替换掉虚拟机上的CUDA,让它去找宿主机上的vCUDA Stub,然后调用宿主机上GPU计算的方案。如果使用其他的API库,就没有办法在虚拟机上用GPU了。

小H突然想到,如果GPU可以支持SRIOV技术,把PF虚拟化为多个VF并且直通给虚拟机,是不是就可以让多个虚拟机共享GPU的算力了呢?

实际上,NVidia在GPU领域的竞争对手AMD(收购ATI的GPU),就使用了基于SRIOV的GPU虚拟化方案。

如图,AMD的GPU本身为PCI-E SRIOV的PF(Physical Function),而每个虚拟化实例为一个VF(Virtual Function),并直通给一个VM。

GPU的VF直通给VM的方式,和我们在前几期中学习过的,物理设备直通给VM实际上并没有实质的差异,GuestOS看到的是经过Hypervisor调用IOMMU,进行映射后的配置空间、Virtual BAR和DMA地址,CPU上的IOMMU和MMU会将地址翻译为物理地址,也就是让虚拟机能够操纵真实的硬件。同时,VF产生的MSI中断也可以由vAPIC送给虚拟机进行处理。

VM能够访问GPU后,就可以使用原生的CUDA APP和GPU驱动来访问VF设备,提交计算任务并在GPU中计算完成。

但是,SRIOV方式实现的GPU虚拟化有一个严重的缺陷:只提供对虚拟机可见的多个设备,无法实现内部资源的隔离。也就是说,任何一个VM的CUDA程序越界访问GPU内存,会导致其他VM的CUDA应用被异常终止!

小H想到了昨天晚上在饭店遇到的情景,虽然表面上自己在独立的包间用餐,但实际上并没有真正实现物理隔离。其他食客的异常操作(Core dump)导致了小H和小伙伴们的用餐任务异常终止(也有人Core dump了)。

看来,基于SRIOV的GPU虚拟化并不是一个好的方案。

那么,为什么网卡的SRIOV虚拟化在NFV场景能够得到广泛的应用呢?

这是因为,网卡实际上是一个无状态(stateless)的。网卡本身不承担计算任务,数据包的收发、关键字段的提取计算和收到的数据包分发到目标队列,实际上都是硬件定义的原子操作,不会被软件程序所打断。因此,网卡的SRIOV实现实际上只是把一定数目的收发队列分配给VF。

但是GPU的复杂度远超网卡。它是一个有状态(stateful)的。GPU内部有各种计算单元、缓存和RAM控制器,这些部件的状态是由GPU计算指令来决定的。实际上,GPU可以认为是一个高度并行,图灵完备的向量计算机。在这样的一个复杂的硬件中,实现硬件级别的虚拟化隔离,其难度甚至超过Intel在x86中引入VT-X系列特性!

因此,即使是在硬件虚拟化技术方面有深厚积累的Intel,在其GPU虚拟化路线上,也没有采用SR-IOV,而是使用了其他的方案。

请看下期。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大模型与AI底层技术揭秘(28)思过崖上踢实况
在上期,我们讨论了AMD主导的基于SRIOV的GPU虚拟化方案。我们也发现了,由于GPU本质上不是CPU的一个外设,而是一个高度并行,具备成千上万个核的计算机,而SRIOV只是提供了对外的PCI-E接口的虚拟化,并没有提供GPU计算核心与内存分配给不同VM的能力,因此,GPU的SRIOV虚拟化方案存在着一些固有的缺陷。
用户8289326
2024/04/10
2150
大模型与AI底层技术揭秘(28)思过崖上踢实况
大模型与AI底层技术揭秘(小结-下)
在大型的计算集群中,往往有成千上万张GPU卡。如何将这些卡构成的算力集群分配给不同的租户,执行租户各自的计算任务,并实现租户之间的资源隔离和故障隔离呢?这就是算力分配与调度系统的功能了。
用户8289326
2024/07/25
2940
大模型与AI底层技术揭秘(小结-下)
虚拟GPU_vmware gpu
阿里云郑晓:浅谈GPU虚拟化技术(第一章) GPU虚拟化发展史 阿里云郑晓:浅谈GPU虚拟化技术(第二章)GPU虚拟化方案之——GPU直通模式 今天一个小伙伴@我说:“你浅谈一下,没点技术背景的,估计都看不懂…”,醍醐灌顶啊,面向公众的文章不是学术论文,应以普及基本概念为主。所以我决定在接下来的文章力求写的让吃瓜群众能看懂,专业人士能读完也会有很大感触和启迪。至于技术细节,大致就忽略不提了。
全栈程序员站长
2022/11/16
3.1K0
虚拟GPU_vmware gpu
大模型与AI底层技术揭秘(26)从悲惨世界到和平精英
在上期,小H在梦里穿越成了“发哥”,并且成功理解了什么是“时分复用”和“空分复用”。这次,小H又梦见了什么呢?
用户8289326
2024/03/25
3160
大模型与AI底层技术揭秘(26)从悲惨世界到和平精英
大模型与AI底层技术揭秘(31)令狐冲化身酒剑仙
上期我们说到令狐冲在思过崖了解到了剑宗与气宗的区别,武功很快就有了质的飞跃,消灭了大boss东方不败,跟任盈盈携手隐居在山清水秀的杭州,将饮酒与练剑作为日常娱乐项目,最终得道成仙。
用户8289326
2024/04/24
2470
大模型与AI底层技术揭秘(31)令狐冲化身酒剑仙
GPU虚拟化,算力隔离,和qGPU
宋吉科,腾讯云异构计算研发负责人,专注系统虚拟化、操作系统内核十多年,KVM平台上第一个GPU全虚拟化项目KVMGT作者,对GPU、PCIe有深入的研究。 〇、本文写作背景 大约 2 年前,在腾讯内网,笔者和很多同事讨论了 GPU 虚拟化的现状和问题。从那以后,出现了一些新的研究方向,并且,有些业界变化,可能会彻底颠覆掉原来的一些论断。 但这里并不是要重新介绍完整的 GPU 虚拟化的方案谱系。而是,我们将聚焦在英伟达 GPU + CUDA 计算领域,介绍下我们最新的技术突破 qGPU,以及它的意义究竟是什
腾讯云原生
2021/06/02
14.2K0
大模型与AI底层技术揭秘(30)剑宗与气宗
在上一期,我们讲了一个令狐冲通过使用NVidia GRID vGPU方案,把虚拟化的GPU通给多个虚拟机的方案。但是,这个方案仍然没有解决一个关键的问题——不同的GPU虚拟化实例之间的故障隔离问题。如果任何一个虚拟化实例出现故障,会导致物理GPU上,虚拟的所有GPU实例中运行的程序被全部抛出异常。
用户8289326
2024/04/10
2300
大模型与AI底层技术揭秘(30)剑宗与气宗
【重识云原生】第四章云网络4.7.8节——SR-IOV方案
        SR-IOV是Single Root I/O Virtualization的缩写。SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。
江中散人_Jun
2022/06/30
2K0
【重识云原生】第四章云网络4.7.8节——SR-IOV方案
【重识云原生】第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
        Virtio作为一种半虚拟化的解决方案,其性能一直不如设备的pass-through,即将物理设备(通常是网卡的VF)直接分配给虚拟机,其优点在于数据平面是在虚拟机与硬件之间直通的,几乎不需要主机的干预。而virtio的发展,虽然带来了性能的提升,可终究无法达到pass-through的I/O性能,始终需要主机(主要是软件交换机)的干预。vDPA(vhost Data Path Acceleration)即是让virtio数据平面不需主机干预的解决方案。该框架由Redhat提出,实现了virtio数据平面的硬件卸载。控制平面仍然采用原来的控制平面协议,当控制信息被传递到硬件中,硬件完成数据平面的配置之后,数据通信过程由硬件设备(智能网卡)完成,虚拟机与网卡之间直通。中断信息也由网卡直接发送至虚拟机不需要主机的干预。这种方式,控制面比较复杂,硬件难以实现。
江中散人_Jun
2022/06/30
2.6K0
【重识云原生】第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
深入理解SR-IOV和IO虚拟化
Leo Hou,目前就职于IC行业某硬件数据加速独角兽企业,从事虚拟化方向,聚焦于基于QEMU/KVM的IO虚拟化和系统虚拟化,主要负责虚拟化相关方案和团队建设。
Linux阅码场
2022/02/11
11.1K1
深入理解SR-IOV和IO虚拟化
大模型与AI底层技术揭秘(25)大丈夫日记
有一天,小H被人拉进了一个技术交流群,却发现群里讲的都是各种八卦、社会新闻和pdf小作文。小H立即产生了浓厚的兴趣,天天在这个群里面学习知识。皇天不负有心人,有一天群里终于出现了技术话题,讨论起GPU服务器内部的组件互联。小H看见了一句金句:“计算的尽头是通信”。再一看,原来是方老师说的!
用户8289326
2024/03/13
1290
大模型与AI底层技术揭秘(25)大丈夫日记
虚拟化与云计算硬核技术内幕 (12) —— 独立自主,自力更生 (中)
在上期,大家了解了虚拟机中的纯虚拟化设备(Emulation)和半虚拟化(Para-virtualiazation)是如何工作的。
用户8289326
2022/09/08
9120
虚拟化与云计算硬核技术内幕 (12) —— 独立自主,自力更生 (中)
Pve开源虚拟化常见配置
这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家
慕阳MuYoung
2025/06/12
2280
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
这一步如果当前网络环境有网络并且dhcp获取到ip地址会默认获取国家跟时区直接下一步,如果没有网络环境这一步需要手动输入时区以及国家
慕阳MuYoung
2024/04/17
8.7K1
PVE虚拟化(Proxmox Virtual Environment)安装以及常规配置(lvm分区,调整swap,更改源,删除订阅弹窗)
SRIOV 单根虚拟化 技术汇总
在虚拟化中,单根输入/输出虚拟化(SR-IOV) 是一种出于可管理性和性能原因允许隔离PCI Express资源的规范
晓兵
2024/01/05
5060
SRIOV 单根虚拟化 技术汇总
OpenStack实践SR-IOV计算节点
SR-IOV 使一个单一的功能单元(比如,一个以太网端口)能看起来像多个独立的物理设备,即支持SR-IOV 功能的物理设备能被配置为多个功能单元。
后端云
2018/10/24
2.6K0
OpenStack实践SR-IOV计算节点
下一代IO虚拟化技术
在Intel最新至强Sapphire Rapids处理器中有个新的feature引起了我的注意,它叫SIOV。
虚拟化云计算
2023/03/28
1.7K0
下一代IO虚拟化技术
27个FusionCompute知识点,网工你一定用的上!
(1)、CNA:计算节点代理,提供虚拟计算功能、管理计算节点上的虚拟机、管理计算节点上的计算、存储、网络资源、
ICT系统集成阿祥
2024/12/19
6020
27个FusionCompute知识点,网工你一定用的上!
软硬件融合技术内幕 进阶篇 (5) ——云计算的六次危机(下)
在前几期,我们发现,正如生产关系与生产力之间的相互作用那样,低效的虚拟化数据平面工作机制,会严重约束云计算生产力的发展。
用户8289326
2022/12/13
9690
软硬件融合技术内幕 进阶篇 (5) ——云计算的六次危机(下)
大模型与AI底层技术揭秘(23)抽象派的小黑子
在上期,我们遗留了另一个问题:在ARM Cortex-A 体系架构下,应当如何让让虚拟机的OS能够访问到PCI-E设备的配置空间,IO BAR空间和DMA缓冲区?
用户8289326
2024/02/26
1920
大模型与AI底层技术揭秘(23)抽象派的小黑子
推荐阅读
相关推荐
大模型与AI底层技术揭秘(28)思过崖上踢实况
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档