乐趣区

关于高性能:高性能网络SIG月度动态virtio新设备进入virtio规范smc新特性IPC性能比tcp提升88-龙蜥SIG

高性能网络 SIG:在云计算时代,软硬件高速倒退,云原生、微服务等新的利用状态衰亡,让更多的数据在过程之间流动,而网络则成为了这些数据流的载体,在整个云时代扮演者前所未有的重要角色。在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络趣味组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,联合软硬件一体化的思维,打造高性能网络协议栈,晋升云计算时代数据中心利用的网络的性能。

01 本月 SIG 整体停顿

12 月高性能网络 SIG 的次要工作聚焦在 Anolis OS 通用内核网络、SMC 和 virtio 上。以下为要害停顿:

  • 龙蜥社区高性能网络 SIG 提出的 virtio 设施:virtio-ism 的 spec 提交到 virtio 社区,相应的设施 ID 通过 virtio TC 的投票曾经进入 virtio 标准。
  • 龙蜥社区高性能网络 SIG 提出的 SMC loopback 设施的反对的 RFC 提交到 linux 社区探讨。
  • ANCK-5.10 行将公布 013 版本,SMC 做了大量的优化和修复。

02 Anolis OS

问题修复

12 月 ANCK 网络方向共计修复 33 个 CVE(蕴含一个高危 CVE-2022-4378),笼罩 tcp/netfilter/ip/tc/vsock/wifi/bluetooth/can 等模块,CVE 列表:CVE-2022-42895、CVE-2022-3435、CVE-2022-3633、CVE-2022-3535、CVE-2022-0812、CVE-2022-39190、CVE-2022-42719、CVE-2022-1015、CVE-2022-42895、CVE-2021-4203、CVE-2022-1204、CVE-2022-1012、CVE-2021-33135、CVE-2022-1012、CVE-2022-1966、CVE-2022-1966、CVE-2022-1679、CVE-2022-3028、CVE-2022-3028、CVE-2022-2663、CVE-2022-3567、CVE-2022-3586、CVE-2022-41674、CVE-2022-42722、CVE-2022-42721、CVE-2022-42720、CVE-2022-3566、CVE-2022-3521, CVE-2022-3524、CVE-2022-3435、CVE-2022-3564、CVE-2022-3625、CVE-2022-4378。

性能加强

  • PR908 5.10 内核 ipvs 反对通过 run_estimation sysctl 敞开 estimation。

03 SMC

版本公布

12 月 SMC 最新稳定版将随着 ANCK 5.10-013 公布。本次公布的版本将包含如下更新:

  • 反对应用 SMC-R v2 + eRDMA RoCE v2。与现有 SMC-R v1 + eRDMA iWARP 相比没有性能区别。运行 SMC-R v2 前须要加载兼容模式 eRDMA 驱动,并应用 smc-tools 在通信两侧设置雷同的 ueid。
  • 减少 CQ event_handler 采集 CQ 信息。
  • 减少 DIM proc file 显示 DIM 状态。
  • 去除 sndbuf 清空操作。
  • 引入 lockfree CQ。
  • 容许 SMC-R 连贯同时进行建连过程,而不是互斥期待。
  • 修复 SMC-R 中内存被谬误笼罩导致应用程序数据被毁坏问题。
  • 修复 SMC-R 中创立额定的 Link 导致的 panic 问题。

SMC loopback

SMC loopback 个性由高性能网络 SIG 成员 Wen Gu 提交 RFC 至上游社区(patch 链接)。SMC loopback 个性提供了一种更高性能的本机 loopback 通信形式,特地是对于容器通信的场景,从而借助 SMC 主动抉择最优减速形式,例如跨主机 RDMA 和本机 loopback。从 Wen Gu 给出的数据来看,吞吐比照 TCP loopback 晋升 88%,时延升高 49%,在 ipc-benchmark 场景下,比照 UNIX domain 也有 30% 的性能劣势。

04 virtio

virtio ism

virtio-ism 是由龙蜥社区高性能网络 SIG 提出的一种在相邻的 vm 之间进行内存共享的 virtio 设施。配合 smc 能够实现 vm 之间的高性能通信。同时也能够用于容器与容器或容器与虚拟机之间的高速共享内存通信。

目前 virtio ism id (44) 曾经被 virtio 社区承受。

链接地址:https://github.com/oasis-tcs/…

后续对于设施定义的 spec 以及相应实现的 RFC 曾经提交到 virtio 邮件列表探讨:

https://lists.oasis-open.org/…

virtio-net tunnel

网络包应用 tunnel 相干技术的时候, 个别都会有一个 outer header 和一个 inner header。而基于曾经有 virtio-net spec 定义, 在做队列抉择的时候, 会基于 outer header 进行 hash 计算。而个别状况下, tunnel 的数据包的 outer header 是固定的或类似的, 这样只会有大量的网卡队列会被抉择, 无奈施展多队列网卡的劣势。

Heng Qi hengqi@linux.alibaba.com 发动了 virtio_net:support inner header hash 的提案。

链接地址:

https://lists.oasis-open.org/…

通过多轮探讨, 这个提案的 v4 版本目前曾经根本实现了 review,预计在 2023.1 月在 virtio TC 进行投票。

virtio-net xdp multi-buffer

Heng Qi hengqi@linux.alibaba.com 本月提交了 virtio-net 对于 xdp multi-buffer 的反对的 patch set 到 linux 社区。目前这个 patch set 的 9 个 patch 大部分也曾经被 ack 了,还有大量问题还在和 Linux 社区探讨中。

高性能网络 SIG 主页链接地址:https://openanolis.cn/sig/hig…

—— 完 ——

退出移动版