PAN 是一种计算 AutoNUMA 扫描周期的自适应算法。AMD 的 Bharata B Rao 在征求意见稿 (RFC) Linux 内核补丁系列中进一步解释:
在这种新方法(进程自适应 autoNUMA 或 PAN)中,我们在每个进程级别收集 NUMA 故障统计信息,以便更好地捕获应用程序行为。
此外,该算法根据远程故障率学习和调整扫描率。通过不坚持静态阈值,该算法可以更好地响应不同的工作负载行为。
由于一个进程的线程已经被视为一个组,我们在任务的[内存管理]中添加了一堆指标来跟踪各种类型的故障并从中得出扫描率。
新的每进程故障统计信息仅有助于计算每进程扫描周期,而现有的每线程统计信息继续有助于 numa_group 统计信息,最终确定跨节点迁移内存和线程的阈值。
PAN 为 Linux 构建带来了一些性能优。与默认的 Linux 内核构建相比,使用 PAN 的 Linux 内核构建在 Graph500 互连 HPC 基准测试中受益高达 14.93%,NAS 基准测试速度提高了 8%,PageRank 提高了约 0.37%,以及其他一些不到 1% 的提升。
到目前为止,还没有其他内核开发人员对 Process Adaptive autoNUMA 提案发表评论,但感兴趣的可以查看 PAN 的 RFC ,了解有关此功能的更多信息或对其进行测试。目前,PAN 改进 Linux NUMA 行为的新代码不到 400 行。
本文转自OSCHINA
本文AMD 开发了一个有助于提升 Linux 性能的“PAN”功能
本文地址:https://www.oschina.net/news/180924/amd-pan-linux-rfc