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

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

「はじめてのWindowsHPCシステム」10月下旬発行

2010年10月15日 12時45分32秒 | WindowsHPC
ついに初著書となる「はじめてのWindowsHPCシステム」が、工学社から10月下旬に出版されます。今年の夏休みは全力で図書作成に打ち込みました。慣れない図書原稿なのですが、それなりに貴重な情報だと思います。
これまで取り組んできたWindowsHPCにOpenCAEが合体して、システムからアプリまで揃えた研究開発が出来るようになってきました。ここまで来るのに15年位かかっています。1つのことを成し遂げるのには時間が必要ですね。

WindowsHPCでのベンチマーク

2009年11月25日 05時35分16秒 | WindowsHPC
Windows HPC ServerはそこはWindowsなのでツールなども揃っています。例えばベンチーマークで、スパコンランキングTOP500でも使われるLinpackでは、様々なパラメータを調整して、最高性能を引き出す検証が必要になります。この手間は結構大変なのですが、Lizardと言うツールは調整を自動的に行い、その結果を随時グラフ表示すると言うWindowsならではツールです。Lizardはここから入手できます。
さて検証用のWindowsHPCクラスタで、早速試してみました。最初にお断りするのは、このクラスタの目的は構築手法の検証であり、性能を追求するものではなく、ネットワークが100Metherだったりします。ですのでノード間の通信には期待できないです。
・AMD Turion64 X2 DualCore 1.6GHz + 1GB Memory:2台 ⇒ 6.168GFLOPS
・Intel Atom 230 (HT) 1.6GHz + 1GB memory:2台 ⇒ 1.032GFLOPS
何と6倍の計算速度になり、結構差が出るものです。数値計算用途ではないAtomですから、これが妥当な結果なのかもしれません。クラスタは苦労して作っても、下手をするとハードの性能向上に追い抜かれてしまい、場所や電力を考えると割に合わない場合もあります。
そこで今の注目は、GPGPUクラスタなのかも知れません。先に紹介したWindosHPCの解説書でも取り上げられていました。

初めてのWindowsHPC

2009年11月24日 09時08分07秒 | WindowsHPC
これまでに取り組んだWindows HPC Server 2008の構築の方法を、簡単な構成にまとめて、誰でもが取り組めるような資料を作りました。「初めてのWindowsHPC」にあります。興味のある方は、ご覧いただければ幸いです。
今回は、ネットワークをルーターで区切ることで、組織のネットワークに依存せずに、気軽に構築が検証できる構成にしてあります。計算ノードの自動展開は使いませんが、数台の検証用ならば、この方法も手軽だと思います。

徹底解説Windows HPC Server 2008 クラスタ構築と実践テクニック

2009年11月24日 09時00分36秒 | WindowsHPC
以前から、Windowsベースのクラスタの構築を研究していて、Windows Compute Cluster Server 2003を使っていましたが、この最新版のバージョン2に当たるWindows HPC Server 2008に取り組み始めました。以前は、日本語に資料が少なかったので、自力で何とか作って公開していたのですが、今回は日本語の図書が出版されました。
内容は、これ1冊でWindows HPC Serverのクラスタ構築を全て網羅する素晴らしいものです。計算ノードの自動展開から、並列アプリケーションの活用もあって、とても有用な情報が満載です。「徹底解説Windows HPC Server 2008」に詳細があります。

高専連携グリッド始動

2008年03月26日 07時01分31秒 | WindowsHPC
実は、ブログを複数持っていて、使い分けがうまく出来なかったのですが。このブログは趣旨に合わせて研究室の情報発信専用にしようと思います。
復活第1弾として、高専連携グリッドの始動を紹介します。具体的な内容は、追ってご紹介しますが、目標としては非常に大きなプロジェクトです。
高専連携グリッド始動のプレスリリースの紹介
技術的にも社会的にも、大きな意義のあるのプロジェクトだと信じています。しかし、その分だけ大変な努力を必要とすることも事実です。オプティミズムの立場を取りながら、前へ進んで行きたいと思います。

Windows Compute Cluster Server 日本語版、発表

2006年08月26日 20時23分52秒 | WindowsHPC
これまでせっせと情報発信をしてきた、Microsoft Windows Compute Cluster Serverですが、
ついに、日本語版提供の発表がありました。
これまでは、先端的な研究者の特別なシステムであったグリッドやクラスタですが、Windows ベースになることにより、研究対象としてのグリッドやクラスタではなく、問題解決手段としての利用が増加することと思います。
日本語版の製品発表がなされた今後は、様々な目的を持つ多くのユーザーのための HPC システムとして、広く利用されてゆくと思います。
これまで、技術評価版を使って、構築方法などを情報発信してきましたが、このサイトの google 検索ランキングが、製品発表会の後、うなぎのぼりで上がってきました。興味がありましたら、下記のサイトですので、ご覧になってください。
マイクロソフトの Windows Compute Cluster Server についての情報

アプリケーションが大切

2006年06月30日 07時45分09秒 | WindowsHPC
グリッドの研究をしていて、情報工学の専門家の方は、如何に高度で複雑な汎用システムを作るかに苦心されているようですが、社会ではそこまで必要としていない場合も、多いです。特に、グリッドを手段と考えている利用者に取っては、グリッドを気にしなくて良い状態が理想なわけで、専門家の方もそこを目指してもらえると、助かります。
それで、やっぱり大事なのがアプリケーションで、「コンピュータ、ソフト無ければ、ただの箱」も「グリッドも、アプリ無ければ、ただの箱」なわけで、アプリケーションは大切です。でも情報工学の専門家は、他の分野の問題解決の専門家ではないので、そこのところは、境界領域に居る柴田らが頑張るところなのですが、結構苦心しています。
手段と目的、基礎と応用、対立しそうなこれらの関係が上手く結びついてこそ、大きな成果が生まれるのではないかと思っています。境界領域は、とかくどちらからも理解されず、肩身の狭い思いをするのですが、活動の本質的な意義を信じて、努力してゆこうと思います。ハイ。

Windows-CCSをどう使う?

2006年06月28日 05時21分56秒 | WindowsHPC
Windows Compute Cluster Server に取り組んで、これで2ヶ月弱になります。まあ、一応動かせるようになってきて、これまで進めてきた Sun Grid Engine などと同じように、HPC システムとして利用できるようになって来ました。
さて、手法が出来たわけですから、目的を考えないといけません。目的があっての手段のはずですが、柴田の場合には、往々にしてこれが逆転して、手段が目的になって後付の目的になることが多いです。
それで、あえて Windows で動くクラスタなのですから、Windows らしい利用方法を考えたいと思っています。まあ、思いつくのはオフィスソフトとの連携ですが、これはまあ皆やると思うのですね。
もっと突っ込んだ、「クラスタだからこそ出来た!」と言うチャレンジングな課題に挑戦したいと思っています。いま、色々とネタはあるのですが、上手くいったら紹介しますね。
あと、DALABサーバーで、Windows Compute Cluster Server に関する情報をまとめています。最近、少し整理して、内容も充実してきていると思います。是非、参考にしてください。
マイクロソフトの Windows Compute Cluster Server についての情報はこちらです。

64bitは早いね

2006年06月27日 07時23分17秒 | WindowsHPC
Windows Compute Cluster Server の研究を続けています。このシステムは、64bit-CPU を前提に作られていて、プラットホーム自体は 64bit 専用なのですが、アプリケーションは 32bit も動作します。
これまでは、何も考えず 32bit の姫野ベンチマークプログラムなどを用いて、計算速度を検証してきましたが、今回 64bit との比較検討ができましたので、報告します。

測定の方法は、姫野ベンチのMPIによる並列版のC言語プログラムで、問題サイズはSで、分割を1・2・4の3種を試しました。コンパイルの方法は、前と同じ cl /O2 himenoBMTxps.c /ling msmpi.lib です。
32bit と 64bit との違いは、コンパイルに用いるライブラリと、コンパイラの設定で、以下のような違いになります。
32bit-EXE:Visual Studio 2005 コマンドプロンプト:Lib/i386/msmpi.lib を利用
64bit-EXE:Visual Studio 2005 x64 Win64 コマンドプロンプト:Lib/AMD64/msmpi.lib を利用

利用する Compute Host は、以下の4台です。
A1: CPU: AMD Athlon64 3000+ RAM: 2048MB A2: CPU: AMD Athlon64 3000+ RAM: 2048MB
C1: CPU: Intel Celeron 2.53GHz RAM: 512MB C2: CPU: Intel Celeron 2.53GHz RAM: 512MB
 1台:Aの平均 880.5(32) → 970.6(64) = 10%の向上
 1台:Cの平均 611.0(32) → 793.2(64) = 30&の向上
 2台:Aの平均 1348.2(32) → 1437.7(64) = 7%の向上
 2台:Cの平均 1000.8(32) → 1202.8(64) = 20%の向上
 4台: A+C平均 1332.5(32) → 1561.7(64) = 17%の向上
と、言うことで、64bit の効果は、非常に大きいものがあります。特に、Celeron の方が著しい性能向上です。

WindowsCCSの速さ

2006年06月15日 08時22分53秒 | WindowsHPC
先の記事で、CCS と Linux との MPI 版姫野ベンチマークプログラムでの比較を行った。もう少し詳細に見ていくと、色々な疑問がある。
まず、計算機の速さを何で測定するか?今回は姫野ベンチだが、このクラスタの目的は姫野ベンチを実行することではなくて、自分の問題解決のプログラムを速く動作させることなので、このアプリケーションが特定されている必要がある。まあ、これはクラスタを持つ人それぞれに目的はあると思うので、それを考えれば良いだろう。
次に比べるシステムにおいて、どの条件が変わることで速度が変わったかを分析する場合には、ある特定の条件だけ変化させ他の条件は同一でないと、何の影響により速度が変わっているのかが分からない。これはそのとおりなのだが、なかなかそう簡単には行かない。
例えば今回の場合には、姫野ベンチの MFLOPS の値を比較しているが、この実行形式を作るうえで、コンパイラも違うし、MPI のライブラリも違う、なので、CCS と Linux とのOSの比較をしているのか、コンパイラやライブラリの比較をしているのか、実は分からない。OS・ライブラリ・コンパイラなどが絡んでアプリケーションは作られ動くので、この3つの条件で1つだけ異なる条件を作ることは、異なるOSに共通のライブラリやコンパイラが動作する必要があるので、今のところ Intel のコンパイラがこの条件に満足するので、検討をしてみたいと思っている。
でも、今回の結果は、まあ単純に手に入れられる道具を使ってみると、どうだったかと言う、印象のレベルの比較検討になっている。速度の絶対値としては、Windows の方が良いがこれは、VisualStudio の商用コンパイラの性能が大きく出ていると思われる。逆に、1台から2台に増やしたときのスケールの状態は Linux の方がより線形に近いので台数が多くなったときには、どうなるか分からない。
と言うことで、現在の課題は。
1:コンパイラとライブラリを Intel のシステムに統一して、OSの比較検討をしてみる
2:もう少し Compute Node の台数を増やして、16台ぐらいの構成で比較検討してみる