[SCore-users-jp] ノード内MPI及びノード間MPIの通信性能が劣化する原因
hi-morita @ itg.hitachi.co.jp
hi-morita @ itg.hitachi.co.jp
2004年 4月 2日 (金) 15:05:06 JST
亀山様、堀様、住元様、SCore開発者殿
お世話になります。日立製作所の森田です。
下記現象に関して、何かお気づきの点がございましたら、ご教授頂けます
でしょうか。お手数ですが、よろしくお願い致します。
1. 質問
あるメッセージサイズ間(1MBと2MB、30MBと40MB、40MBと50MB)でノード内
MPIまたはノード間MPIの通信性能が劣化する原因として、どのようなことが
考えられるでしょうか。
(MPICH-SCore(MPICH)の仕様により、通信方式が変更されているのでしょうか。)
2. 詳細
<<測定内容>>
ノード内MPI及びノード間MPIの通信性能を調査するために、メッセージサイズ
[*1]を変数として、ノード内CPU間の1/2ラウンド・トリップタイム[*2]を測定し
、スループット[*3]を算出しました。
<<測定結果(抜粋)>>
●ノード内MPIの通信性能
-----------------------------------------------------------
メッセージ | スループット [MByte/sec]
サイズ[Byte] |------------------------------------------
| ゼロコピーON | ゼロコピーOFF
-----------------------------------------------------------
921600 | 2.27E+09 | 9.35E+08
1048576 | 2.34E+09 | 9.28E+08
2097152 | 7.03E+08 <-- | 7.98E+08 <--
3145728 | 7.37E+08 | 8.50E+08
4194304 | 7.71E+08 | 8.58E+08
-----------------------------------------------------------
●ノード間MPIの通信性能
-----------------------------------------------------------
メッセージ | スループット [MByte/sec]
サイズ[Byte] |------------------------------------------
| ゼロコピーON | ゼロコピーOFF
-----------------------------------------------------------
921600 | 2.09E+08 | 1.30E+08
1048576 | 2.11E+08 | 1.30E+08
2097152 | 2.07E+08 <-- | 1.31E+08
3145728 | 2.10E+08 | 1.31E+08
4194304 | 2.12E+08 | 1.31E+08
〜
10485760 | 2.15E+08 | 1.31E+08
20971520 | 2.07E+08 | 1.31E+08
31457280 | 2.10E+08 | 1.31E+08
41943040 | 2.12E+08 | 1.22E+08 <--
52428800 | 1.95E+08 <-- | 1.31E+08
62914560 | 2.13E+08 | 1.30E+08
73400320 | 2.14E+08 | 1.31E+08
-----------------------------------------------------------
<<現象>>
(1) ノード内MPIの通信性能
・メッセージサイズが1MBと2MBの間でスループットが劣化しました。
(ゼロコピー機能ON、OFFの場合で確認)
(2) ノード間MPIの通信性能
・メッセージサイズが1MBと2MBの間でスループットが劣化しました。
(ゼロコピー機能ONの場合)
・メッセージサイズが40MBと50MBの間でスループットが劣化しました。
(ゼロコピー機能ONの場合)
・メッセージサイズが30MBと40MBの間でスループットが劣化しました。
(ゼロコピー機能OFFの場合)
<<測定環境>>
1. 測定機 HA8500/630(4way/1node, Memory 16GB)×2台
2. CPU Itanium2 L3 3MB
3. 並列実行環境 SCore 5.4
4. ノード間ネットワーク Myrinet2000
<<実行コマンド>>
(1) ノード内MPIの通信性能
$ scrun -nodes=1x2 (実行ファイル)
(2) ノード間MPIの通信性能
$ scrun -nodes=2x1 (実行ファイル)
-------
[1] 1MB=1048576Bと換算しております。
[2] 1/2ラウンド・トリップタイム:あるCPUから別のCPUへのデータ転送時間
[3] スループット=(メッセージサイズ)/(1/2ラウンド・トリップタイム)
以上です。
SCore-users-jp メーリングリストの案内