【】SRIOV:智能网卡就靠它了!
在DPDK的那一篇中 , 其实有一个重要的笔误 , 但是除了一个朋友看到后指出外 , 基本上没有人说到这个 。这个就是DPDK是Kernel-Bypass的 , 本写成了Kernel-By 。
看样子 , 大家都有深知kernel-bypass对于高速网络的重要性 。在云计算的VPC业务主流之前 , 大部分都预见了kernel的瓶颈 。
一个MTU 1500的帧的Time budget [1]
10Gbit/s =1230.4ns (812, 774 PPS)
25Gbit/s = 492.3ns (2,031,859 PPS)
40Gbit/s = 307.6ns (3,251,096 PPS)
100Gbit/s= 123.0ns (8,127,740 PPS)
同样 , 对于最小的以太帧84Byte ,
10Gbit/s = 67.2ns ( 14,880,952 PPS)
以一个主流的Intel的X86 的CPU , 3.0G为例:67.2ns 差不多就是201个CPU Cycle 。[2]
而linux kernel主要的机制的代价如下:
文章图片
文章图片
因此结论也很明确 , 目前linux 缺省的网络协议最高也只能handle
1-2MPPS的性能 , 大家需要考虑kernel-bypass 。[3]
目前Linux已知的Kernel-ByPass 框架:DPDK (Intel/LF)RDMA/IBVerbs (Mellanox/OFA)eBPF/XDP (Vmware/FB/RedHat/Huawei)netmap (FreeBSD)PF_RING/DNA (ntop)Open (Xilinx)Maglev (Google)Snabb (Deutsche Telekom)FD.IO/VPP (Cisco)
这里就在回应上一篇ARM同学的话 , 原来做硬件的网卡厂家只需要照顾自己的Linux驱动 , 但是现在为了让自己Smart起来 , 就要支持不同的kernel-bypass的框架 , 这个的确是伤不起 。关键还有一点就是 , 这样的硬件厂家本来也就不多了 。
个人觉得Redhat关于DPDK项目的声明是非常好的例子[4],总结下来如下:Redhat的网络总监是从Broadcom过来的 , 之前参加了很多项目 。包括:upstream and downstream development of Linux kernel networking, DPDK, OVS OVN, NFV, MPTCP, ebpf XDP.Redhat和DPDK之间的关系只要是使用DPDK进行OVS的packet转发 。对于DPDK , 在新的硬件出现之后 , 不用等待kernel的驱动upstream , 就可以使用新硬件 。Telco 是Redhat主要关注的客户 , 他们希望使用X86和Redhat的开源软件 。目前DPDK的贡献者太少了 , 只有Redhat , Mellanox和Intel 。最后就是DPDK如何和SmartNIC结合 , 这个是Redhat和一些硬件厂家一起比较关心的 。
对于软件人员来讲 , 需要通过各种不同的编程框架来实现Kernel-bypass , 但是PCIE设备的一个SRIOV能力就可以非常简单的实现了对于host kernel的bypass 。
SRIOV的问题也是很明显的:[5]Rigid: Composability issuesControl plane is pass through, puts pressure on Hardware resourcesParts of the PCIe config space are direct map from HardwareLimited scalability (16 bit)SR-IOV NIC forces switching features into the HWAll the Switching Features in the Hardware or nothing
因此 , 就有了Redhat系列的新思路:
SRIOV隔离VM的流量:
文章图片
文章图片
OVS的kernel和SRIOV 不使用PF , 而是VF上提供多个网络接口给OVS kernel模块 。每个VF都有一段kernel 内存空间 。OVS DPDK和SRIOV 直接使用VF可以bypass kernel空间直接对接用户态的OVS DPDK模块 。我们把host用户态的内存映射到每个网卡的VF 。Guest的 SRIOV 如上图最右边 , 我们把Guest的内存空间映射到网卡的VF 。在这种设备绑定中 , 网卡的ring 的layout在物理网卡和Guest之间共享 。因为这部分的信息都是私有的 , 因此Guest上需要制定网卡厂家的驱动 。
推荐阅读
- 『小胖说科技』便携、清晰、高亮度,明基E520无线智能投影仪评测
- 【智能家居专家V】轻、快、好,满足这三个字的手机你找到了吗?
- 「运动」让运动更自由,苏宁小Biu智能耳机助你一路前行
- 牡丹江涂鸦智能■智能家居语音控制系统
- 实体@带你一起读《智能社会》:序言前言如果我们允许“如果”后记
- 「智能」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- 「黑猫科技论」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 『弱电智能邦』关于VGA、DVI、HDMI的几点误解和区别
- [科技来客]让运动更自由,苏宁小Biu智能耳机助你一路前行