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(...) を再度使用)
誰もがより良いアプローチを知っていますか?
編集:記録のために:私の提案した実装は期待どおりに動作します!