私はNUMAアーキテクチャに取り組んでおり、各計算ノードにはソケットごとに 2 つのソケットと 4 つのコアがあり、計算ノードごとに合計 8 つのコアがあり、ノードごとに 24GB の RAM があります。プロセッサ アフィニティの設定がパフォーマンスに大きな影響を与える可能性があることを証明する必要があります。
プロセッサ アフィニティを使用する場合と使用しない場合の影響の違いを示すためのベンチマークとして使用できると提案するプログラムはありますか? MPI、OpenMP、または pthreads を使用して簡単な C テスト プログラムを作成することもできますが、そのテストを実行するにはどのような操作が最適でしょうか? これは、キャッシュの局所性を利用するものでなければなりませんが、コンテキストの切り替え (ブロック操作) もトリガーするため、プロセスが別のコアに移行したり、さらに悪いことに、別のソケットに移行したりする可能性があります。8 の倍数のコアで実行する必要があります。