高性能网络SIG月度动态:virtio技术委员会通过flow director提案,netdim调节特性正式合入上游社区

简介: 高性能网络SIG月度动态送达。

高性能网络 SIG(Special Interest Group)在这个万物互联的时代,云上的网络通信效率对各种服务至关重要,高性能网络兴趣组致力于利用 XDP、RDMA、VIRTIO 等新高效通信技术,结合软硬件一体化的思想,打造高性能网络协议栈,提升云计算时代数据中心应用的网络性能。

01 整体进展

本月,高性能网络 SIG 的工作主要集中在 virtio 和 SMC 上,取得了以下关键进展:

1. 将 ANCK 自研的 IPPROTO_SMC 方案贡献至上游社区。

2. netdim 参数列表调节特性正式合入上游社区,并回合至 ANCK。

3. 与 Nvidia、Marvell 等公司协作推进的 virtio flow director 提案获得 virtio 技术委员会通过进入 virtio 规范。

02 ANCK 通用内核网络协议栈

安全

ANCK 5.10 (PR3413) 和 ANCK 4.19 (PR3416) 本月分别修复了 CVE-2023-52628。

03 SMC

本月 SIG 在 SMC 领域的主要工作包括上游 IPPROTO_SMC 的合并以及其它优化和修复。

IPPROTO_SMC 合入上游

IPPROTO_SMC 是 SIG 为 IP 协议族新增的一种协议类型,旨在提高 SMC 与 TCP 在功能上的一致性以及减少 SMC 回退时的性能损失。本月 SIG 在推进 IPPROTO_SMC 合入上游的过程中迭代了 4 个版本,优化了相关函数定义、文件结构、和社区敲定了 IPPROTO_SMC 的数值选择,最终正式合入上游 [1]

上游其它优化与修复

  • SMC-R sndbuf/RMB 上限突破 512 KB 的优化,已合并到上游 [2],旨在大包场景下使用较大共享内存获得更好的吞吐表现。
  • 针对 SMC 回退后 sk_{snd|rcv}buf 与直接使用 TCP 时不同的问题的修复,已合并到上游 [3]

04 virtio

本月 SIG 在 virtio 领域的主要工作集中于提供中断参数列表调节通道和 flow director。

NetDIM 参数列表调节

动态中断调节(netdim)可以根据当前流量状况,自动调整网卡的中断频率,从而提高数据处理效率。然而,不同网卡对中断参数列表的需求各不相同,例如 ICE 和 IDPF 等现代网卡对各自的中断参数列表进行了自定义配置。而 netdim 在 virtio-net 网卡上性能未达预期,主要原因之一也是不合适的中断参数列表。因此,SIG 为上游社区和 ANCK-5.10.134-17.y 支持了基于用户态工具 ethtool 设置中断参数列表的方法[4],以允许用户灵活调节 netdim,从而实现最佳的网络吞吐和时延。

接收队列选择 - Flow Director

Flow director 特性使网卡能够依据数据包的 MAC、IP 和 TCP 等头部字段进行匹配,将符合规则的数据流定向到特定接收队列,或选择将其丢弃,为用户提供灵活的数据流规则配置。为了在 virtio 中支持 flow director,SIG 与 Nvidia、Marvell 等公司合作发起了一项提案 [5]。经过 12 个月和 11 个版本的迭代,这一提案已获得 virtio 技术委员会得投票通过,将随 virtio specification 1.4 发布。

相关链接:

[1]https://lore.kernel.org/netdev/1718301630-63692-1-git-send-email-alibuda@linux.alibaba.com/

[2]https://lore.kernel.org/netdev/20240603030019.91346-1-guangguan.wang@linux.alibaba.com/

[3]https://lore.kernel.org/netdev/20240531085417.43104-1-guwen@linux.alibaba.com/

[4]https://lore.kernel.org/all/20240621101353.107425-1-hengqi@linux.alibaba.com/

[5]https://lore.kernel.org/virtio-comment/20240604132903.2093195-1-parav@nvidia.com/T/#m6ccb0872045b3f92d50f94fd7dff80b5cc02c0ed

高性能网络 SIG 主页:

https://openanolis.cn/sig/high-perf-network

注:更多龙蜥 SIG 月度动态可点击这里查看。

—— 完 ——

相关文章
|
4天前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
22 2
|
4天前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
20 1
|
3天前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
22 0
|
6天前
|
缓存 索引
基于Reactor模式的高性能网络库之缓冲区Buffer组件
Buffer 类用于处理 Socket I/O 缓存,负责数据读取、写入及内存管理。通过预分配空间和索引优化,减少内存拷贝与系统调用,提高网络通信效率,适用于 Reactor 模型中的异步非阻塞 IO 处理。
34 3
|
7月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
182 17
|
7月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
141 10
|
7月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
7月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
157 10
|
7月前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。
|
7月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。