
Ubuntu日本語フォーラム

ログインしていません。
サーバでなく、端末から使っていない端末をつないでグリッドみたいにCPUを使いたいと思っています。
XPの頃はリモートで他の端末を操作して計算していましたが、この場合では端末間でデータを共有する手間があり、煩雑です。できればCPUだけ共有してマルチタスクの処理速度をあげたいです。
そんな都合の良い方法はあるのでしょうか?
オフライン
こんな感じのことを
http://www.terrabyte.co.jp/TI_Cluster/Cluster.htm
やりたいのかな?
オフライン
コメントありがとうございます。調べようにもキーワードが思いつかないので、困っていました。イメージ通りです。
ただ4台程度の(この場合、台数は問題じゃないですね)PCをつないで計算を高速化したいなと思っています。
有休PCって結構あると思うのですが、良いマニュアル&ソフトをご存知ないでしょうか?
オフライン
Sun Grid EngineならUbuntuでも動作するようです。
オープンソースではありませんが、無償で利用できます。
個人的にも興味があるので、成功の暁には動作報告もよろしくお願いします:-)
オフライン
ええと、お望みのものを正確に把握できていないのですが、もしも
・各マシン間で何の準備もせず(clustering softwareをインストールするだけで)、
データ共有を勝手にやってくれて、CPUパワーだけを割り当てたい。
というのがお望みでしたら、既存の技術には実装例がありません。
現状のclustering softwareは、
・全てのノード間で演算に必要なデータ類は共有されている。もしくは、
共有する仕組みを管理者が作り込んでいるか、jobを投げる人がjob submission時に
配慮して共有されるようにしている。
・演算のためのプログラムもやっぱり共有されているか以下略。
ことを前提にしています。
Sun Grid Engine, Condor, OpenPBSなどが無償で利用できる実装として存在しますが、
このあたりを含めて抽象化しているミドルウェアはないはずです。
これらを適切に動作するためには、構成ノード間の均質性を自分で構築する必要が
あります。要するに全部のノードに入っているアプリケーションを揃えて、しかも
演算に必要なデータはどこか共通して見える場所に置かなくてはいけません。
要するに、「リモートデスクトップで接続して操作」の部分はやってくれますが、
「データを共有する手間があり煩雑」な部分は何もしてくれないか、雀の涙程度の
助力しかしてくれません。
で、データを共有する作業が面倒なのであれば、単にNFSサーバなりを立ててしまえば
良いのではないでしょうか?
どんな計算をされたいのかを書いて頂くと、もう少しよさげなアイデアがある
かもしれません。
オフライン
orz.inc様ありがとうございます。
googleで"Sun Grid Engine", "ubuntu"すると
http://d.hatena.ne.jp/moriyoshi/20071213
こんな人がいることを知りました。自分でもできるか不安大ですが。
hito様ありがとうございます。
おそらく、hito様のご指摘通りのことをしたいと思っていました。
今、判別分析で条件をいくつかふっています(4x5x100程度)。これをbootsrapすると、10回程度で5日間ほどかかります。組み合わせが爆発しつつあります。
この状態で、他の仕事を投げるとパフォーマンスが落ちるので、並列処理したいと思った次第です。
NFSサーバをよくわかっていないのですが、自分以外の端末は全てWinです。ただ、ネットワークにはLinuxサーバ(RedHat)がいます(ただ、古くので端末よりも遅い)。でも、有休PCをLinuxにして、つなげば良いかもしれませんね。調べてみます。
簡単に他のCPUを間借りするのは結構大変なんですね。実装例とかあれば教えてください。
オフライン
お使いの演算プログラムによりますが、もしもそれが "MPI" というものに
対応していれば、既存のPCに同じようにOSをセットアップしておき、実行環境を
整えるとお望みのことができるかもしれません。
また、多くの端末がWindowsだと共有ストレージ領域を作るのも大変そうです。
(WindowsXP ProfessionalやVista Ultimate/Enterpriseであれば、SFU/SUAを
インストールすることでNFS対応にできますが、かえってややこしいことに
なりそうです)
オフライン