• ベストアンサー

win XP pro 2台でのクラスタ化について

win XP pro 2台でのクラスタ化について出来ればGUIで実施したいです。 ネットを調べたら、C++でプログラムを書けば実現可能と書いてありました。 当方C++の開発経験がありません。 プログラムもVBAとかC言語とかをちょっと触ったことがある程度です。 クラスタ化を割と簡単に実現できる方法がありましたら、教えて頂けないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

漠然とした質問なので答えにくいのですが、 一番お手軽なのは 1) それぞれのパソコンで同じソフトまたは違うソフトが別々に動いていて、終了した方から順番に次の処理をしていく。 ジョブ管理ソフトで自動的にやってくれますので、これだけのことでもかなり便利です。プログラムを作り直す必要もありません。 XPでどのようなものが動くのかは分かりませんが、例えばHinemosというオープンソースがあるようです。 2) 1台のパソコンではとても遅いので、複数台のパソコンに1つのジョブを分散させて処理をする こちらの方が本格的なクラスタ化です。プログラムを並列化できるように作らないと駄目です。言語はC++だけではなく、Cやfortranでできますし、基本的には何でも良いです。openMPIとかで検索してみてください。 3) 最近のパソコンはCPUのコアが複数ありますので、クラスタ化しなくても複数のコアを使えばそれなりの速度がでます。その場合にはコンパイラの自動並列化機能やopenMP、pthreadなどの機能を使いますが、並列化できるようにプログラムを意識的に作る必要があります。上の2)よりは敷居が低いので挑戦するにはこちらからどうそ。 10台ほどでクラスタ化していますが、1)と3)の併用で動かすことがほとんどです。2)にも対応できるようになっていますが、最近ではこの機能はほとんど使っていません。 時々Rubyでmulti threadで動かすことがあります。3)の使い方です。実行速度が速いCなどで書けば速度面では解消できるはずなのですが、開発時間+実行時間を考えるとRubyの方が圧倒的に速いのでそのようにしています。2)のようなこともできるようですが、Rubyではまだやったことはありません。

sidewinder_12
質問者

お礼

回答ありがとうございます。 動かしたいものは既にあるCADでソース改変はできないです。 2) が一番近いと思いますので、openMPを調べようと思います。

その他の回答 (1)

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.2

>当方C++の開発経験がありません。 クラスタ化は先にそれができてから考える話ですね。 Windowsサーバ・クラスタという物はありますが、普通のWindowsはクラスタ化を考えて設計されていないので、Linuxで構築するのが一般的ですね。 C++でできると言ってもシステムを自主開発するか、HarmonyCalcなどの市販品のミドルウェアを使うのが近道だと思います。

参考URL:
http://www.imageom.co.jp/HarmonyCalc/Features.HTML
sidewinder_12
質問者

お礼

回答ありがとうございます。 Linux環境は利用者から拒否されました(TT) HarmonyCalcについては調べたいと思います。 大変ありがとうございました。