【发布时间】:2011-01-03 13:12:30
【问题描述】:
是否有任何 API/方法可以获取两个 NUMA 节点之间的“距离”(在文献中称为“跳数”)?我想实现一个内存分配系统,利用这一点(从最近的节点重用内存,因为访问速度更快)。
Windows 似乎没有这样的功能……而 libnuma (在 Linux 下)似乎也没有。有什么方法可以获取此信息(即使使用“cpuid”之类的信息)?
【问题讨论】:
标签: c++ windows linux memory numa
是否有任何 API/方法可以获取两个 NUMA 节点之间的“距离”(在文献中称为“跳数”)?我想实现一个内存分配系统,利用这一点(从最近的节点重用内存,因为访问速度更快)。
Windows 似乎没有这样的功能……而 libnuma (在 Linux 下)似乎也没有。有什么方法可以获取此信息(即使使用“cpuid”之类的信息)?
【问题讨论】:
标签: c++ windows linux memory numa
查看hwloc 中的库和工具。
【讨论】:
对于 Linux,至少可以通过解析 /proc 来获取拓扑。这是解释例如在Ulrich Drepper's "What every programmer should know about memory" 的第 5 章中。第 6.5 章也有些相关。
【讨论】: