DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

CCS対LINUXの比較

2006年06月14日 08時28分35秒 | WindowsHPC
現在、Windows Compute Cluster Server : CCS の活用研究を進めています。HPC を目的とするシステムなのですから、計算速度が気になるところです。また、これまでクラスタやグリッドと言うと Linux の利用が多かったのですが、Windows CCS がどれだけの速度になるのか?非常に興味があると思います。
そこで、2台のマシンを Windows Compute Cluster Server と Fedora core 5 を入れて、MPI ベースの姫野ベンチマークのプログラムを使って比較検討してみました。

ハードウエアは、以下の2台を共通に利用します。
suou : CPU: Intel Celeron 2.53GHz RAM: 512MB  sikon : CPU: Intel Celeron 2.53GHz RAM: 512MB
ネットワークは、100Mbps の Switching Hub という、普通の機器です。

CCS:  OS - Windows Compute Cluster Server 2003
MPI - msmpi.lib  Build - cl /O2 himenoBMTxps.c /link msmpi.lib
LINUX:  OS - Fedora core 5 (linux2.6.15)
MPI - mpich-1.2.7  Make - mpicc -O3 himenobmtxps.c

まず、1台のみの結果です。
CCS:  suou : 606 MFLOPS  sikon : 612 MFLOPS 平均 609
LINUX:  suou : 455 MFLOPS  sikon : 456 MFLOPS 平均 456

次に、2台での結果です。Celeron x2
CCS:  suou + sikon : 918.52 MFLOPS  suou + sikon : 922.46 MFLOPS 平均 920.5
LINUX:  suou + sikon : 854.89 MFLOPS  suou + sikon : 855.57 MFLOPS 平均 855.2

考察
1台の比較で、CCS は、LINUX に比べて、33%の速度向上になり、
2台の比較で、CCS は、LINUX に比べて、約8%の速度向上になります。
VisualStudio のコンパイラ cl とライブラリの性能差かもしれません。

比較の条件がおかしなところがあるかもしれませんので、これで性能差を断言することは出来ませんが、今回は「Windows の方が早い」と言う結果になりました。Linux はシンプルでさくさく動いて、Windows は GUI があって複雑かな、と言う認識があるかもしれませんが、今回の結果を見る限りでは、Windows に VisualStudio などの開発環境を組み合わせた場合、HPC システムとしてみても、十分に利用価値があるものと思いました。

CCS上で姫野ベンチを動かせたよ

2006年06月08日 05時31分20秒 | WindowsHPC
ちょっと時間がかかったが、何とか CCS のクラスタ上で、姫野ベンチマークを実行することが出来た。UNIX 系のソフトで MPI を使った並列処理プログラムを、CCS 用にどうコンパイルするかが分からなかったのです。
結果的には、Visual Studio の cl を利用することで、簡単に出来た。出来れば簡単だけど、やり方が分からずに、試行錯誤するのは、結構大変だった。
姫野ベンチのコンパイル方法は、ここの、性能評価を見てください。
で、結果は以下の通り。
A: CPU: AMD Athlon64 3000+ RAM: 2048MB
B: CPU: AMD Athlon64 3000+ RAM: 2048MB
C: CPU: Intel Celeron 2.53GHz RAM: 512MB

まず、1台のみの結果です。A: 881.23 MFLOPS B: 881.60 MFLOPS C: 606.36 MFLOPS
次に、2台での結果です。A+B: 1243.12 MFLOPS
最後に、3台での結果です。A+B+C: 1355.99 MFLOPS

条件にもよるので、単純な比較は出来ませんが、台数の効果をそれなりには表していると思います。まあ十分な性能かなと思います。多分、設定や調整を工夫することで、もう少し良い性能になるのではないかと期待しています。

CCS構築手順の資料公開

2006年05月26日 11時40分19秒 | WindowsHPC
ここ数週間、ずっと作業を続けてきた Windows Compute Cluster Server 2003 の構築手順の資料を公開します。現在は、このシステムが技術評価版として無償でダウンロードできますので、この構築手順があれば、容易に Windows の HPC クラスタが構築できると思います。
HPC の経験者でも、Windows には慣れていないことが多いので、Active Directory の構築など困ることが多いと思います。そこで、この手順どおりにすれば、最低限のシステムは構築できる手順書が無いかなと探しましたが、無いので、自分で作ることにしたものです。
勘違いや誤記もあると思うので、この資料に関しての質問は、ryos@gifu-nct.ac.jp までお願いします。
Windows Compute Cluster Server 2003 の構築手順
ちなみに、CCS では、Head Node + Compute Node + Active Directory で構成されますが、今日の1枚は、実験用 CCS クラスタの全景です。全部で5台のPCで構成されていますが、Remote Desktop を利用しているので、モニタは1台で十分です。

WindowsCCEについて

2006年05月10日 09時05分26秒 | WindowsHPC
WindowsCCE は、正確に言うと、Windows Server 2003 Compute Cluster Edition と言うものです。Windows Server 2003 の 64bit Edition をベースに、HPC 用に特化したOSです。基本的には Windows Server 2003 なので、普通の Windows と思って良いのですが、64bit を前提にしていることと、Server と言いながら Compute Host にも、この Server-OS を使うことになります。
世の中的には、殆どの PC のOSは、Windows なわけで、これを HPC としてのクラスタやグリッドとして利用しようとすると、やはり Windows をそのまま利用するのが、一番自然です。しかし、これまで Unix 系OSで作られてきた、HPC のツールやシステムの蓄積がありますので、これを統合しながら、Windows らしい HPC が作られるはずだと思います。
今後に大きな期待を持って、せっせと、クラスタ構築に勤しんでいるわけであります。

CCSが動いているよ

2006年05月08日 01時21分27秒 | WindowsHPC
Windows-CCS の情報発信を始めたわけですが、動いている証拠がないとつまらないですよね。そこで、論より証拠、百聞は一見にしかず、ということで、スクリーンショットを示します。
これは、CCS の Head Node 上で動いている Compute Cluster Administrator の状態です。3分割された中央に、Remote Desktop を使って、Compute Node のデスクトップを表示して操作することが出来ます。非常に便利です。クラスタなどでは、多数のコンピュータノードを利用するので、1台づつにモニタ+キーボード+マウスを接続することは難しいです。KVM 切り替えスイッチでも良いのですが多数に対応すると高価です。それでこう言う機能があるのでしょう。
まあ、Linux でもXのディスプレイ指定で同じことが出来ますが、これをクラスタの管理ソフトの中に統合しているところが便利だと思います。

Windows-CCS始動

2006年05月07日 07時14分07秒 | WindowsHPC
これまで擬似徹夜が続いていると言ってましたが、これは Windows による数値解析用のクラスタソフトウエアのベータ版を知って、これに取り組んでいるからなのです。ちなみに、写真はこのごろ悪戦苦闘しているシステムです。寄せ集めなのですが、64bit対応マシンを5台揃えて、実験をしています。やっと、目処がついたので、情報発信をしてゆこうと思います。
これは、マイクロソフトが提供している HPC: High Performance Computing を実現するために、多数のPCを統合するクラスタソフトウエアを CCS: Windows Compute Cluster Server として公開しているものなのです。現在ベータ版のテストが行われています。
マイクロソフトのCCSの情報はこちら
それで、まだベータ段階のシステムですが、完成度も高く、将来大きな展開が期待できるので、コミュニティができればと思い、以下のようなページも用意しました。興味のある方は、ご覧ください。
DALABのCCSの情報交換はこちら
柴田のスタンスとしては、OS はあくまで Platform であって、目的を実現する手段だと思います。ですので、その場で最も使いやすく効果的で有用なものであれば、様々な OS を自由に選択することが出来ると思っています。要は、適材適所と言ったところだと思います。
実は、2年前に「岐阜グリッドプロジェクト」に取り組み、Windows ベースの大規模グリッドシステム構築に挑戦しました。結果的には、1000台の PC を統合しましたが、このとき手作りのミドルウエアの限界を知りました。岐阜グリッドでは、先端的な仕組みや工夫が多く、有意義な取り組みだと思います。しかし、何かもっと高機能で安定して容易に利用できる「運用レベルの問題解決ツールとしてのグリッド」を求めていました。今回の CCS は、この夢を叶えてくれる可能性を持ったシステムだと、大きな期待を持っています。