在 NUMA 上工作的 YARN 会尊重节点内存位置吗?

问题描述

我正在使用基于 Giraph 的应用程序,该应用程序在 NUMA 系统中大量使用内存。它经常对内存进行读写操作,并且有多个线程。假设我安排了 4 个内核数与每个芯片内核数一样多的 worker,这是否意味着他们将被固定到特定的 cpu,以便他们只能使用本地 NUMA 内存?

解决方法

这取决于您使用的 YARN 版本。从 YARN 3.1.0 开始,您可以在配置中启用 NUMA 调度。补丁可以在这里找到:

https://issues.apache.org/jira/browse/YARN-5764