当前位置: 首页 > 科技观察

Linux6.3将进一步完善可重启序列(RSEQ)以提高计算性能

时间:2023-03-20 13:01:44 科技观察

12月28日消息,LinuxKernel几年前已经合并了可重启序列(TheRestartableSequences,简称RSEQ),GNUC库RSEQ已经被用于对每个CPU数据进行更快的用户空间操作。RSEQ将在明年推出的Linux6.3中得到进一步改进。通过递增per-CPU计数器、修改per-CPU自旋锁、读/写per-CPU环形缓冲区等,避免原子操作(不被线程调度机制中断的操作),RSEQ可以显着优化性能,提供出色的基准测试结果.领导RSEQ大部分工作的MathieuDesnoyers最近一直致力于扩展RestartableSequencesABI,并公开了NUMA节点ID、mm_cid和mm_numa_cid字段。Desnoyers在补丁介绍中说:NUMAnodeIDallowsfastergetcpu(2)inlibc.per-memory-mapconcurrencyid(mm_cid)允许用户空间per-cpu数据结构的理想缩放(向下或向上)。调度程序可以跟踪内存映射中分配的并发ID。调度器基于并发运行的线程数、CPU亲和力(affinity)、应用到这些线程的cpuset和逻辑核心数等参数。NUMA感知并发ID(mm_numa_cid)与mm_cid类似,只是它跟踪与每个cid关联的NUMA节点ID。在NUMA系统上,当用户空间观察到NUMA感知并发ID与NUMA节点关联时,它保证永远不会更改NUMA节点,除非发生内核级NUMA配置更改。这对于在属于一个cpuset或一组进程的进程被固定到属于系统NUMA节点子集的一组内核的环境中运行的NUMA感知per-cpu数据结构很有用。

最新推荐
猜你喜欢