随着虚拟化的日益普及,数据中心内流量呈现惊人增长,这给传统数据中心带来了压力。
(资料图)
通常,虚拟机依赖 VirtIO 等软件接口与虚拟机管理程序(hypervisor)连接。尽管与 SR-IOV 相比,VirtIO 具有更大的灵活性,但它可以在主机中占用高达 50% 的计算能力,从而降低服务器的整体效率。
同样,软件定义数据中心的采用也在日益增长。虚拟化和软件定义的工作负载都非常消耗 CPU 。这造成了效率低下,降低了整个系统的总体性能。此外,由于应用程序域和网络域未分离,基础设施安全可能受到威胁。
F5 与 NVIDIA 在 NVIDIA GTC 上展示了如何解决这些挑战。F5 探讨了 BIG-IP 虚拟版(VE)通过将 VirtIO 卸载到 NVIDIA BlueField-2 DPU(数据处理器)和 ConnectX-6 Dx SmartNIC 来加速其 BIG-IP 虚拟版本(VE)的虚拟化设备产品线。在会议中,他们阐述了 DPU 如何通过其板载网络 ASIC 和 Arm 处理器核心提供最佳加速和卸载,从而使 CPU 核心能够专注于应用程序工作负载。
卸载到 DPU 还提供了域隔离,以更紧密地保护资源。对 VirtIO 的支持还实现了动态可组合性,创建了一个软件定义、硬件加速的解决方案,显著降低了对 CPU 的依赖,同时保持了 VirtIO 的灵活性。
虚拟交换加速
图 1 . 卸载 VirtIO 将虚拟数据路径从软件转移到
SmartNIC 或 DPU 的硬件中,并对其进行加速
虚拟交换是服务器虚拟化的产物。虚拟机管理程序需要能够在虚拟机之间以及与外部世界之间实现透明的流量交换。
最常用的虚拟交换软件解决方案之一是 Open vSwitch(OVS)。NVIDIA 的加速交换和数据包处理(ASAP2)技术加速了虚拟交换,以提高软件定义网络环境中的性能。
ASAP2 支持使用 vDPA 从控制平面卸载虚拟交换(OVS 数据平面)。这允许将流规则编程到网络适配器或 DPU 内的 eSwitch 中,并允许使用标准 API 和通用库(如 DPDK)来显著提高的 OVS 性能,而无需相关的 CPU 负载。
ASAP2 还支持 SR-IOV 用于数据平面的硬件加速。这两种功能的结合提供了一种软件定义、硬件加速的解决方案,解决了虚拟 SDN vSwitching 解决方案中相关的性能问题。
加速网络
NVIDIA 发布了 NVIDIA DOCA ,这是一个简化 BlueField 应用程序开发的框架。DOCA 使 BlueField DPU 的编程和管理更加容易。使用 DOCA 为 BlueField 开发的应用程序也可以在未来版本上运行而无需更改,以确保向前兼容性。
DOCA 由行业标准 API 、库和驱动程序组成。其中一个驱动程序是 DOCA VirtIO-net ,它提供 VirtIO 接口加速。使用 BlueField 时,VirtIO 接口在 DPU 硬件上运行。这减少了 CPU 的参与,加快了 VirtIO 的性能,同时支持实时迁移等功能。
图 2 . VirtIO 卸载的性能优势
(图中标题 "Virtio” 实际应为 "VirtIO")
BIG-IP VE 结果
在 GTC 会议期间,F5 演示了硬件加速与无硬件加速运行相比的优势。该演示显示了 BIG-IP VE 为 NGINX 执行 SSL 终止。TSUNG 流量生成器用于通过多个 BIG-IP VE 实例发送 512K 字节的数据包。
在主机上运行 VirtIO 时,最大吞吐量仅达到 5 Gbps ,耗时 187 秒,仅处理了所有数据包的 80%。
使用硬件加速的同一场景中,仅在 62 秒内就实现了 16 Gbps 的吞吐量,并且处理了 100% 的数据包。
总结
不断提高的网络速度、虚拟化和软件定义的网络正在给数据中心系统增加压力,并需要提高效率。
VirtIO 是一个完善的输入/输出(I/O)虚拟化接口,但其是一个纯软件框架。SR-IOV 技术的开发正是为了支持高性能、高效的网络功能卸载和加速,但它需要每个虚拟机中的特定驱动程序。通过在硬件上加速 VirtIO-net ,您可以避免网络性能不佳,同时保持透明的软件实现,包括完全支持 VM 实时迁移。
F5 Networks 的演示表明吞吐量提高了 320% ,处理时间减少了 66% ,并处理了 100% 的数据包。这表明,未来的发展方向是通过硬件 vDPA 将 VirtIO 驱动程序的开箱即用性与 DPU 硬件加速的性能增益相结合。