高性能网络SIG月度动态:SMC 与 IBM 就扩展协议达成一致,virtio 支持 XDP 新特性

简介: 高性能网络 SIG 在 1 月都有哪些项目进展?

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

01 本月 SIG 整体进展

1 月高性能网络 SIG 的工作在上游社区得到了积极响应,SMC、virtio 和业界相关参与方建立了持续的沟通机制。

关键进展:

  • 春节前龙蜥社区高性能网络 SIG 成员和 IBM SMC 团队相关开发人员进行了一次视频会议,讨论关于 SMC 协议扩展以及龙蜥社区高性能网络 SIG 小组在 SMC 上近期的一些工作,并建立起定期沟通机制。
  • 继 2022 年 12 月我们将 SMC loopback 和 virtio-ism 设备提交到 Linux 社区后,本月陆续得到了上游社区的反馈。针对 SMC 设备拓展,上游 Linux 社区合入了 SMC-D 和 ISM 设备的解耦修改,为后续 SMC loopback 和 virtio-ism 的支持铺平了道路。
  • SMC fallback 加速功能已开发完成,SIG 内部 review 中。fallback 加速将确保 SMC 在 fallback 回 TCP 后性能不会出现损失,弥补当前 SMC fallback 到 TCP 时短连接性能不足的问题。
  • SIG 开发的针对 virtio-net 的 xdp multi-buffer 的支持已被上游 Linux 社区接收。默认情况下,xdp 和 jumbo frame 是冲突的,本特性允许我们在使用 jumbo frame 场景下也使用 xdp。
  • SIG 提交的 virtio-net 支持 XDP socket zerocopy 功能本月已完成开发并提交到上游 Linux 社区讨论。virtio-net 之前不支持 XDP socket 的零拷贝功能,本特性使 virtio-net 完成了 XDP socket 零拷贝的支持,大幅提升 XDP Socket 的收发包性能。

02 Anolis OS

问题修复

本月 ANCK 网络方向共计修复 17 个 CVE(包含一个高危 CVE-2023-0179),覆盖 netfilter/tcp/udp/bluetooth/net.packet/proc/xen/slip 等模块,CVE 列表:CVE-2022-4378,CVE-2022-20368,CVE-2022-42895,CVE-2022-42896,CVE-2022-3564,CVE-2022-3566,CVE-2022-2588,CVE-2022-36879,CVE-2022-1966,CVE-2022-3535,CVE-2022-3524,CVE-2022-42722,CVE-2022-33741,CVE-2022-1966,CVE-2022-1204,CVE-2022-41858,CVE-2023-0179。

03 SMC

外部会议

本月与 IBM SMC 团队进行了一次视频会议,针对 SMC 协议扩展以及龙蜥社区高性能网络 SIG 小组在 SMC 上近期的一些工作进行了讨论,并建立起定期沟通机制,加强了双方的了解与合作。

SMC-D 扩展

SMC fallback 加速

加速 SMC fallback 的方案已经开发完成,该方案旨在提供一种快速、轻量回退 TCP 的能力,拓宽 SMC 的使用场景。预计下个月推送上游 Linux 社区。

04 virtio

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-dev/202301/msg00051.html)。

virtio-net split header

背景:将数据包的 header 和 payload 进行分离,在例如零拷贝等方向具有十分重要的意义,例如 Eric 提出的零拷贝方法和 Jonathan Lemon 提出的零拷贝方法等。

Xuan Zhuo 发起了 virtio_net: support for split transport header 的提案,并和 Heng Qi 共同社区推动,目前 Nvidia 的 Parav Pandit 也提出了一些新的想法参与到这个功能的讨论中,正在讨论(https://lists.oasis-open.org/archives/virtio-dev/202301/msg00306.html)。

virtio-net multi-buffer xdp

本月 SIG 成员 Heng Qi 提交的 virtio-net 对于 xdp multi-buffer 的补丁被合入到 linux 主线(https://lore.kernel.org/all/20230114082229.62143-1-hengqi@linux.alibaba.com/)。XDP multi-buffer 允许一个 XDP ebpf 程序访问多个收方向的 buffer,而像 Jumbo frame 一类的特性,9K 的 MTU 导致一个包的大小可能会超过 1 个 PAGE,而没有 XDP multi-buffer 之前,XDP 程序只能访问一块连续的内存。因此,jumbo frame 和 XDP 存在冲突,通过 multi-buffer XDP 的支持,可以解决 jumbo frame 和 XDP 不能共存的问题。

virtio-net XDP Socket(AF_XDP) zerocopy

在完成了 per-queue reset 的 spec 及 kernel 工作的前期下, 最新版本的 virtio-net 支持 XDP socket zerocopy 的 patch set 终于提交给社区, 等社区进一步的讨论。这个特性之前在龙蜥的内核上通过其他方式完成了支持,并且基于 ExpressUDP 和 XQUIC 在阿里巴巴的入口网关大规模上线,现在我们把这个特性贡献给上游社区。关于 ExpressUDP 和 XQUIC 实践,参考 ExpressUDP

高性能网络 SIG 主页链接地址:

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

—— 完 ——

加入龙蜥社群

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

640 (1).png

相关文章
|
18天前
|
缓存 负载均衡 网络协议
|
1月前
|
Java 应用服务中间件
面对海量网络请求,Tomcat线程池如何进行扩展?
【10月更文挑战第4天】本文详细探讨了Tomcat线程池相较于标准Java实用工具包(JUC)线程池的关键改进。首先,Tomcat线程池在启动时即预先创建全部核心线程,以应对启动初期的高并发请求。其次,通过重写阻塞队列的入队逻辑,Tomcat能够在任务数超过当前线程数但未达最大线程数时,及时创建非核心线程,而非等到队列满才行动。此外,Tomcat还引入了在拒绝策略触发后重新尝试入队的机制,以提高吞吐量。这些优化使得Tomcat线程池更适应IO密集型任务,有效提升了性能。
面对海量网络请求,Tomcat线程池如何进行扩展?
|
3月前
|
缓存 网络协议 Linux
扩展Linux网络栈
扩展Linux网络栈
75 3
|
4月前
|
存储 传感器 监控
智慧养殖的智慧网络:构建高效、可扩展的养殖生态
智慧养殖,在国家政策的大力扶持和农业数字化浪潮的推动下,正迅速发展。然而,许多人对它的价值仍持怀疑态度:认为智慧养殖只是昂贵的技术堆砌,短期内看不到经济回报,甚至怀疑其实用性。本文将挑战这些观点,展示智慧养殖如何通过技术整合提高效率、降低成本,并探讨如何克服网络稳定性和速度等技术障碍,引领养殖企业走向高效、经济的现代化转型。
276 22
|
4月前
|
域名解析 安全 物联网
阿里云EMAS HTTPDNS 扩展全球服务节点:提升解析安全性与网络覆盖
阿里云EMAS HTTPDNS新增国内西南、华南及国际欧洲、美东服务节点,提升了全球覆盖能力与性能。作为高效域名解析服务,EMAS HTTPDNS针对互联网、汽车、物流、IOT等行业提供支持,解决了传统解析易遭劫持等问题。新增节点优化了就近调度功能,显著缩短响应时间并增强了服务稳定性和连续性,尤其为中国企业的海外业务提供了强有力的支持。此次扩展展现了阿里云对服务质量的持续追求和全球市场布局的战略思考。
|
5月前
|
供应链 安全 区块链
区块链模块化:构建灵活、可扩展的未来网络
**区块链模块化**拆分系统为独立模块,提升**可扩展性**和**安全性**,增强**灵活性**,适应不同场景需求,如跨链互操作、行业定制和公共服务。模块化设计促进系统**定制化**,支持快速迭代,是区块链技术发展和创新的关键趋势。
|
5月前
|
供应链 安全 区块链
区块链模块化:构建灵活、可扩展的未来网络
**区块链模块化**通过拆分系统为独立模块,如执行、结算、共识和数据层,提升**可扩展性**、**安全性和灵活性**。模块化允许定制化解决方案,适用于跨链互操作、行业特定需求及公共服务,如电子投票和版权保护。此方法降低耦合,增强安全性,为开发者创造更多创新机会,驱动区块链技术的未来发展方向。
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
6月前
|
数据挖掘 Windows
【服务器数据恢复】服务器迁移数据时数据丢失的数据恢复案例
一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据,服务器管理界面出现报错。经过检查发现服务器中一个lun的数据丢失。

热门文章

最新文章