[目次] [発表資料]

質疑応答「Starfireの NASA Benchmark をベースにした性能評価」


−司会− 航空宇宙技術研究所 福田 正大

【司会】
 只今のご発表に関しまして、ご質疑、ご討論をお願いいたします。

【中村】(航空宇宙技術研究所)
 井口さんが出してくださった結果を見ますと、LUは、BTやSPに比べて性能評価が高い場合が多いので不思議に思いました。BTやSPは、右辺のサブルーチン全てに並列性があり、左辺のひとつのサブルーチンだけが並列性のないループなわけですから、そこをうまくやれば、どれよりも高い評価が出るはずだと思うのですが、井口さんの例ですとそうなっていないのはどうしてなのでしょうか。

【井口】(発表者:北陸先端科学技術大学院大学)
 実は、どこが並列化されたかという解析をまだあまりやっていません。今回の第一の目的は、Ultra5と比較したいという点にありましたので、チューニングはしないことを大前提に行いました。

【市川】(富士通(株)システム本部計算科学技術センターHPCシステム部)
 LUがなぜ性能が良かったかということについてのコメントですが、NAS Parallel2.3を使用することを前提にお話しすると、LUは作業配列が二次元分しか使っていないのに対して、BTやSPは三次元分の作業配列を用意していてこれを使っている。ということで、キャッシュ上に残る可能性が、LUが一番高いということになったのだと推測されます。

【井口】
 私どもの使用しているものもNAS Parallel2.3なので、仰る通りなのだと思います。

【中村】
 次の質問ですが、スレッドは、スレッドルーチンを自分で呼んで、実際には自動並列もマルチスレッドで動いているようですが、自動で動くのと手動で入れたのとでは、ライブラリコールの差で今回のような結果が出ているとお考えですか。

【井口】
 おそらくタイミングやコンパイラが賢いという点が理由ではないかと考えます。
 ユーザも賢いですが、同期が必要でないところで同期をとったりすると性能がガタンと落ちますよね。ですからきちんとやるためには、同期をとる個所をあちこち変えてみなければならないということが言えると思います。
 あと、自動並列化の場合、サブルーチンコールのオーバヘッドが隠れることも理由の一つとして考えられます。

【中村】
 無駄な同期が入っている可能性があるということですね。
 もう一点質問があります。先程Starfireの並列での利用率が悪いと仰っていましたが、何もStarfireを入れなくても、ユーザの皆さんがUltra5を一台ずつ使っていけば良いようにも思いますが、いかがでしょうか。

【井口】
 核心的なところを突かれてしまいました。大きなシステムを入れる場合に、今の結果を見る限り、Ultra5でもさして変わりはないじゃないか、ということですね。実際、Ultra5を32台そろえた方が安上がりとも充分に考えられるのですが、並列化できるジョブ、大規模なジョブや大きなメモリで動かしたいユーザもいる。そして第一に、私どもは、いつでも気楽に大規模なプログラムを実行できる環境をユーザに提供できるという点が、非常に有益だと思うのです。

【中村】
 仰る通りなのですが、ユーザにMPIを押しつける必要はないのではないかと思うのです。高速化を求めているユーザだけがMPIを使えばよいわけで、「私は今晩入れたら明日の朝に結果が出れば結構です」と言うユーザにまでMPIを押しつけなくても良いように思うのですが。

【井口】
 私どもも、ユーザに対し、あまり強制的に勧めることは考えていません。ただ、MPIを使うと速くなるよ、ということは広く宣伝していくべきだと考えています。

【司会】
 ユーザを甘やかしてはいけないですよ(笑)。甘やかしていたらいつまでもバラバラの計算機を使うことになりますからね。

【青木】(富士通(株)ソフトウェア事業本部ミドルウェア事業部コンパイラ技術部)
 自動並列化のコンパイラはSUN Fortran77を使われたようですが、その理由は、オプションチューニングした結果一番早かったからと仰っていましたが、富士通の自動並列化のデータはお取りにならなかったのでしょうか。

【井口】
 この図で、一番右側の棒が、Fujitsu Fortranです。ただし、これは、CPU1台のときの性能です。



【司会】
 富士通は並列化Fortranでは自信があるので、一度試してあげてみてください。

【奥田】(富士通(株)システム本部計算科学技術センター)
 先程、ご自分の机の上で使われているUltra5からそのまま利用することがメリットだと仰っていましたが、実際のコンパイルはどのようにされているのですか。

【井口】
 ユーザによってまちまちです。無関心な方は自分のUltra5でコンパイルしたバイナリをそのまま実行していますし、それなりに関心のある方はサーバ上でコンパイルするということをやっています。結局オプションのチューニングによってかなり性能が変わってくるわけですが、ユーザがどの程度までオプションをつけているのかという点がなかなか見えてきません。

【司会】
 井口先生、どうもありがとうございました。(拍手)

[目次] [発表資料]