龙蜥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/virtio-spec/issues/150

后续关于设备定义的 spec 以及相应实现的 RFC 已经提交到 virtio 邮件列表讨论:

https://lists.oasis-open.org/archives/virtio-comment/202212/msg00030.html


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/archives/virtio-comment/202212/msg00020.html

经过多轮讨论, 这个提案的 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/high-perf-network

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

lldmuodisjezhtcwffdy.png

 

相关文章
|
5月前
|
网络协议 NoSQL Redis
SMC-R 透明加速 TCP 技术,在 Redis 场景下的应用实践 | 干货推荐
SMC-R 作为一套与 TCP/IP 协议平行、向上兼容 socket 接口、底层使用 RDMA 完成共享内存通信的内核协议栈,其设计意图是为 TCP 应用提供透明的 RDMA 服务,同时保留了 TCP/IP 生态系统中的关键功能。
|
安全 网络协议 Linux
|
缓存 网络协议 Linux
TCP/IP 网络设备与基础概念
TCP/IP 网络设备与基础概念
171 0
|
网络协议 Cloud Native NoSQL
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
6月前
|
数据挖掘 Windows
【服务器数据恢复】服务器迁移数据时数据丢失的数据恢复案例
一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,服务器管理界面出现报错。经过检查发现服务器中一个lun的数据丢失。
|
4月前
|
弹性计算 Linux 网络安全
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
现在越来越多的个人和企业用户选择将其他云平台或者服务商的业务迁移到阿里云,但是如何快速且安全完成迁移是很多用户比较关注的问题,我们可以选择使用阿里云提供的服务器迁移中心(Server Migration Center,简称SMC),这个产品是阿里云提供给您的迁移平台,专注于提供能力普惠、体验一致、效率至上的迁移服务,满足您在阿里云的迁移需求。本文为大家展示使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云的教程,以供参考。
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
|
存储 弹性计算 Linux
弹性计算Clouder认证:服务器迁移上云——课时4:什么是服务器迁移中心?
弹性计算Clouder认证:服务器迁移上云——课时4:什么是服务器迁移中心?
下一篇
无影云桌面