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

Gra*_*Lup 5 c++ linux memory windows numa

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

jan*_*neb 2

对于 Linux,至少可以通过解析 /proc 来获取拓扑。例如,Ulrich Drepper 的“每个程序员都应该了解内存知识”的第 5 章对此进行了解释。第 6.5 章也有些相关。