0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

SSDFans 来源:lp 2019-04-19 17:16 次阅读

2007年9月,PCI-SIG官方发布了《Single Root I/O Virtualization and Sharing Specification Revision 1.0》规范,定义了多个System Images如何共享PCI接口的I/O硬件设备,这里的设备可以是PCIe 网卡,一块PCIe SSD等等。

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

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

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

SR-IOV的实现模型

(来源:http://www.pcisig.com/)

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。

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

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

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

对于这个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的大小。

Memblaze测试工程师申请了一个亚马逊AWS服务器以及一个c5d.large的NVMe SSD,从AWS官方看到实例配置可知c5d.large的IOPS读被限制在2万IOPS、写被限制在9000IOPS。

Memblaze申请的AWS服务器

Amazon EBS 和 NVMe

在基于 Nitro system的虚拟机上,EBS 卷显示为 NVMe 块储存设备,这些设备依赖于操作系统上的标准 NVMe 驱动程序。这些驱动程序通常在虚拟机启动期间,通过扫描 PCI 总线来发现连接的设备,然后根据设备响应的顺序创建设备节点。设备名称为 /dev/nvme0n1、/dev/nvme1n1,以此类推。

实测,可以看到AWS可同时给云主机提供EBS(上图Amazon Elastic Block Store)远程存储和本地NVMe SSD(上图Amazon EC2 NVMe Instance Storage),两者均被识别为一个PCIe设备。

分别测试两者的读和写延迟。测试结果如下:

AWS VM的Instance store(nvme1n1)读latency在96μs

AWS VM的Instance store(nvme1n1)写latency 99.95%都在24-37μs

通过Nitro 虚拟化后虚拟机仅增加了10μs延迟。AWS全局的SR-IOV设计理念在于,存储和网络都可以通过Nitro系统实现SR-IOV,分布式的EBS卷经Nitro Card到虚拟机就成为了一个NVMe块存储设备,而不需要底层的SSD支持SR-IOV。

但是全球只有AWS做到了这点,他的SR-IOV实践证明这项技术价值的同时也展示了其技术实力。

Memblaze在SR-IOV领域的研究现状

另一方面,SSD实现SR-IOV的同时,需要系统做相应的修改和调优处理,这里总结了企业客户实现SR-IOV的几点需求。

从安全性考虑,NVMe SSD需要实现多命名空间管理,并且满足使用命名空间的租户之间不能互相访问到数据,尤其是命名空间重新分配给云主机用户的时候。

从云主机业务性能QoS保障的角度,需要NVMe SSD实现不同VF之间的I/O隔离。而这里的I/O隔离同样需要基于多命名空间实现。

(关于多命名空间可以参看文末相关阅读中的《实锤,PBlaze5实力演绎multiple namespaces 功能》)

PCIe驱动以及NVMe驱动的修改。驱动是连接系统和SSD的关键,这里需要修改PCIe Driver对 VF BAR空间地址的分配机制以及修改NVMe Driver对VF I/O超时处理的机制

最后也是最重要的是合作,SR-IOV实现需要Memblaze与客户进行环境联调,以及大规模测试验证,以此保障SR-IOV功能的可靠性、性能表现等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    38

    文章

    7331

    浏览量

    135633
  • 虚拟化
    +关注

    关注

    1

    文章

    349

    浏览量

    29552
  • AWS
    AWS
    +关注

    关注

    0

    文章

    392

    浏览量

    23922

原文标题:超低延迟SR-IOV!全球只有他做到了

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    计算与大数据_1.3计算数据中心#硬声创作季

    计算数据中心
    Hello,World!
    发布于 :2022年10月26日 19:22:56

    [转帖]计算可使企业通过网络而不是数据中心获得计算能力

    因更多企业开始拥抱自动化与虚拟化数据中心时代的到来,预计未来五年计算服务器销售额将激增至126亿美元。IDC表示,预计公共领域计算服务器
    发表于 05-11 15:09

    走向绿色数据中心的7种手段

      计算数据中心涉及资源空间,电力,不间断电源等等因素。毫无疑问,数据中心对当地的生态系统造成巨大的压力。将数据中心变成环保的数据中心不是
    发表于 08-16 15:35

    国际数据中心计算产业展览会

    数据中心行业发展前景: 随着中国信息化社会的快速发展,以及计算、物联网等产业的崛起,数据中心作为终端海量
    发表于 09-12 11:21

    正在使用SR-IOV功能,请问能不能再VF端口中启动MAC学习?

    我的PC中使用X710进行自定义应用程序。我正在使用SR-IOV功能。我已为每个VF分配了MAC地址。有没有办法VF端口启用MAC学习?我的应用程序将使用生成的mac地址与对等方进行通信
    发表于 10-31 19:22

    数据中心市场的十大趋势

    (IoT)等新技术的发展,按需访问的需求也不断增长。用户希望无论从本地设备存储还是云端访问数据,都能享受到同样的用户体验。数据中心需要提供更快的
    发表于 12-31 22:23

    基于PCI Express SR-IOV的大量虚拟化功能

    当今数据中心用的PCI Express最强大的一个功能是I/O虚拟化。I/O虚拟化让虚拟机直接访问I/O硬件设备,提高了企业级服务器的性能。单根I/O虚拟化(SR-IOV)技术规范拉动了市场
    发表于 07-17 06:18

    数据中心太耗电怎么办

    ​​​​​​摘要:其实对于节能,传统技术也是做了“十二分”的努力。但是技术不断演进的情况下,传统节能技术还是存在问题,如何破?本文分享自华为社区《数据中心节能?来试试华为NAIE数据中心
    发表于 06-30 06:27

    数据中心是什么

    数据中心是什么:数据中心是全球协作的特定设备网络,用来因特网络基础设施上传递、加速、展示、计算、存储数据信息。
    发表于 07-12 07:10

    Intel图形SR-IOV增强工具箱使用指南

    的标准方法。每个虚拟功能都被直接分配给一个虚拟机,从而实现虚拟机接近本机的性能。 英特尔图形公司SR-IOV的主要好处是: 一种标准方法,即与虚拟机器共享有形的GPU,从而允许虚拟
    发表于 08-02 16:07

    计算数据中心和传统IDC的差异在哪里

    现在可能会有很多人对云计算数据中心还有大数据等这类技术和名次感到模糊不清,云计算数据中心是一种基于云计算架构的,
    发表于 04-25 11:44 6407次阅读

    SR-IOV创建虚拟函数

    This video demonstrates how to create virtual functions using SR-IOV mode.
    的头像 发表于 10-18 05:42 2769次阅读

    什么是SR-IOV呢?SR-IOV技术的优缺点及应用场景

    SR-IOV全称为Single Root I/O Virtualization(单根输入/输出虚拟化),是一种硬件加速的虚拟化技术,它允许多个虚拟机同时访问物理设备,从而提高虚拟机的性能和可靠性。
    的头像 发表于 06-06 14:58 2w次阅读

    SR-IOV研究:一个简单的测试环境

    简单地说,SR-IOV是一种让一台主机上的多台虚拟机和主机系统本身合用同一张物理网卡的技术,每台虚拟机都认为自己拥有一张独立的网卡(即一个VF),而其实它们都被骗了~
    的头像 发表于 06-14 11:34 1755次阅读
    <b class='flag-5'>SR-IOV</b>研究:一个简单的测试环境

    浅谈云数据中心、智算数据中心、超算数据中心区别,分布式电源是趋势

    数据中心、智算数据中心、超算数据中心三者区别,分布式电源是趋势 大家都在聊云数据中心、智算数据中心、超
    的头像 发表于 11-29 14:20 732次阅读
    浅谈云<b class='flag-5'>数据中心</b>、智<b class='flag-5'>算数据中心</b>、超<b class='flag-5'>算数据中心</b>区别,分布式电源是趋势