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: それはまあごもっともですけど、でもまた地雷を踏むんじゃないかと思います。まあ、好きなんでしょうけど。
赤木: そうよね。
この、固定というのはまあそんなに悪くはなくて、どうせ大抵のものは 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台組んでネットワーク性能を測る。
2003/3/9 ファン不良?
さて、というわけで大変結構な P4GB だが、一つだけ問題が。リテイルのヒー
トシンクのファンは回転数センサーに対応してないのか、電源を入れても「ファ
ンが回てません」と怒られる。それでも F1 を押すと上がるんだけど、これだ
とリモートでリブートができないのでちょっと不便。適当なファンを買ってき
てつけてみると文句をいわないで上がるようになる。(ファンはリテイルのヒー
トシンクのファンの上にガムテープで貼りつけてある)
2003/3/13 全部交換
というわけで、 16台全部 P4GB に入れ換え。うーん、 150MHz で動いてくれ
ないのがちらほら、、、、 動いていてもしばらくたつと kernel panic にな
るとかね、、、 なかなか困ったものである。動かないのは適当にクロックを
下げる。
2003/4/14 占有テスト
占有して 16並列のプログラムを走らせると、、、しばらくたつとなんだか分
からないネットワークエラーで落ちる。 良く分からないのでエラーを出す機
械のクロックをもうちょっと落としてみたりする。で、エラーがどこででたか
わかるようにエラーハンドラを書き直して、コンパイルして、、、あれ、落ち
なくなった。何故???
とはいえ、依然 kernel panic が、、、うーん、結構軟弱。
というわけで、落ちる子はどんどんクロック落とした結果、今はこんな感じ
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 を超えなかったので、なかなか大きな違いである。嬉し
いなっと。
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をもうちょっとなんとかしたいものですね。