是否有任何 API/方法来获取两个 NUMA 节点之间的“距离”(在文献中称为“跳跃”)?我想实现一个利用这一点的内存分配系统(从最近的节点重用内存,因为访问速度更快)。
Windows 似乎没有这样的功能......而 libnuma(在 Linux 下)似乎也没有。有什么方法可以获取此信息(即使使用“cpuid”之类的信息)?
最佳答案
对于 Linux,至少可以通过解析/proc 来获取拓扑。这被解释为例如在 Ulrich Drepper's "What every programmer should know about memory" 的第 5 章中.第 6.5 章也有些相关。
关于c++ - 获取 NUMA 系统中的节点距离(跳数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2038420/