无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 897|回复: 6
打印 上一主题 下一主题

[转贴] Linux 6.3 将进一步改进可重启序列(rseq),以提升运算性能

  [复制链接]
跳转到指定楼层
1#
发表于 2023-1-9 10:21:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Linux Kernel 在数年前就已经合并了可重启序列(The Restartable Sequences,简称 RSEQ),GNU C Library 已经使用 RSEQ 对每个 CPU 数据进行更快的用户空间操作。在明年推出的 Linux 6.3 中将会进一步改进 RSEQ。

通过递增每个 CPU 计数器、修改每个 CPU 自旋锁、读取 / 写入每个 CPU 环形缓冲区等情况下避免原子操作(atomic operation,是指不会被线程调度机制打断的操作),RSEQ 可以明显优化性能,从而提供出色的基准测试结果。
主导 RSEQ 大部分工作的 Mathieu Desnoyers 最近一直致力于扩展 Restartable Sequences ABI ,并公开了 NUMA node ID、mm_cid 和 mm_numa_cid 字段。
Desnoyers 在补丁介绍中表示:

NUMA node ID 允许在 libc 中实现更快的 getcpu (2)。

per-memory-map concurrency id (mm_cid) 允许用户空间 per-cpu 数据结构进行理想缩放(向下或向上)。

内存映射中分配的并发 ID 可以通过调度程序跟踪。而这个调度程序根据并发运行的线程数、CPU 亲和性(affinity)、应用于这些线程的 cpuset 和逻辑核心数等等参数进行判断。

NUMA-aware concurrency id (mm_numa_cid) 与 mm_cid 类似,不同之处在于它跟踪与每个 cid 相关联的 NUMA node ID。

在 NUMA 系统上,当用户空间观察到 NUMA 感知并发 ID 与 NUMA 节点相关联时,它保证永远不会更改 NUMA 节点,除非发生内核级 NUMA 配置更改。这对于在属于 cpuset 的进程或一组进程被固定到属于系统 NUMA 节点子集的一组内核的环境中运行的 NUMA 感知 per-cpu 数据结构很有用。

2#
发表于 2023-1-9 11:34:40 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2023-1-10 00:38:59 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2023-1-15 14:48:08 | 只看该作者
6.3还在更新么?

点评

还在  详情 回复 发表于 2023-1-18 01:58
回复

使用道具 举报

5#
发表于 2023-1-18 01:58:07 | 只看该作者
adminkk 发表于 2023-1-15 14:48
6.3还在更新么?

还在
回复

使用道具 举报

6#
发表于 2023-2-19 23:16:23 | 只看该作者
支持啦
回复

使用道具 举报

7#
发表于 2023-6-4 22:24:52 | 只看该作者
谢谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-10 22:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表