PCクラスタやスーパーコンピュータ等で広く利用されているMPIインタフェースにおける入出力インタフェースであるMPI-IOの代表的な実装であるROMIOに関して、プロセスのノード間・ノード内配置に配慮した実装の最適化に関する評価を昨年度から進めてきた。ROMIOでは入出力処理をプロセス群の一部あるいは全部に担当させて、並列に入出力を行わせており、この入出力を担当するプロセスをアグリゲータと呼んでいる。アグリゲータのノード間配置順に関して、並列ファイルシステムであるLustreのストライピング処理や、各ノードと並列ファイルシステム間の通信の混雑を回避した配置にすることで性能向上する可能性について昨年度内に検証試験と成果報告を完了させる予定であったが、使用していた東京工業大学のTSUBAME2.5の運用側から、評価プログラム実行時に並列ファイルシステムや通信回線に高い負荷がかかり、他の利用者への影響が大きいとして、繁忙期での使用を控えるよう連絡があり、計算機利用時期を年度末に遅らせた経緯があった。そこで、今年度に1年延長させて頂き、昨年度末に集中して実施した評価データの分析と成果報告を今年度に実施した。ここでそれまでの実装に対して、さらにアグリゲータにデータを集める処理での通信順を工夫することにより、通信の混雑を回避して性能向上に繋げることができることを確認した。昨年度の実施報告にもあるように、TSUBAME2.5の64ノードに768プロセスを起動したケースでは、現行のROMIOに対して67%の性能向上を確認している。得られたデータの精査・分析を進めた結果、同様に32ノードに384プロセスを起動したケースでも20%の性能向上が確認されており、通信順を配慮する実装の有用性が確認できた。
|