2017-04-19 12 views
0

私のラボでは、シミュレーションプログラムに複数のサーバが使用されていますが、独立して動作しています。 MPICHを使ってコミュニケーションをとるためにそれらを組み合わせてクラスタにしたいと思っています。しかし、これらのサーバーには異なるOSがあるという問題があります。それらのうちのいくつかはRedhatであり、そのうちのいくつかはUbuntuです。 MPICHのホームページでは、これらの2つの異なるオペレーティングシステムのダウンロードサイトが異なることが分かりました。異なるオペレーティングシステムを持つクラスタをセットアップすることは可能でしょうか?そしてそれをどうやってやるの?異なるOSを実行するサーバで高性能コンピューティングクラスタを設定する

これらのサーバーを再インストールしたくない理由は、あまりにも多くのデータがあり、この質問をするときに使用されているということです。

答えて

1

これが適切に動作するのは実現できません。さまざまなディストリビューションに手動でインストールされた同じバージョンのMPI実装を入手できるはずです。彼らは適切にお互いに話すかもしれません。しかし、動的ライブラリを使用して実際のアプリケーションを実行しようとするとすぐに、共有ライブラリ、glibcなどのさまざまなバージョンで問題が発生します。静的にすべてをリンクしたり、異なるディストリビューションごとに異なるバイナリを作成したりしたくなるでしょう。一日の終わりに、あなたは別の問題を追いかけるだけです。

サイドノードとして、一部のサーバーをMPIと組み合わせても、ハイパフォーマンスコンピューティングクラスタは作成されません。例えば、HPCシステムは高度な高性能相互接続と高性能パラレルファイルシステムを備えています。

また、典型的なHPCアプリケーションは異種ハードウェア上で動作しないことにも注意してください(各ノードには異なるCPU /メモリ構成があります)。

+0

私のプログラムを別々のループに分割し、各ループを別々に実行できる場合はどうすればよいですか?私は初期値を異なるスレーブノードに渡すだけでよく、各ノードは他の通信を必要としません。最終的な結果は、各スレーブノードに書き込むことができます。このフレームは使えますか? – zmwang

+0

問題は作業の分解ではなく、インフラストラクチャであり、非常に苦痛を伴う試みです。異種のソフトおよびハードウェア環境により適した他の分散コンピューティングフレームワークがあります。 – Zulan

+0

あなたはこの異種環境について考えていますか? – zmwang

関連する問題