【】SRIOV:智能网卡就靠它了!( 二 )
上面还有一种设备绑定 , 就是在Guest的用户态通过DPDK访问在Guest中的VF网卡设备 。
SRIOV For Mapping NIC to Guest
对于在Guest空间的SRIOV设备 , 在实现通过memory的映射的机制进行网路报文的快速收发 , 有两条路径:使用Guest 的kernel驱动 。使用网卡厂家的驱动 , 通过直接映射IO memeory , 网卡的硬件设备可以直接访问guest kernel的内存 。基本上支持SRIOV的厂家都有类似的实现 , 例如AWS的ENA , Intel的ixgbegbe , 以及Mellanox的MLX4/5.在Guest上使用DPDK , 利用厂家提供的VF的PMD驱动 , 通过DPDK的内存映射 , 网卡设备可以访问Guest的用户态内存 。
文章图片
文章图片
在这个场景中:整个数据通路是厂家定义的 , 并且直接由VF功能来实现 。对SRIOV , 需要在Host的kernel (PF 驱动)以及Guest的用户态(VF-PMD)Host kernel的驱动和Guest的用户态的VF-PMD不能直接通信 。因此PF/VF驱动需要通过其他的接口进行 。厂家的VF-PMD主要用来配置NIC的VF , 而host kernel的PF驱动则负责整个网卡的配置 。
这个里面 , 的确可以实现线速的网络性能 , 但是因为接口都需要网卡厂家来提供 , 这样对于整个系统的升级相对比较麻烦 。
Virtio Full HW Offloading
这个的确是摆脱厂家驱动的一个办法 , 把virtio的数据和控制通路都卸载到硬件中 , 物理网卡通过SRIOV提供VF给Guest 。这个设备同样支持virtio ring的layout , 在guest和NIC之间建立内存映射 。
文章图片
文章图片
在Virtio Full Offloading中 , 在Host kernel甚至不需要驱动 , 物理网卡是一个支持SRIOV的virtio网卡 , VF和PF都是基于virtio协议的实现 。
在这个图中 , SRIOV带来的控制路径和数据路径bypass可能会对管理带来挑战 。同样 ,我们可以在Guest的OS 中使用virtio的kernel驱动 , 而不是PMD 。
vDPA --标准化数据通路
vDPA -虚拟的数据通路加速 , 它的主要目的是标准化网卡的SRIOV数据通路 , 让SRIOV的VF可以支持virtio ring的layout , 并且在Guest的空间可以使用标准的virtio驱动 , 而不是厂家的驱动 。通过这个抽象 , 可以在为未来支持类似于scalable IOV的技术 。
和上图不同 , 在SRIOV的VF的控制路径上可以让厂家继续使用自己的驱动(支持vDPA addon) , 并通过一个标准的vDPA驱动在厂家驱动/virtio之间进行翻译 。
在数据路径 , 基本上和上图的Virtio Full hardware offloading类似 。
vDPA的主要好处:
文章图片
文章图片
开放的标准 , 和virtio一样线速性能 , 和SRIOV一样 , 没有中间的memory地址翻译 。可以支持未来的Scaleble IOV统一了Guest的网卡驱动 。可以在两个vDPA的网卡之间做冗余保护 。支持live migration , 因为了vDPA一个控制链路的中间层 , 因此可以在不同的网卡厂家之间进行live migration 。在裸金属的场景下 , virtio的驱动可以成为一个事实上的标准驱动 , 和NVMe驱动一样 , 通过vDPA的框架支持不同厂家的网卡 。
对比:
文章图片
文章图片
这个里面可能要纠正一点就是 , Virtio Full HW offloading对于live migration的支持 , 这里主要是指在不同的厂家之间进行live migration 。
推荐阅读
- 『小胖说科技』便携、清晰、高亮度,明基E520无线智能投影仪评测
- 【智能家居专家V】轻、快、好,满足这三个字的手机你找到了吗?
- 「运动」让运动更自由,苏宁小Biu智能耳机助你一路前行
- 牡丹江涂鸦智能■智能家居语音控制系统
- 实体@带你一起读《智能社会》:序言前言如果我们允许“如果”后记
- 「智能」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- 「黑猫科技论」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 『弱电智能邦』关于VGA、DVI、HDMI的几点误解和区别
- [科技来客]让运动更自由,苏宁小Biu智能耳机助你一路前行