next up previous
Next: About this document ... Up: koukyu_throughput Previous: プログラム

考察

まず、注目したいのは他のマシンとは同期を取るためだけに通信する、つまりXx2通信と、他のマシンとの通信がメインである、Xx1通信の違いである。

これはグラフから容易に読み取れる。 Xx2通信は、最初一気にスループットが上昇するが、そのあとは一気に下がっていく。 Xx1通信は、最初スループットが上昇したら、その後はほとんど変化がない。 両者とも最終的には150MB/sぐらいに収束する(ただしすべてEthernetでやった場合は除く)。

補足:講究でmyrinetは理論的には180MB/sぐらい出るということを聞いた。 これを考えてみると、ちょっと性能が悪そうである。 また、両者が150MB/sに収束するのは、どうやら偶然らしい。

次に見たいのがMyrinetとEthernetでは何が違うかである。 MyrinetとEthernetをそれぞれグラフにしてみた。 このグラフで一番特徴的なのは、EthernetのXx1の部分である。 スループットを見てみるとほとんどMyrinetと変わらないのに、振幅がもの凄く大きい事が見て取れる。 これはおそらく同期を取るための通信(MPI_Barrier)にEthernetを使っているためであろう。 つまり、Ethernetの性能が悪くなる(衝突などによって)とスループットが一気に悪くなるのだろう。

最後に、見たいのがEthernetのXx1通信のグラフである。 このグラフで特徴的な部分は、スループットが一気に悪くなる点があるというところだ。 これは分割する事によって、 また、グラフの2x1,4x1,8x1はそれぞれ収束する値が違う。 これは、12MB/sという論理的な限界の値をshareしているためだろう。 16x1になったら12/8=1.5MB/sに収束するようになるはずだ。 それを踏まえてMyrinetのグラフを見てみると、全て一定の値にスループットが収束している事が分かる。つまりfolon4のMyrinetは、何台で通信しても最悪のスループットが同じである。


s.tobita
平成15年12月5日