PCIe SR-IOV:为什么需要SR-IOV

2024-03-27 22:50
文章标签 需要 pcie sr iov

本文主要是介绍PCIe SR-IOV:为什么需要SR-IOV,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PCIe SR-IOV:为什么需要SR-IOV

目录

  • PCIe SR-IOV:为什么需要SR-IOV
    • 1. SR-IOV的最终目标
    • 2 发展历程
      • 2.1 原始状态v1.0
      • 2.2 进化版v2.0
      • 2.3 进化版v3.0 —— 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》

这篇关于PCIe SR-IOV:为什么需要SR-IOV的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853657

相关文章

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

在WinCE的C#编程中,需要静态调用C++的动态库,需要添加using System.Runtime.InteropServices

using System.Runtime.InteropServices;         [DllImport("Win32DLL.dll", EntryPoint = "WriteREG_SZToRegTCHAR")]         private static extern bool WriteREG_SZToRegTCHAR(int iFlag, string regKeyP

Selenium WebDriver 3.0 需要注意的事项

首先,要使用WebDriver 3.0 的话 请使用JAVA 8(必要)   其次,由于W3C标准化以及各大浏览器厂商的积极跟进,自WebDriver 3.0 之后,Selenium不再提供默认的浏览器支持. 也就是说 如果你要使用Firefox, 就需要用到Mozilla自己的驱动实现: geckodriver ,这里是github下载地址 https://github.com/mozil

H5测试需要关注的测试方面

原文转自:https://blog.csdn.net/u011695652/article/details/77932393 Html5是近五年来风头最劲的前端界面语言,不管是在PC端和手机端都得到了大幅度的使用,相信不久的将来将会替代Html4成为所有主流WEB界面的前端编写语言。而从H4升级到H5,还是有很多不同特性。且在插件的应用上也大大简化。下面我们就来探讨一下H5测试时应考虑的测试

「Debug R」如何不需要重新启动R/Rstudio就可以升级已经加载的R包

当我们已经加载了一个R包,例如ggplot2时,然后此时你发现ggplot2目前出最新版了,你心血来潮想要升级它,于是你输入了install.packages("ggplot2"), 结果弹出了下面这个界面 一个神奇的界面 它强烈建议你重启一下Rstudio,并且说到Rstudio会非常智能的重启并继续你的任务。但是根据我多年踩坑的经验,它通常没有那么智能。即便它有它说的那么智

Html表格table还是需要添加一些标签进行优化,可以添加标题caption和摘要table summary

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>认识table表标签</title><style type="text/css">table tr td,th{border:1px solid #090;//为表格添加边框:像素是

网络技术原理需要解决的5个问题

解决世界上任意两台设备时如何通讯的?? 第一个问题,pc1和pc3是怎么通讯的? 这俩属于同一个网段,那么同网段的是怎么通讯的? pc1和pc2属于不同的网段,第二个问题,不同网段的设备是怎么通讯的?? 第三个问题,我内网的pc如何访问公网的服务?? 第四个问题,互联网的用户如何访问我的服务器的呢?? pc5是长沙分公司的pc,我想访问总部的服务器,我直接输入总部的私网的ip肯

(经验)高考填报志愿,有哪些坑你需要避开?

高考年年考,填报志愿的却年年都是新手.....哪些关于高考填报志愿的坑,依旧还继续坑....是时候做些改变了。过来人写的几点避坑,希望给这届新人做参考。 1、不要什么热门就报什么,因为有些东西别人学得很快,而我慢的像蜗牛,大学里头无数次想退学。人跟人是有差别的....跟风的后果很严重。 2、不要听父母长辈的,因为他们对新型行业根本不了解,甚至还在琢磨大学毕业那个学校包分配工作?是不是铁

不需要new关键字创建实例?jQuery是如何做到的

这篇文章是jQuery源码专栏的开篇文章了,有人会问为什么都2024年了, 还要研究一个已经过时的框架呢,其实,jQuery对比vue和react这种响应式框架,其在使用上算是过时的,毕竟直接操作DOM远不如操作虚拟DOM来的方便,但是jQuery的框架设计和对于操作的封装以及浏览器的兼容这些,太值得我们去学习了。   这个专栏更新的速度不会快,这框架代码我是刚开始进行了解,所以只能边看边查

展厅装修时候需要注意哪些细节

1、视觉方面      展厅应该具有很强的视觉冲击力。只有这样不论是领导视察还是合作的客户进行参观的时候才会对展厅产生浓厚的兴趣,同时产生一种亲和力,并直接加深对企业的识别度和记忆度。而个性化设计要跟企业文化相符合。这里,企业标志为寻求个性科技的企业展厅设计提供了丰富的设计元素与设计依据。      2、安全问题      不论是企业展厅还是展台设计搭建,安全永远是第一位的,很