これまでの 単純分割 & numactl ではなく、ソフトウェアとしてしっかり affinity を設定を行えるように対応した。もちろん計算ノード内のプロセス数が1となるので、非常にオーバーヘッドが削減される。また単純分割では事前に計算量がある程度見積もれる SSSP クエリでしか負荷分散が難しかったが、今回の更新で動的な負荷分散にも可能となる。
● Istanbul4
CPU : Six-Core AMD Opteron(tm) Processor 8439 SE (24)
GCC : 4.4.5
linux : 2.6.34.7-61.fc13.x86_64
Memory : HugeTLBfs(2MB)
● APSP( NY(#nodes: 264346, #arcs: 733846) )
実装1 : 685 秒 (283 GE/s)
affinity 設定なしのマルチスレッド計算 : 24-threads
実装2 : 633 秒 (306 GE/s)
クエリの単純分割 & numactl を用いてソケット数分のプロセスを立ち上げ、プロセス内はソケット内コアでのマルチスレッド計算 : 4-processes x 6-threads
実装3 : 601 秒 (323 GE/s)
affinity 設定ありのマルチスレッド計算 : 24-threads
非常に高効率が確認された。様々な実験を行う予定である。