加速NFV(网络功能虚拟化)数据面:SR-IOV和DPDK

这是真的——过去关于 SR-IOV 和 DPDK 的讨论很多,。这是一个挑战:一个以稍微不同的方式讲述数据平面加速故事的机会。显然,“最真诚的奉承”论点在写作界并没有多大分量。

 作为 SR-IOV 和 DPDK 的拥护者或直接发起者,英特尔是有关这两者的绝佳信息来源。然而,SR-IOV 扎根于外围组件互连特别兴趣小组,简称 PCI-SIG。基于 AMD (IOV)、Intel (VT-d) 和其他公司的输入输出内存管理单元 (IOMMU) 技术并对其进行标准化,“单根 I/O 虚拟化和共享规范”于 2007 年 9 月首次发布1,大约在同一时间,服务器虚拟化的概念正在大踏步前进。到目前为止,I/O 虚拟化选项严格基于软件,管理程序(虚拟机监视器或 VMM)永久驻留在物理 NIC 和与虚拟机 (VM) 本身关联的虚拟 NIC (vNIC) 之间的路径上.

虽然这是我们通常认为虚拟机的方式,并且确实具有一些优势,例如遗留应用程序支持和普遍不依赖“专用”硬件,但它也导致 CPU 利用率异常高。这最终会降低吞吐量和可以实际托管在单个平台上的虚拟机数量——在某些情况下,从业务角度来看,虚拟化不再可行。

与它们的非虚拟化对应物一样,在 VM 环境中获取数据包以进行处理是中断驱动的。当 NIC 接收到流量时,会向 CPU 发送中断请求 (IRQ),然后 CPU 必须停止正在执行的操作以检索数据。任何有孩子的人都会明白,中断是无止境的——降低了 CPU 执行其主要计算任务的能力。在虚拟主机中,这个问题被进一步夸大了。不仅运行管理程序的 CPU 内核会被中断,而且一旦它确定了数据包属于哪个 VM(例如,基于 MAC 或 VLAN ID),它必须向运行管理程序的 CPU 内核发送第二个中断。虚拟机本身,告诉它来获取数据。

这是双重打击,但更重要的是,第一个核心是一个主要瓶颈,并且可能很快就会过载。英特尔迈出了消除这一瓶颈并通过称为虚拟机设备队列 (VMDq) 的技术提高整体性能的第一步。顾名思义,VMDq 使管理程序能够在 NIC 中为每个 VM 分配一个不同的队列。不是首先向管理程序 CPU 内核发送中断,而是只需要中断托管目标 VM 的 CPU 内核。数据包只被触及一次,因为它被直接复制到 VM 用户空间内存中。

现在VMDq 已经消除了瓶颈,中断在所有 VM 主机内核之间的负载平衡更加公平。虽然这具有将管理程序保持在循环中的优势,从而使 vSwitch 等功能保持内联,但以数据平面为中心的虚拟化网络功能中的大量中断仍将对性能产生难以置信的不利影响。这就是 SR-IOV 的用武之地。

当 SR-IOV 被引入世界时,我们正在经历某种程度的中断消除运动。InfiniBand 风靡一时,其远程直接内存访问 (RDMA) 技术有望推翻 IRQ……只要它能够克服以太网。然而,就像房子一样,以太网再次证明了它不应该被赌注。虽然不是“远程”,因为没有独特的链路层协议&

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值