高性能网络SIG月度动态:virtio 动态中断调节优化、多项内核网络缺陷修复

简介: 一键查看高性能网络SIG月度动态。

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

01 整体进展

本月高性能网络 SIG 的主要工作聚焦在内核缺陷修复、SMC 和 virtio 上。

本月关键进展:

1. SIG 正在推进 virtio 动态中断调节的优化,包括动态配置参数列表和 ctrlq 异步化。

2. SIG 持续推进 loopback-ism 的标准化,更新并修复了多项内容。

02 ANCK 内核网络

修复

ANCK 5.10 本月修复若干异常问题,随 ANCK 5.10.134-16.3 版本发布,主要问题包括:

  • 修复 inet_recv_error() 中可能产生警告信息的问题。
  • 修复 nft_byteorder_eval() 中可能出现的数据溢出问题。
  • 修复 inet6_rtm_getaddr() 中潜在的内存泄漏问题。
  • 修复 tcp 中特定场景下可能未初始化 accept 队列产生的警告问题。
  • 修复 skb_segment() 中 mss 计算错误的问题。
  • 修复在 TCP 零拷贝接收场景下潜在的 panic 问题。
  • 修复在弱内存模型 CPU 下,tcp_push 对 sk 变量执行的读取和更新被重排后,导致的数据异常延迟问题。
  • 修复 ip_setup_cork() 中潜在的内存泄漏问题。

安全

ANCK 5.10 和 ANCK 4.19 分别修复了 2 个 CVE,已随 ANCK 5.10.134-16.3 和 ANCK 4.19.91-27 版本发布:

  • CVE-2022-3643,CVE-2024-0607

03 SMC

本月高性能网络 SIG 在 SMC 领域的工作主要聚焦于上游 loopback-ism 的版本迭代。

loopback-ism

本月 loopback-ism 在上游推进迭代了 4 个版本,目前更新到 V5[1],更新内容包括:

  • 移除旧版本中 sysfs knobs,默认使用物理连续内存,默认将 sndbuf 与 DMB 合并。
  • loopback-ism 接收处理使用 tasklet 触发。
  • 修复 lockdep warning,优化注释、函数名及 commit log。

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

04 virtio

本月高性能网络 SIG 在 virtio 领域的工作,主要聚焦于 virtio-net 动态中断调节的优化。

配置 DIM 参数列表

动态中断调节(DIM, Dynamic Interrupt Moderation)是一种在 Linux 内核中实现的技术,以 NetDIM 库的形式提供,旨在优化和调整中断频率,以提升网络设备的性能和效率,其被广泛应用于各现代网卡中。

然而,不同的网卡具有多样化的候选中断参数列表需求,尤其是 virtio 网卡的后端可能由不同软件设备或硬件设备实现,所以 DIM 在 virtio-net 上的性能并未符合预期,这在一定程度上正是不当的中断配置列表造成的。同时,其他的现代网卡例如 ICE、IDPF 等也对其 DIM 参数列表进行了自定义配置。

基于此,高性能网络小组正在推动基于用户态工具 ethtool 配置中断列表的方法[2],以允许用户针对各自设备的特定需求,灵活地调节 DIM,从而实现最佳的网络吞吐和时延。

[2]https://lore.kernel.org/all/1712059988-7705-1-git-send-email-hengqi@linux.alibaba.com/

控制队列异步化

Virtio 控制队列(ctrlq)以同步的方式发送驱动程序配置设备的请求。当驱动程序或用户发送配置请求给设备时,如果设备没有及时处理这些请求,ctrlq 就会持续等待设备的响应。这种等待机制严重限制了动态中断调节(DIM)在需要频繁下发配置请求时的性能表现。

为了解决这一问题,高性能网络小组正在积极推进 ctrlq 异步化配置设备的方法[3]。通过这种方式,DIM 能够保持高效运作,充分发挥其动态中断调节带来的性能优势。

[3]https://lore.kernel.org/all/1712059988-7705-1-git-send-email-hengqi@linux.alibaba.com/


相关链接:

高性能网络 SIG 主页:

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

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

—— 完 ——

相关文章
|
5天前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
119 0
|
1天前
|
存储 缓存 监控
深入理解前端性能优化:从网络到渲染
网络优化包括减少HTTP请求、使用HTTP/2、开启GZIP压缩和缓存策略。资源加载优化涉及懒加载、预加载和预读取。渲染优化建议使用Critical CSS、减少CSS和JavaScript阻塞以及避免强制同步布局。Service Worker实现离线存储,性能监控使用Lighthouse等工具。动态导入和代码拆分减少初始加载时间,响应式图片适应不同设备。Web Workers处理耗时任务,避免内存泄漏。
22 3
|
3天前
|
算法 网络安全 Python
sqlmap性能优化_sqlmap 优化 不接受请求体,阿里巴巴网络安全面试题答案
sqlmap性能优化_sqlmap 优化 不接受请求体,阿里巴巴网络安全面试题答案
|
3天前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
4天前
|
缓存 监控 UED
CDN(内容分发网络):加速网站加载与优化用户体验
CDN(内容分发网络):加速网站加载与优化用户体验
|
5天前
|
算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
|
5天前
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
|
5天前
|
存储 缓存 网络协议
【专栏】理解并优化DNS设置对于提高网络速度至关重要
【4月更文挑战第28天】本文探讨了DNS服务器是否能加快网络访问速度。DNS负责将域名转换为IP地址,其查询时间、缓存机制和地理位置都影响网络速度。优化DNS配置,如选择快速的公共DNS服务、使用附近的服务器、确保设备正确配置和利用DNS缓存,都能有效提升网络体验。理解并优化DNS设置对于提高网络速度至关重要。
【专栏】子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用
【4月更文挑战第28天】本文介绍了子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用。文章阐述了子网划分的原理,如通过子网掩码划分广播域以减少网络风暴。接着,详细说明了子网划分的方法,涉及需求分析、选择子网掩码、计算子网及广播地址等步骤,并提到了VLSM和CIDR等高效技术。最后,通过实例展示了如何进行子网划分,强调实践对于掌握这项技能的关键作用。学习子网划分能提升网络管理和设计能力。

热门文章

最新文章