在Windows API提供了CreateFileMappingNuma功能( http://msdn.microsoft.com/en-us/library/windows/desktop/aa366539(v=vs.85).aspx )创建一个特定的NUMA命名共享内存空间节点。
到目前为止,我还没有找到Linux的同等功能。
我目前的做法是这样的:
- 命名分配共享内存(使用的shm_open(...))
- 确定当前的NUMA节点(使用numa_move_pages(...))
- 移动页面到目标节点(使用numa_move_pages(...)再次)
有谁知道一个更好的办法?
编辑:为了记录:如预期我所建议的实现不工作!