SR-IOV在云计算数据中心的应用方法、价值和前景

作者:采集侠 发布时间:2019-12-06 11:59:27 点击数:116

宏图棋牌这就是今天要讨论的话题——SR-IOV,一种硬件角度出发的虚拟化解决方案,本文不仅会对这项技术的概念和原理进行介绍,还会结合AWS以及Memblaze的研究来探讨SR-IOV在云计算数据中心的应用方法、价值和前景。

SR-IOV及虚拟化系统中相关概念

宏图棋牌在介绍之前,需要先明确一些SR-IOV相关的概念,一个典型的SR-IOV方案架构如下。

SR-IOV在云计算数据中心的应用方法、价值和前景

SR-IOV的实现模型

(来源:)

宏图棋牌System Image(SI),客户机,或者称虚拟机OS。

Virtual Intermediary(VI),虚拟机管理层,是物理机和虚拟机的中介,可以是hypervisor或者VMM。(SR-IOV的主要作用就是消除VI对I/O操作的干预,进而提升数据传输性能)。

SR-PCIM,配置和管理SR-IOV功能以及PF/VF的软件,SR-PCIM可以处理相关的错误和实现设备的整体控制(比如实现电源管理和热插拔,一个PCIe设备支持SR-IOV时,SR-PCIM就可以通过热插入的方式为物理主机添加VF设备,然后就可以配置VF给虚拟机使用。)

PF(Physical Function),SR-IOV中的关键概念, PF 是 PCIe一种物理功能,每个PF都可以被物理主机发现和管理。进一步讲,借助物理主机上的PF驱动可以直接访问PF所有资源,并对所有VF并进行配置,比如:设置VF数量,并对其进行全局启动或停止。

宏图棋牌VF(Virtual Function),PF虚拟出来的功能。一个或者多个VF共享一个PF,其驱动装在虚拟机上,当VF分配给虚拟机以后,虚拟机就能像使用普通PCIe设备一样初始化和配置VF。如果PF代表的是一张物理网卡,那么VF则是一个虚拟机可以看见和使用的虚拟网卡。

一句话解释SR-IOV

宏图棋牌SR-IOV通过将PF分为多个VF为上层虚拟机使用,相当于虚拟机绕过VI直接使用PCIe 设备处理I/O和传输数据。

值得一提的是,物理主机启动时不能简单的扫描SR-IOV设备并列举出所有VF,因为VF没有完整的PCIe配置空间。可以用Linux PCI热插拔API动态为物理主机增加VF,然后分配给虚拟机使用。

SR-IOV实现的价值

传统虚拟化系统中大量的资源和时间损耗在Hypervisor(或者VMM)软件层面,PCIe设备的性能优势因此无法彻底发挥。而SR-IOV的价值在于消除这一软件瓶颈,助力多个虚拟机实现物理资源共享,同时使得虚拟机可以使用到NVMe SSD的高性能。

在此我们可以总结得出SR-IOV优势:

实现SR-IOV之后,VMM把中断交给虚拟机处理,而不是VMM处理I/O,提高了性能;

宏图棋牌虚拟机直接和PCIe设备交互减轻物理主机CPU负担,使之有能力承载更多虚拟机;

宏图棋牌SR-IOV虚拟化技术可以减少客户所需PCIe设备数量,进而节省PCIe插槽;

SR-IOV可以与其他的I/O虚拟化技术进行结合提供一个更加完整的兼具高性能和安全性的解决方案。

宏图棋牌以NVMe SSD为例,今天的一块NVMe SSD容量可以达到十几TB,而IOPS冲到了100万,同时有着微秒级的延迟。SR-IOV可以使NVMe SSD直接被上层多个VM所用,SSD的性能优势也可以直接被上层应用感知到。

可以看到虚拟化和云计算都是SR-IOV大显身手的领域。事实上,我们看到当前走在SR-IOV实践最前面的,就是云计算巨头AWS。接下来我们也将通过AWS公布的一些资料解读SR-IOV的实现和瓶颈。

从AWS实践看SR-IOV

宏图棋牌AWS从全局的角度考虑,构建了一套基于Nitro System的方案,实现存储、网络等多种VF功能,为此,AWS在2015年收购了以3.5亿美元收购以色列芯片商Annapurna Labs。

SR-IOV在云计算数据中心的应用方法、价值和前景

下图展示了AWS在SR-IOV上的进展,可以看到AWS经历了从全虚拟化到半虚拟化,而后的2013年到2017年,通过使用SR-IOV技术使得虚拟机的网络和存储性能,逐步达到近似Bare-metal performance的水平。

SR-IOV在云计算数据中心的应用方法、价值和前景

从AWS产品服务来看,2013年的CR1的实现,不论存储和网络访问都是要过Amazon的hypervisor layer(Xen)的。

SR-IOV在云计算数据中心的应用方法、价值和前景

而到了2017年的C5,VM的EBS Storage和Network全部不通过Amazon Linux hypervisor layer,而通过Lightweight Nitro hypervisor。

SR-IOV在云计算数据中心的应用方法、价值和前景

对于这个Nitro Hypervisior,AWS给出的解释是这是一个new hypervisor,但是不仅仅是个hypervisor。基于Annapurna Labs这颗芯片,AWS实现了PCIe设备PV到VF的SR-IOV虚拟化功能,利用Nitro Hypervisior实现了QoS管理功能。看AWS的C5和C5D机型的配置,VF可以是50、100、200、400、900GB的大小。