高性能网络 SIG 月度动态:推动 virtio 支持动态中断调节及更灵活的分流机制

简介: 高性能网络 SIG 月度动态送达,一键了解 8 月各项目进展。

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

01 SIG 整体进展

本月高性能网络 SIG 的主要工作聚焦在 virtio 对 NetDIM 的支持以及多个 virtio 提案的发起。

本月关键进展:

1. SIG 推动完成了 NetDIM 的 virtio 标准和 OS 代码,修复了多个上游问题并在 sockperf benchmark 中获得 20%+ 的吞吐提升。

2. SIG 与 Nvidia、Marvell 等合作发起了 [PATCH requirements v5 5/7] net-features: Add n-tuple receive flow filter]() 的提案,让 virtio 支持接收流过滤的能力,提供灵活的流规则配置方法。以及 [PATCH v2] virtio-net:support the RSS context]() 提案,使 virtio 支持多个 RSS (Receive Side-Scaling) 配置上下文。

02 ANCK

安全

本月网络方向共计修复 9 个 CVE,覆盖 sched/ipvlan/ipv6/netfilter/xfrm 等模块,CVE 列表:

CVE-2023-3609、CVE-2023-3611、CVE-2023-3090、CVE-2023-2156、CVE-2023-3773、CVE-2023-3776、CVE-2023-3812、CVE-2023-3390、CVE-2023-4147。

03 SMC

本月高性能网络 SIG 在 SMC 领域的工作主要聚焦在上游 SMC-D 虚拟设备拓展方案的推动。

SMC-D 虚拟设备拓展

SMC-D 被用于物理机内部的 SMC 加速,在过去只能配合 IBM s390 架构中的 ISM 设备使用。SIG 积极推动 SMC-D 虚拟设备拓展,以便于在其他架构中享受 SMC-D 带来的性能提升。

本月的 SMC 开发者会议上确定了使用 UUID 作为 SMC-D 虚拟设备的 GID,从而在无中心的情况下确保虚拟设备 GID 的唯一性。在 Linux 中将使用最为常用的 UUIDv4 作为 SMC-D loopback 等虚拟设备 GID 的实现方式。此外,除 0-0x7FFF 以外的 VCHID 将预留 4K 个给 SMC-D 虚拟设备,以帮助 SMC-D 握手时快速分辨对端虚拟设备是否可达。

04 Virtio

本月高性能网络 SIG 在 virtio 领域的工作,主要聚焦在:

(1)测试动态中断调节性能数据。

(2)推动接收流过滤、RSS Context 的标准方案。

动态中断调节

动态中断调节 NetDIM 算法通过统计设备队列的流量信息,自适应调整网卡中断频率,以达到吞吐提升的目的。

高性能网络小组推动完成了 NetDIM 的 virtio 标准和 OS 代码,发现并修复了多个上游内核问题。测试结果显示,在 sockperf benchmark 中可以最大提升 20+% 的吞吐。

高性能网络小组进一步分析了 NetDIM 的时延影响,发现 NetDIM 会对低载小包时延产生不利影响,这是由于 NetDIM 算法设计更加关注吞吐提升,没有针对性关注时延提升而造成的。我们会针对此时延问题尝试作出进一步的优化。

接收流过滤

接收流过滤(Receive Flow Filter)能力提供接收方向的数据流处理,包括数据流导向、数据流过滤等,为用户提供了灵活的流规则配置方法。数据流导向功能基于用户在 virtio 网卡上配置的数据流规则,可以将匹配了某个规则的数据流导到对应的单个或多个目的队列。数据流过滤功能可以将匹配了某个规则的数据报文丢弃。

高性能网络小组与 Nvidia、Marvell 等合作发起了 [PATCH requirements v5 5/7] net-features:Add n-tuple receive flow filter]() 的提案,让 virtio 支持接收流过滤的能力,同时在设计时考虑了网络通用加速方法 Accelerated RFS 的实现要求,可作为后续流规则相关配置方法的基础能力。

RSS Context

当前 virtio 仅支持单个默认 RSS (Receive Side-Scaling) 配置,这无法满足一些场景对队列流量隔离等的需求,导致网络设备流量管理不灵活的问题。针对此问题,高性能网络小组发起了 [PATCH v2] virtio-net: support the RSS context]() 提案,以支持 virtio 实现多个 RSS 配置上下文。该提案支持查询设备能力,修改、删除、新增 RSS context等。

virtio-net + AF_XDP

高性能网络小组一直以来都在主导推进 virtio-net 对于 AF_XDP 的支持。2年多以来,我们已经解决了多个相关的基础依赖问题。

目前这块的工作取得了一些决定性的进展:Virtio Core 支持 dma premapped 的特性目前已经被合并进入了 Linux 6.6。这意味着, virtio-net 支持 AF_XDP 的最后一块依赖被补齐了。我们会尽快整理后续 virtio-net 支持 AF_XDP 的 patch 提交到上游社区,完成这一工作。

注意:基于龙蜥 Alinux3 及 Alinux2 携带的 ANCK 内核都已经包含了 virtio-net 支持 AF_XDP 的特性。欢迎尝试!


相关链接:

高性能网络 SIG 主页:

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

更多 Alibaba Cloud Linux 信息可前往官网查看https://www.aliyun.com/product/ecs/alinux


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


—— 完 ——

加入龙蜥社群


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

社群.png

关于龙蜥

龙蜥社区是立足云计算打造面向国际的 Linux  服务器操作系统开源根社区及创新平台。龙蜥操作系统(Anolis OS)是龙蜥社区推出的 Linux 发行版,拥有三大核心能力:提效降本、更加稳定、更加安全。

目前,Anolis OS 23 已发布,全面支持智能计算,兼容主流 AI 框架,支持一键安装 nvidia GPU 驱动、CUDA 库等,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

加入我们,一起打造面向云时代的操作系统!

相关文章
|
5月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
225 2
|
5月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
174 1
|
5月前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
147 0
|
3月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
247 0
|
SQL 监控 安全
网络安全与信息安全:漏洞、加密与安全意识
随着互联网的迅猛发展,网络安全和信息安全问题日益受到关注。本文深入探讨了网络安全漏洞、加密技术以及提高个人和组织的安全意识的重要性。通过分析常见的网络攻击手段如缓冲区溢出、SQL注入等,揭示了计算机系统中存在的缺陷及其潜在威胁。同时,详细介绍了对称加密和非对称加密算法的原理及应用场景,强调了数字签名和数字证书在验证信息完整性中的关键作用。此外,还讨论了培养良好上网习惯、定期备份数据等提升安全意识的方法,旨在帮助读者更好地理解和应对复杂的网络安全挑战。
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
280 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
232 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
245 10
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章