MPIベンチマークテスト結果:永田・矢島班

MPIのベンチマークテストの結果です。主にfolonで、edamが少々あり ます。4端は他のユーザーが多く値にばらつきがあるので、参考程度です。

とくに指定がない限り、グラフの要素数はdoubleのデータが0から100まで 1刻み、0から1000まで10刻み、0から10000まで100刻みの3種類作成しまし た。各データは100回計測した時間の平均をとっています。

計測に用いたプログラム、およびデータとグラフをまとめたエクセル ファイルを、ここにあげておきます。

Alltoalln台実行時の比較

1台から8台まで、folonにおいてAlltoallの速度を計測しています。
要素数はdouble1000個まで、10個刻みで計測してあります。

やはり台数が増えるほど時間がかかりますね。加速度的に時間が増加して います。

AlltoAll回線比較

ネットワーク指定をmyrinet, ethernet, ethernet*2にして、AlltoAll実行 時の速度を比較しました。

ethernet*2では180を越すと所要時間が100msと大幅に増え、ethernetでは 2200で160ms、2300以降は300ms以上となりました。なぜでしょう?

roundtrip時間比較

folon(ネットワーク指定myrinet, ethernet, ethernet*2)とedamにおい て、PE0からPE1にデータを送信し、そのデータがPE1からPE0に帰ってくる までの時間を計測しました。

4端ではユーザーが多く、よい値が取れませんでした。データ数10で0.25ms, 100で0.72ms,330で1.04ms位が最高値でしょうか。データ数が360を超えた あたりから、所要時間が50〜100msと増加し、計測を断念しました。

send, bcast片道時間

send, bcast(2台), bcast(8台)を行ったときの、関数から処理が戻って くるまでの時間を計測しました。

sendと2台におけるbcastでは、実行結果がほとんど変わりませんでした。 おそらく2台におけるbcastでは内部的にsendを1回実行しているだけだと 思われます。
sendを2倍した数値よりroundtripの計測値のほうが明らかに大きく、 ここからsendはrecv終了よりずっと前に処理が返ってくることがわかり ます。
また、bcast8台においては250、send,bcast2台においては2000を超えると 処理速度が非線形に増加します。データ送信には2k*8Bytes=16KBほどの 領域が取られ、送信用バッファとして使われているのでしょうか? 7200からまた計算時間が増えていますが、こちらはなぜなのか予想が つきませんでした。

現在の並列分散行列計算

folon1台で3.60秒、folon8台で0.76秒ほどになりました。
任意の大きさの行列をファイルから読み込んで計算できます。並列処理に 関してはMPIまかせですが、自分でこれ以上の実装をできる気がしません。