計画の歴史--ハードウェア篇2003

目次

2003/2/xx P4 upgrade
2003/3/5 ネットワーク性能テスト
2003/3/9 ファン不良?
2003/3/13 全部交換
2003/4/14 占有テスト

今回はホスト更新のお話。

2003/2/xx P4 upgrade

学生A: 今度はどんなことをするんですか?

赤木: なんかね、だいぶ迷ってたみたいね。GRAPE っていうか、ホスト1台で 性能を上げたいにしても、ネットワーク性能を上げたいにしても、なかなか選 択が難しいし、、、とかぶつくさいってたわよ。

学生A: それはそうでしょうね。今年はそんなにお金もないでしょうし、お金 があってもどうせ Itanic 2 とかじゃなくて Hammer とかを買いたがる人なの に、 Hammer がとめどもなく遅れてますから。

赤木: そうなの。結局 P4 にしたみたいよ。

学生A: あー、去年あたりは Athlon はこんなにいいとかいろいろいってたの に、軟弱というか節操がないというか、全然しょうがないですね。

赤木: まあ、良くいえば柔軟に適応できるってことなんじゃないの?

学生A: それはもちろんものはいいようですけど。

赤木: GRAPE のホストとして考えると、この 1 年半くらいでは AMD より Intel のほうの進歩が大きかったのも確かだと思うわよ。 Northwood core に なって Willamette でおかしかったのを直したのかなんかしらないけど、普通 のプログラムが随分速く走るようになったから。それと、メモリバンド幅が大 きく違うのよね。今だと K7 は PC2700 でしょ? P4 は PC2100 デュアルで、 しかも今の P4 のクロックが低い石はみんな結構オーバークロックできる じゃない。だから PC2700 のメモリをつめば、チップセットさえ耐えればメモ リバスをオーバークロックできるから随分性能が上がるのよ。

学生A: 相変わらずいじましい話ですね。でも、その辺は K7 だってそうなん じゃないですか?というか、去年の終わりあたりには K7 を OC して喜んでました よね。

赤木: そうね。あれはさすがに安定に動かせる気がしなかったけど。 CPU の クロックはあげないで FSB だけオーバークロックしてメモリ周りの性能を上 げるっていうのは、動くならまあいいけど、今の時点で DDR400 にしてっての はちょっと危ないわよね。性能もそんなに上がらないわけだし。えーと、確か EPoX の 8K9A2 だったかしら、ボードに細工がしてあって Thoroughbred B コ アや Barton コアだと CPU のパッケージに細工をしなくてもいきなり FSB の ロックが外れるマザーボードがあるのよ。

学生A: でも KT400 ですよね。 FSB 333 以上はもちろん無保証だし。

赤木: まあ、さすがに多少は理性が働いて、全部これにするのは思いとどまっ たみたよね。こないだうちから E7205 のマザーを見てたわよ。年度末になっ ちゃうからどうしよう、、、みたいな感じだったけど、結局 Iwill P4GB が一応テストできて、それにしたみたい。

学生A: なんか高いやつですよね。作者らしくない、、、

赤木: まあ、高いっていっても1万円も変わらないから、いいんじゃない? まともに買えばCPU のほうがずっと高いんだし。まともじゃない CPU のつも りみたいだけど。 ほら、 Web のいろんなところに、今の P4 のクロックが遅 いのは結構 OC 出来るっていう話があるじゃない。あれでその気になったみたい。

学生A: なんか怪しいことを、、、

赤木: あら、 OC はわかってやるんならいいんじゃないの?まあ、作者がちゃ んとわかってるかどうかは知らないけど。マザーボードもあんまり OC 向きじゃ ないのを買ってたし。 OC するならメモリやチップセットの電圧と、あと PCI クロックと FSB の比も変えられるのがいいわよね。

OC することの潜在的な問題はいろいろあって、起動したとしても例えば誤動作する かもしれない、ハングするかもしれない、寿命が短くなるかもしれないとかあ るわけね。 そうすると、問題はこれを気にするかどうかよね。答が違うのは 困るけど、これはちゃんとテストして間違えなければいいわけね。ハングする かどうかもしばらく動かして落ちなきゃいい。問題は寿命だけど、 GRAPE の ホストなら長くても 2 年くらいしか使うつもりはないんだろうから、

学生A: それはまあごもっともですけど、でもまた地雷を踏むんじゃないかと思います。まあ、好きなんでしょうけど。

赤木: そうよね。


というわけで、マザーボードは予算処理に間に合わせるために E7205 でもっ とも出回るのが早かった Iwill P4GB にする。これはあんまり芸がなくて、 FSB クロック、 CPU core 電圧くらいしか設定がない。 PCI は FSB 133MHz 以上では FSB の 1/4 固定のようである。

この、固定というのはまあそんなに悪くはなくて、どうせ大抵のものは PCI クロック 40 MHz くらいでも動くのでそのまま。メモリやチップセットの電圧 をあげられないのがちょっと嬉しくないけど、まあ、メモリは DDR333 をつけ ておけば 150MHz くらいまでは文句をいわないと思うし、 E7205 は多分余裕 で動くであろう。

というわけで一台組んでみる。ネットワークをオンボードの Intel 82540(?) でやるので、 kernel を 2.4.20 にあげて processor architecture P4 にし てカーネル作りなおすと、特に文句もいわないで動く。で、クロックを上げる と、、、 150 MHz 辺りまでは文句をいわない。 155 とかにするとブートも しないで、 CMOS クリアしてなんとかする。

計算速度はさすがに速い。といっても結局 Athlon XP 1800+ にくらべて 2 割 くらいなんだけど、、、でも、 K7 でそれだけの性能向上を実現するには FSB 400MHz で回すしかなかったので、まあそれよりは安心な組合せかな。

2003/3/5 ネットワーク性能テスト

2台組んでネットワーク性能を測る。


Myid, R, L= 1 0 0
Barrier count = 2000 wall clock time = 0.125698  62.849000 us/synch
Allreduce count = 2000 wall clock time = 0.250120  125.060000 us/call
TCP Barrier level 2 count = 2000 wall clock time = 0.125108  62.554000 us/synch
TCP Allreduce count = 2000 wall clock time = 0.124993  62.496500 us/call
size, count = 1 2000 wall clock time = 0.250040  0.127980 MB/s
size, count = 1 2000 wall clock time = 0.125101  0.255793 MB/s
size, count = 4 2000 wall clock time = 0.250049  0.511900 MB/s
size, count = 4 2000 wall clock time = 0.125105  1.023141 MB/s
size, count = 16 2000 wall clock time = 0.250294  2.045594 MB/s
size, count = 16 2000 wall clock time = 0.125228  4.088542 MB/s
size, count = 64 2000 wall clock time = 0.276283  7.412689 MB/s
size, count = 64 2000 wall clock time = 0.128598  15.925598 MB/s
size, count = 256 2000 wall clock time = 0.499995  16.384164 MB/s
size, count = 256 2000 wall clock time = 0.250627  32.686023 MB/s
size, count = 1024 2000 wall clock time = 0.750493  43.661966 MB/s
size, count = 1024 2000 wall clock time = 0.500110  65.521585 MB/s
size, count = 4096 1464 wall clock time = 1.840062  52.142104 MB/s
size, count = 4096 1464 wall clock time = 0.917002  104.628675 MB/s
size, count = 16384 366 wall clock time = 1.982432  48.397475 MB/s
size, count = 16384 366 wall clock time = 0.915035  104.853589 MB/s
size, count = 65536 91 wall clock time = 1.907547  50.022577 MB/s
size, count = 65536 91 wall clock time = 0.926455  102.995198 MB/s
size, count = 262144 22 wall clock time = 1.743382  52.928554 MB/s
size, count = 262144 22 wall clock time = 0.883074  104.492588 MB/s
size, count = 1048576 5 wall clock time = 1.549425  54.140136 MB/s
size, count = 1048576 5 wall clock time = 0.797483  105.188549 MB/s
size, count = 4194304 1 wall clock time = 1.221602  54.935129 MB/s
size, count = 4194304 1 wall clock time = 0.636414  105.448441 MB/s
素晴らしいというよりすさまじい性能である。 上の出力で、サイズが同じの は上のほうが MPI、下が socket call なんだけど、 socket call だとスルー プットで 100MB/s を超える。前の Planex のカードと K7 (K7S6A, SiS 745) の組合せでは 60MB/s を超えなかったので、なかなか大きな違いである。嬉し いなっと。

2003/3/9 ファン不良?

さて、というわけで大変結構な P4GB だが、一つだけ問題が。リテイルのヒー トシンクのファンは回転数センサーに対応してないのか、電源を入れても「ファ ンが回てません」と怒られる。それでも F1 を押すと上がるんだけど、これだ とリモートでリブートができないのでちょっと不便。適当なファンを買ってき てつけてみると文句をいわないで上がるようになる。(ファンはリテイルのヒー トシンクのファンの上にガムテープで貼りつけてある)

2003/3/13 全部交換

というわけで、 16台全部 P4GB に入れ換え。うーん、 150MHz で動いてくれ ないのがちらほら、、、、 動いていてもしばらくたつと kernel panic にな るとかね、、、 なかなか困ったものである。動かないのは適当にクロックを 下げる。

2003/4/14 占有テスト

占有して 16並列のプログラムを走らせると、、、しばらくたつとなんだか分 からないネットワークエラーで落ちる。 良く分からないのでエラーを出す機 械のクロックをもうちょっと落としてみたりする。で、エラーがどこででたか わかるようにエラーハンドラを書き直して、コンパイルして、、、あれ、落ち なくなった。何故???

とはいえ、依然 kernel panic が、、、うーん、結構軟弱。

というわけで、落ちる子はどんどんクロック落とした結果、今はこんな感じ

host10  cpu MHz         : 2850.049
host11  cpu MHz         : 2850.064
host12  cpu MHz         : 2754.511
host13  cpu MHz         : 2754.534
host14  cpu MHz         : 2850.045
host15  cpu MHz         : 2754.499
host16  cpu MHz         : 2660.053
host17  cpu MHz         : 2850.043
host18  cpu MHz         : 2754.490
host19  cpu MHz         : 2754.481
host20  cpu MHz         : 2850.073
host21  cpu MHz         : 2850.075
host22  cpu MHz         : 2811.193
host23  cpu MHz         : 2697.860
host24  cpu MHz         : 2754.485
host25  cpu MHz         : 2867.877
16と23をもうちょっとなんとかしたいものですね。