在NUMA系统中获取节点距离(跳数)

问题描述:

是否有任何API /方法可以在两个NUMA节点之间获得“距离”(在文献中称为“跳数”)?我想实现一个利用这个优势的内存分配系统(从最近的节点重用内存,因为访问速度更快)。
Windows似乎没有这样的功能......而libnuma(在Linux下)似乎也没有。有没有什么办法可以获得这些信息(即使有'cpuid'之类的东西)?在NUMA系统中获取节点距离(跳数)

对于Linux,至少可以通过解析/ proc来获得拓扑结构。这是例如在Ulrich Drepper's "What every programmer should know about memory"的第5章中。第6.5章也有些相关。

查看hwloc中的库和工具。