2012年2月20日月曜日

Rocks Cluster Distribution,メモリとメモリとcondorではまる

先日来構築しているRocks Cluster DistributionによるPCクラスタで,「1ノードでもいちばん左の棒(stewart,Core i7 920)より速いことを期待していたのだが.」と思っていた.CPU性能だけを比較すると,少なくともグラフの左端の棒と同じ程度の能力を出してくれるはずなので.

ベンチマークに使っている計算がメモリ速度に強く依存するものなので,これはメモリのせいに違いないと思って調べてみた.そうしたら,

…メモリのクロック数が遅く設定されている!?

刺さっているメモリはPC3-10600(DDR3-1333)なのだが,メモリクロック数が500MHzになっている.667MHzぐらい出るはずなのに.
メモリのクロック数は,BIOSで"Auto"に設定されていたので,これをDDR3-1333に設定してみた.

改めてベンチマーク計算したのが左上のグラフの赤い棒.
1ノード(4並列)では速くなっている.2ノード(8並列)でも速くなっている.
調子に乗って4ノード(16並列)を走らせたら,…あれ,遅くなった!?

実は,メモリの設定を変える前にいちどフロントエンドの再インストールをした.ネットの情報で「Rollはあとから入れるのが大変なので,最初に全部入れておくほうがよい」とあったので,Rollを目一杯インストールするため.
最初のインストールのときにはなかった仮想ネットワークインターフェイスが作られ,OpenMPIを設定し直さないと並列計算できなかった.

何度か再インストールをやり直したが,どうもxencondorのRollをインストールすると,仮想ネットワークインターフェイスが作られるらしい.
最初はxenだけ抜いて試したが,それでは計算時間は変わらず.
condorを抜いてインストールしたところ,やっと計算速度が向上した.その結果が左上のグラフの黄色い棒.

とりあえずすべてのRollを入れておくのは,HPC目的の場合には,あまりよい作戦ではないようだ.xenやcondor Rollは特によく吟味したほうがよいだろう.

ここまで来るのにだいぶん試行錯誤した.まずは理解できる結果になってよかった.

速くなったのはうれしいが,残念なのは,HA8000の32並列にわずかに及ばなかったこと.もうちょっとだったのに,惜しいな.

それに,1ノードでいちばん左の棒(stewart, Core i7 920)とまだ大きな差がある. stewartのメモリは何が刺さっているんだっけ? 今度調べておかないと.

このほかに,フロントエンドのメモリを増やそうとしてはまった.4GBのメモリを4枚買って挿したのだが,動かない.しかし2枚挿すと,どの2枚をどのチャネルに挿しても,動く.memtest86+で長時間メモリテストしてもばっちり.なぜだ!?

きっと相性というものがあるのだろうと自分に言い聞かせて,いまは2枚(8GB)だけ挿して運用している.

いろいろいじったのでRocksクラスタには多少詳しくなった.計算時間もいくらか早くなったし,手間はかかったがまぁよしとしよう.

2012年2月3日金曜日

Rocks Cluster Distribution・素人クラスタの実力


先日構築していたRocks Cluster DistributionによるPCクラスタで,OpenFOAMの解析テストをしてみた.以前に行ったのと同じ計算.

その結果が左のグラフ.
真ん中の,rockshead4並列,8並列,16並列というのがPCクラスタの計算結果だ.計算時間なので短い方が速い.

なかなかがんばっているのではないだろうか?

素人が適当に組んで,まったくチューニングしていないPCクラスタだが,16並列で回せば,うちの研究室でこれまでいちばん速かった(はずの)PC(meisa)よりも速い.これなら組んだ甲斐があったというものだ.

ちなみにmeisaはXeon X5570 (Quad Core) × 2 (2.93 GHz)に48GBのDDR3メモリ(1333MHz)を積んだマシン.
PCクラスタはCore i7 950 @ 3.07 GHzと12GBメモリを積んだノードを4台並べたもの.ネットワークはオンボードのYukonを使ったGbE接続なのであまり速くない.チューニングもまったくしていない,インストールしたままの状態.

だから4並列は1ノードでの計算ということで,これが思ったほど性能を出していないのは不満.1ノードでもいちばん左の棒(stewart,Core i7 920)より速いことを期待していたのだが.16並列なら,HA8000の64並列を上回り,あわよくば128並列にも肉薄してほしかったのだが.しかしチューニングせずにそれは無理かな.

まぁそれにしても,安い予算で組んでそこそこ速いのはすばらしい.それに計算ノードを自由に追加できるから,予算を確保できさえすればもっと速くすることも可能だ.速いNICを買ってきて挿すのも難しくない.

2月はこれで計算を進めよう.

2012年2月2日木曜日

1月の反省

つい先日,新しい年が明けたと思ったら,もう2月ですよ.早いなぁ.

1月は風邪を引いて長く伏せったこともあり,仕事をため込んでしまった.関係各位にお詫びいたします.
(そのうち書くつもりだが,少しエンターテインメントに時間をつぎ込んだせいもある.でも,ちょっとぐらいの娯楽はいいよね!?)

そのおかげで月末にかけて急に忙しくなり,バタバタと過ごした.1月末は卒論や修論が佳境で慌ただしいことは,何度も経験して分かっていたはずだったんだけどなぁ.

今年の達成目標のようなものは決めていないが,今のところは「物欲を抑える」ことを目指して生活している.

食料や消耗品など以外には,新しいものをなるべく買わないようにする.昨年の出費が多かったので,今年は節約したいと思ったのと,いま持っているもので1年ぐらいは十分に生きていける気がしているのが理由.自分がどんなものをほしがるかを観察しようという気持ちもある.

「なるべく」なのは逃げですな.ちょっとぐらいはいいだろうということで.
それと,本を買うのは節約しないことに決めている.

1月は,本以外の娯楽品をひとつ買った.6,580円也.それ以外はなし.

大学の教員なので,研究テーマに自分の好き嫌いや得意,不得意を反映させることができる.ぜんぶがぜんぶそうではないが,ある程度は.だから,仕事以外の特別な趣味を必要としていないので,物欲を抑えられるのかもしれない.

研究などの今年の目標は,まだ考え中.

2012年2月1日水曜日

Rocks Cluster Distributionは簡単だった!

Rocks Cluster Distributionはとても簡単にインストールできた,というお話.

昨年末にOSCAR苦労していた

OSCARはPCクラスタを組むためのソフトウェアパッケージで,複数のPCで並列計算させたり,たくさんの計算ジョブを実施したりするためのもの.研究室で比較的安いPCをたくさん買って,コンピューターシミュレーションをばんばん実施するために導入した.
同じ目的に使えるソフトウェアはいろいろあるが,OSCARを選択したのはUbuntuで使えるから.Ubuntuは研究室でここ2年ほど使っている.

しかし実際にOSCARを使ってみて分かったのは,PCクラスタは自分でコンパイルしたプログラムを実行するために使うものだから,ふだん使い慣れているOSを選ぶ意味があまりない,ということ.
Ubuntuをふだんの研究活動に使うためのノウハウはここ2年間で蓄積されてきたが,PCクラスタを利用するときにはそのノウハウがあまり役に立たない.それよりもクラスタそのものが使いやすいとか,保守しやすいなどの方がずっと重要.

昨年末から始まった研究プロジェクトで専門業者が組んだPCクラスタを導入する予定があり,それにはCentOSが使われているとのことだったので,CentOSベースで,OSCARよりも導入実績が多いらしいRocks Cluster DistributionというPCクラスタソフトに乗り換えてみた.

研究プロジェクトの都合もあるので,さっさと動かせるようにしたいと思い,ウェブサイトからRocks Cluster Distributionのjumbo DVDイメージをダウンロードしたのが31日の11時頃.

DVD-Rにイメージを焼き付け,Users Guideを印刷して,その最初から22ページまでに書いてあるインストール手順を順番にやったら,

…あっさりインストールできて,14時前にはちゃんと動くPCクラスタが構築できた.簡単じゃん!

あのOSCARに苦しめられた日々は何だったのか.

MPIのごく簡単なテストプログラムは走った.OpenFOAMのコンパイルも簡単に通った.現在,以前に計算速度の比較に使ったOpenFOAMの解析テストを実施中.安いPCを並べただけの素人クラスタで,どのぐらいの速度が出るのだろうか.楽しみだ.

OSCARの名誉のために付け加えますが,OSCARも元々はRed HatやCentOSとともに使われることを想定して作られたPCクラスタソフトで,Ubuntuでのサポートははじまったばかりです.だからCentOSにOSCARをインストールしたなら,簡単にできたのかもしれません.