DPU和CPU互联的接口之争:Virtio还是SR-IOV?
欢迎关注软硬件融合公众号:
(标题)NVIDIA DPU白皮书:SR-IOV vs. VirtIO加速性能对比
1 背景
仅软件
全硬件加速
混合方法
虚拟I/O
SR-IOV加速交换和数据包处理 (ASAP2)
结合了VirtIO和SR-IOV的混合
与SR-IOV相比,性能和效率较差
VirtIO硬件加速仅提供限制虚拟化功能的低级接口
VirtIO硬件加速不会虚拟化所有功能,导致硬件依赖
并非所有操作系统都支持某些关键功能,例如VM迁移
必须编写VM和应用程序才能利用虚拟化加速
2 云数据中心的演进
计算节点:作为弹性云服务的一部分,实例化运行来自客户的不同应用程序的虚拟机。
网络节点:运行网络功能,如负载均衡(基于 L4 或 L7)、IPS/防火墙、Anti-DDoS 等。
存储节点:运行分布式软件定义存储。
3 以太网网络适配器技术趋势
4 什么是 VirtIO 加速?
5 VirtIO的优势
VM中的通用VirtIO驱动程序
硬件供应商不可知,因为它是一个软件API
性能足够好
高于非加速VirtIO 低于基于SR-IOV的IHV(独立硬件供应商) VF的速率
降低了NIC仿真的CPU使用率
实时迁移支持
6 VirtIO加速面临的挑战
7 硬件vDPA
9 SR-IOV的实时迁移支持
10 SR-IOV加速的优势
l裸机性能(BW、PPS、延迟)
独特的IHV创新功能
VM中的原生IHV驱动程序
从ConnectX-4开始,硬件I/F完全向后和向前兼容
NIC仿真的CPU使用率为零
原生NIC暴露给VM
实时迁移支持
11 Benchmark比较
11.1 VirtIO加速
这些是基于VirtIO1.0(split Q)与VirtIO1.1(packed Q)规范的PCI开销之间差异的理论最大值(建模或模拟)结果。
实际性能数字将是这些理论最大数字的50-60%。
11.2 SR-IOV加速性能
12 SR-IOV与VirtIO加速对比
数据包速率性能:SR-IOV 66 Mpps vs. VirtIO 10-15 Mpps。NVIDIA接口针对最高性能进行了调整——VirtIO主要针对软件性能进行了调整(即使如此,VirtIO1.1中的改进也在进行中)。
吞吐量:SR-IOV的线速 (100Gbps) vs. VirtIO的最大30Gbps
延迟:SR-IOV为0.6微秒
减少服务器资源占用率:SR-IOV的 CPU使用率为零,VirtIO降低CPU使用率,但不是零CPU使用率。
没有特殊硬件:今天的竞争对手在昂贵且难以编程的FPGA NIC或基于SoC的NIC上支持VirtIO。SR-IOV加速适用于所有NVIDIA适配器系列,包括经济型ConnectX (ASIC NIC)或高度可编程的BlueField DPU (SoC NIC)。
驱动程序支持:SR-IOV和VirtIO驱动程序在所有主要的Linux发行版中都可用。从VirtIO 更改为SR-IOV数据路径,反之亦然,这是一个配置旋钮设置,不需要专门的VNF开发工作。
硬件加速:NVIDIA SR-IOV接口提供了许多卸载,例如OVS、RDMA、NVMeoF,这些在VirtIO接口中根本不可用。SR-IOV允许VM直接利用这些卸载。