web-dev-qa-db-ja.com

複数のサーバーがすべてのハードウェアを備えた単一のサーバーのように機能しますか?

今では、パワーコンピューティング指向のhpc用に10台のサーバーがあります。ユーザーはqmakeを使用していくつかのプロセスを起動する必要があります。ユーザーはubuntu9.10での作業に慣れており、リポジトリのソフトウェアを使用することができます。

10台のサーバーすべて(pxe rocks)にubuntu9.10をデプロイしました。

ここまでで、すべてのサーバーに対して同じプロセスを起動できるparallel-sshおよびcluster-sshを使用します。このツールを使用すると、サーバーは独立したままですが、同じソフトウェアと同じ起動コマンドが使用されます。

次のステップに進み、すべてのサーバーを単一のサーバーとして、他の9からのすべてのリソースを、あたかもそのリソースであるかのように表示します。

この違いは、処理する時間と、起動するコマンドを設計する時間に大きく影響します。

使用するソフトウェアに関するアドバイスは非常に役立ちますか?

ありがとう

12
Marc Riera

あなたが話していることは Single System Image(SSI) と呼ばれます。 Linux向けのこのスキームの最も一般的なバリアントは [〜#〜] mosix [〜#〜] によって実装されます。システム管理の点でいくつかの利点がありますが、一般的にプロセスは、何らかの形式の [〜#〜] mpi [〜#〜] を使用せずに複数のノードにまたがることはできません。基本的に、gridengineで実行されている「標準」クラスターを使用するか、システムを単一のイメージに形成するかにかかわらず、複数のノードにまたがるようにすべてのソフトウェアを変更する必要があります。

4
Kamil Kisiel

最後に、Sun Grid Engineを使用しました。

私は非公開のwikiに文書化し、ブログにカットアンドペーストしました。翻訳しなくても便利だと思います。 ;)

ブログエントリ: http://suportrecerca.barcelonamedia.org/blog/?p=24

誰かがwikiコードが必要な場合は、ここで質問してください。

ありがとう。

2
Marc Riera

クラスターはパフォーマンスの点で単一のマシンではなく、fs /メモリーの局所性はパフォーマンスにとって重要です。

一般的ではありませんが、アプリケーションレベルで実行する方がリソース効率が高くなります。 qmakeの例は、distccを設定することで大幅に高速化できます。

2
Tobu

私はこれまで実装したことがありませんが、 beowulf cluster があなたがやろうとしていることに対してうまくいくように思えます。私は過去にこれについて多くのことを読みましたが、いくつかのより単純なプロセスでは、達成しようとしていることに応じて、再コーディングはほとんど必要ありません。

1
einstiien