PCIe SR-IOV:为什么需要SR-IOV
创作时间:
作者:
@小白创作中心
PCIe SR-IOV:为什么需要SR-IOV
引用
CSDN
1.
https://blog.csdn.net/bryanwang_3099/article/details/106116474
PCIe SR-IOV(Single Root I/O Virtualization)是一种用于提高硬件资源利用率的虚拟化技术。它通过在单个根端口(Single Root)上实现I/O虚拟化,使得多个虚拟机可以直接访问物理设备,从而提升I/O性能。本文将详细介绍SR-IOV的发展历程、架构组件及其优势。
1. SR-IOV的最终目标
终极目标:提高硬件资源利用率。
2 发展历程
2.1 原始状态v1.0
上图展示了在没有引入任何虚拟化技术时,一个PCIe系统的状态。它主要有以下组件构成:
- 处理器:可以是通用处理器、嵌入式处理器、专用处理器等等。
- 内存
- PCIe Root Complex(RC):一个平台系统下,可以包含一个或多个RC。
- PCIe Root Port(RP):每个RC可以支持一个或多个RP。每个RP代表了一个独立的层次结构。SR-IOV中的SR(single root)就是指只有一个RP的场景。
- PCIe Switch:用于PCIe扩展,即允许连接更多的PCIe设备或PCIe Switch。
- PCIe Device:PCIe设备终端,可以是网卡、存储等等。
- System Image:操作系统。
既然是原始状态,那么也就意味着当前系统状态的硬件资源利用率存在可优化的空间,因此衍生出了进化版v2.0。
2.2 进化版v2.0
为了在不改变硬件的情况下提升资源利用率,在硬件资源和System Image之间增加一个虚拟化中间层(Virtualization Intermediary,简称VI)。与此同时,System Image的数量也增加了(此时的SI可以看做是运行在服务器上的多个虚拟机)。
这种系统架构下,VI负责管理所有硬件并将硬件虚拟化之后提供给SI。每个SI可以使用的硬件资源可以根据负载或者用户需求进行调整。这种架构可以应对许多使用场景,但是由于每一笔I/O操作都需要VI层的参与,导致性能明显下降,因此在I/O性能要求较高的场景下很难满足需求。
基于当前架构的局限性,PCI-SIG开发出了SR-IOV技术。
2.3 进化版v3.0 —— SR-IOV
SR-IOV的优点:
- 主要数据传输阶段(DMA、内存空间访问、中断处理等)不再需要VI的参与,明显提升了性能。
- 通过SR-PCIM(Single Root PCI Manager)对SR-IOV资源进行标准化配置和管理。
- 只需要比较少的硬件投入,就可以在一个设备中添加大量的I/O Function支持。
- 能够将SR-IOV与其他I/O虚拟化技术集成在一起,从而创建健壮、完整的I/O虚拟化解决方案。相关的虚拟化技术包括:Address Translation Services (ATS)、Address Translation and Protection Table (ATPT)技术、interrupt remapping technologies。
SR-IOV架构中新增的组件:
- Single Root PCI Manager(SR-PCIM)
- 软件实现。负责SR-IOV capability的配置、PF和VF的管理、错误事件的处理、设备的统筹管理(例如电源管理、热插拔等)。
- Optional Translation Agent(TA)
- 硬件实现或者软硬件联合实现。负责将PCIe事务中的地址转化成实际的物理地址。TA中可能包含Address Translation Cache,用于加速地址转换表的访问。TA可能支持Address Translation Services(ATS),ATS能够使PCIe Function在开启DMA之前预先获取目标内存的地址转换关系。如果PCIe事务表明他们包含了转换之后的地址,那么就可以省略address translation的查表过程,所以,ATS能提升性能。
- Optional Address Translation and Protection Table(ATPT)
- ATPT就是存放地址转换关系的表,供TA访问。
- Optional Address Translation Cache(ATC)
- 本质就是Cache,能够加速Address Translation的查表效率。
- Optional Access Control Services(ACS)
- ACS能够决定一个TLP能够routed normally,blocked或者redirected。在SR-IOV系统中,还能防止属于VI或者不同SI的设备Function之间直接通信。(这个不太理解,以后再细研究)
- Physical Function(PF)
- PF就是支持SR-IOV capability,并且能被SR-PCIM、VI或者SI访问的PCIe Function。
- Virtual Function(VF)
- VF是一个轻量级的PCIe Function,能够被SI直接访问。
- VF中与主要数据传输有关的资源可以被VI直接访问。配置资源(Configuration resources)应该只允许被受信任的软件访问,例如VI,SR-PCIM。
参考资料:《Single Root I/O Virtualization and Sharing Specification Revision 1.1》
热门推荐
车子长时间不开如何避免电瓶亏电?记住这2个方法,电瓶更耐用
手机屏幕材质排行榜
如何挑选手机屏幕:从材质到护眼功能,全面解析高舒适度屏幕秘诀
勇者大战魔物娘动画:奇幻冒险与情感交织的视听盛宴
盘点古代各朝阅兵式:八阵最早现于阅兵场
集成电路学习:什么是MMU存储管理单元
咸鸭蛋要放在冰箱里冷藏吗?
房屋面积怎么算平方米
中国蓝莓的命运齿轮,被这家研究所拨动了
传统文化视角下宝宝名字的历史象征与价值
烘焙日常中如何挑选面粉?
冬吃萝卜夏吃姜,天冷来碗萝卜汤?吃萝卜有这些禁忌
白头发会“拔一根长十根”吗?皮肤科专家说出真相
初中英语语法知识点汇总:should用法
零工经济时代:如何有效规避风险?
盘点表的排名标准有哪些?
鸡蛋为什么浮不起来?科学原理与实验解析
CPU计算时延:组成、影响因素与优化方法
如何提高体育生200米跑步技巧(掌握正确的姿势和训练方法)
我的世界国际版和网易版的5大区别,哪个更好看完就懂
《道德经》开篇藏着的宇宙密码,99% 的人都读错了!
【3.29德甲比赛】拜仁VS圣保利预测分析 主队欲重返胜利轨道,客队实力有限
四川变脸艺术的民俗文化内涵
春运期间多地机场、车站暖心服务:过夜休息区免费开放,低价餐饮保障旅客需求
深度解析:物理学硕士的就业方向与前景
原来老祖宗才是谐音梗高手
罗马万神庙:古罗马建筑艺术的巅峰之作
反渗透设备水质提升解决方案
血透水机反渗透膜的重要性
行程计划表怎么做?教你如何轻松规划完美旅行