高性能网络 SIG(Special Interest Group) :在云计算时代,软硬件高速发展,云原生、微服务等新的应用形态兴起,让更多的数据在进程之间流动,而网络则成为了这些数据流的载体,在整个云时代扮演着前所未有的重要角色。在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络的性能。
01 SIG 整体进展
本月高性能网络 SIG 的主要工作聚焦在 ANCK 内核网络和 SMC 高性能网络协议栈。
本月关键进展:SIG 成员 Tony Lu, D. Wythe, Wen Gu 成为上游 Linux 内核社区 net/smc 子系统的 reviewer。三位成员过去两年在 Linux 内核网络社区的投入得到了认可。
02 ANCK 内核网络
修复
修复了 selftests 下 mptcp_connect.sh 和 simult_flows.sh用例概率失败的问题。
安全
本月网络方向共计修复 11 个 CVE,覆盖 af_unix/netrom/sctp/xen/bluetooth/netfilter/wifi 等领域。CVE 列表:CVE-2023-28327,CVE-2023-32269,CVE-2023-2483,CVE-2023-2177,CVE-2023-1859, CVE-2023-2002,CVE-2023-35788,CVE-2023-1829,CVE-2022-42432,CVE-2023-1078,CVE-2023-1380。
特性
阿里云 VTOA 模块合入 ANCK 内核主线,将会从 ANCK 5.10-015 默认支持。
03 SMC
本月高性能网络 SIG 在 SMC 领域的工作,主要聚焦在 ANCK 5.10-015 内核版本发布前的特性和修复补丁合入,以及稳定性测试,并与 IBM 讨论 loopback 和 virtio-ism 的扩展方案。
本月 SIG 成员 Tony Lu, D. Wythe, Wen Gu 成为 Linux 内核社区 net/smc 子系统的 reviewer。三位成员过去两年在 Linux 内核网络社区的投入得到了认可。
版本 CI 和规模测试
上游社区的 SMC 网络栈,来自于多年前 IBM 在大型机等应用场景的实践。对于龙蜥社区高性能网络 SIG 而言,我们希望将 SMC 应用在更多的场景中,例如云原生场景等,支持并解决云原生复杂的逻辑抽象引入的网络性能开销。除了引入更多帮助云原生场景的特性外,最为重要的一点是如何充分验证 SMC 网络栈在更加的复杂网络场景的稳定性,因此我们花大量精力搭建了 CI 集成测试和规模化测试。
CI 测试中集成了大量的功能、端到端、压力和异常测试,确保 SMC 的每一个 patch 在各种异常(卸载网卡等)和压力(大量的连接和请求)、不同应用(Redis, Nginx 等)下稳定(无 panic,无 hung,无数据错误)。而在规模化测试中,将引入更大规模的 N(数十个 client)压 M(集群级 server),更长时间的测试,确保在更大的规模和运行时间下,不会出资源泄漏等稳定性问题,也更加贴近真实的业务应用场景。
通过 CI 和规模化测试,我们发现了数十个稳定性问题,并已在 SIG 中修复,保障 ANCK 5.10-015 交付的 SMC 的稳定性。我们将继续在龙蜥社区以开源的方式,持续不断的维护企业级别的 SMC 网络栈。
SMC-D 拓展
龙蜥社区如何帮助 SMC 扩大应用场景,是我们一直在持续坚持的工作,其中支持同主机内回环(loopback)和同主机内虚拟机加速是比较重要的两个特性。本机回环加速帮助云原生场景下 runc 容器间不同 netns 的加速方案,适用于 server mesh 的 sidecar 模型。虚拟机间加速则是支持基于虚拟化的云原生容器解决方案。
本月与 IBM 的两次 SMC 开发者会议中,讨论关于 SMC-D 扩展需求的合理性、扩展协议的技术选型等。首先关于是否要扩展 SMC 以支持 loopback 和 virtio-ism,我们与 IBM 已经达成一致,SMC-D 协议将扩展支持上述两个场景。对于如何扩展协议,IBM 已给出两个 option,我们正在 review 和讨论中。
相关链接:
高性能网络 SIG 主页:
https://openanolis.cn/sig/high-perf-network
注:更多龙蜥 SIG 月度动态可点击这里查看。
—— 完 ——
加入龙蜥社群
加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。
关于龙蜥
龙蜥社区是立足云计算打造面向国际的 Linux 服务器操作系统开源根社区及创新平台。龙蜥操作系统(Anolis OS)是龙蜥社区推出的 Linux 发行版,拥有三大核心能力:提效降本、更加稳定、更加安全。
目前,Anolis OS 8.8 已发布,更多龙蜥自研特性,支持 X86_64 、RISC-V、Arm64、LoongArch 架构,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。
加入我们,一起打造面向云时代的操作系统!