服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 高性能网络 SIG 月度动态:推动 virtio 支持动态中断调节及更灵活的分流机制

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

2023-09-18 18:10未知服务器之家 Linux

高性能网络 SIG(Special Interest Group) :在云计算时代,软硬件高速发展,云原生、微服务等新的应用形态兴起,让更多的数据在进程之间流动,而网络则成为了这些数据流的载体,在整个云时代扮演着前所未有的重要角色。在这个

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

高性能网络 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 的特性。欢迎尝试!

相关链接可移步龙蜥公众号(OpenAnolis龙蜥)2023年9月14日相同推送查看。

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

—— 完 ——


延伸 · 阅读

精彩推荐
  • Linuxlinux系统中apache服务的优先级

    linux系统中apache服务的优先级

    这篇文章主要介绍了linux系统中apache服务的优先级,需要的朋友可以参考下 ...

    linux教程网4142019-11-12
  • Linuxlinux定时任务访问url实例

    linux定时任务访问url实例

    本篇文章主要介绍了linux定时任务访问url实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    豆芽花花儿酱11232022-01-20
  • Linux浅谈Linux中ldconfig和ldd的用法

    浅谈Linux中ldconfig和ldd的用法

    下面小编就为大家带来一篇浅谈Linux中ldconfig和ldd的用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Linux教程网12802021-12-08
  • LinuxLinux系统下的用户审计方法

    Linux系统下的用户审计方法

    这篇文章主要介绍了Linux系统下的用户审计方法,包括基本的命令和一个记录用户行为的实例,需要的朋友可以参考下...

    Linux之家10792019-09-05
  • LinuxLinux SVN客户端使用以及服务器配置教程

    Linux SVN客户端使用以及服务器配置教程

    SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是...

    Linux教程网4962019-12-16
  • Linuxlinux crontab定时命令

    linux crontab定时命令

    下面就介绍一下在我们开发过程中经常要用到的 crontab 命令,以及一些基本的定时任务文件的书写规则。 名称 : crontab 使用权限 : 所有使用者 使用方式 :...

    Linux之家3002020-04-11
  • Linux想拥有自己的 Atom 文本编辑器插件吗?

    想拥有自己的 Atom 文本编辑器插件吗?

    准备 教程须知 Atom 文本编辑器是用 web 技术创造出来的。我们将完全使用 JavaScript 的 EcmaScript 6 规范来制作插件。你需要熟悉以下内容: · 使用行 · JavaS...

    未知1122023-08-04
  • LinuxLinux 监控文件被什么进程修改(详解)

    Linux 监控文件被什么进程修改(详解)

    下面小编就为大家带来一篇Linux 监控文件被什么进程修改(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Linux教程网10762021-12-08