このページの更新は終了しました。

最新の情報はTSUBAME3.0計算サービスのWebページをご覧ください。

TSUBAME2.5からTSUBAME3.0へのデータ移行方法の資料はこちら

OpenMPI 1.8.2 における性能上の問題について(11/12更新)

(TSUBAMEでOpenMPI 1.8.2を利用している方向けの情報です)

学術国際情報センター
平成26年10月30日

【OpenMPI 1.8.2 における性能上の問題について】

注: TSUBAMEにおけるデフォルトのMPI環境は OpenMPI 1.6.5 ですので、明示的にOpenMPI 1.8.2を利用していない場合本件は影響がありません。また、MVAPICH2, MPICHにも本件は影響ありません。

TSUBAMEにインストールされている OpenMPI 1.8.2 において、以下の2点の性能に影響する問題が見つかりました。

(1) プロセスの配置が適切に行われない
PBSにおいて特定の資源指定方法を行った際に、プロセスがPBSでの指定どおりではなく先頭のノードに固まって配置され、メモリ不足や並列性能が出ないという結果となることが分かりました。

(PBSの指定どおりにプロセスが配置された例)
-l select=2:mpiprocs=2:mem=1gb -l place=scatter
-l select=8:mpiprocs=1:mem=20gb
-l select=4:mpiprocs=2:mem=1gb -l place=scatter
-l select=4:mpiprocs=2:mem=1gb -l place=scatter
-l select=4:mpiprocs=4:mem=40gb -l place=scatter
-l select=8:mpiprocs=2:mem=40gb
-l select=8:mpiprocs=2:mem=40gb -l place=scatter

(PBSの指定どおりにプロセスが配置されなかった例)
-l select=2:mpiprocs=1:mem=1gb -l place=scatter
-l select=4:mpiprocs=1:mem=1gb -l place=scatter
-l select=8:mpiprocs=1:mem=40gb
-l select=8:mpiprocs=1:mem=1gb -l place=scatter
-l select=16:mpiprocs=1:mem=40gb -l place=scatter
-l select=16:mpiprocs=1:mem=40gb

本事象の対策のため、11/4(火) 9:00 にOpenMPIのプロセス配置の設定を変更いたします。
本変更作業のために利用できなくなる期間は発生しません。
本変更以降は、OpenMPI 1.8.2でもPBSの指定どおりにプロセスが配置されるようになります。

(2) MPIの通信性能が十分に出ない
TSUBAMEでは2つのInfiniBandネットワークを併用することで主に大きなサイズの通信を高速化していますが、OpenMPI 1.8.2 では片方のネットワークでしか通信ができないことがわかりました。
メッセージサイズの小さい通信については十分な性能が出ますが、バンド幅を要求するアプリケーションでは通信性能が半減します。
本事象については、ベンダーと協力のうえ、解決策を検討中です。

(2014-11-12更新) Mellanox社より回答があり、OpenMPI 1.8系列では2つのFabric(ネットワークカード)を同時に利用した通信ができないことがわかりました。通信バンド幅を要求するアプリケーションでは、以下のMPI環境を代替としてご利用ください。(バージョンは2014-11-12現在のものです)

  • OpenACCなどPGIコンパイラを利用する必要がある場合: OpenMPI 1.6.5 もしくは MVAPICH2 1.9
  • MPI-3や最新のアルゴリズムを利用したい場合: MVAPICH2 2.0 RC1
  • OpenMPIでしか動かない・OpenMPI上のほうが高速に動作するプログラムを利用する場合: OpenMPI 1.6.5