Linux 6.3 将进一步改进可重启序列(RSEQ),以提升运算性能

系统 Linux
主导 RSEQ 大部分工作的 Mathieu Desnoyers 最近一直致力于扩展 Restartable Sequences ABI ,并公开了 NUMA node ID、mm_cid 和 mm_numa_cid 字段。

12 月 28 日消息,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 数据结构很有用。

责任编辑:姜华 来源: IT之家
相关推荐

2017-09-18 15:04:11

VMwareNSX容器

2009-03-17 09:54:46

Windows 7微软测试

2023-09-01 18:20:43

Chrome代码测试版

2023-11-14 18:04:26

SQL语句性能

2024-05-10 15:09:34

2015-12-22 12:00:05

SDN云服务

2011-11-10 19:44:08

思科腾讯通通信

2011-07-27 12:58:43

Android MarAndroid应用商店

2010-09-10 11:15:15

Opera 10.62

2020-12-10 20:00:04

数字货币比特币区块链

2011-07-29 15:02:22

LifeSize视频协作

2009-10-12 09:35:33

App StorePhotoshop f

2023-12-20 09:55:51

雷达传感器算法

2019-03-22 10:20:39

加速Windows 10启动

2009-02-27 08:49:30

微软Linux侵权起诉

2020-05-29 17:26:40

Chrome 84谷歌浏览器

2021-04-09 14:39:58

数字化转型IT技术

2012-06-14 15:50:20

teradata商业洞察数据仓库

2021-01-05 15:31:36

微软VS Code编程

2009-08-26 14:48:05

C#委托与事件
点赞
收藏

51CTO技术栈公众号