私はMatlab、C、その他の科学コンピューティングのためのプログラミング言語を実行する分散コンピューティングシステムを構築したいと思います。これで、ネットワークサーバーまたはPCにLion Mac OSがインストールされている古いMacコンピュータが複数あります。また、Linuxをインストールできる最新の16-Xeonコアシステムもあります。新しいコンピュータにどのLinuxディストリビューションを使用するかはまだ決定していませんが、次の要因を考慮する必要があります。利用可能なLinuxディストリビューション、利用可能な分散コンピューティングソフトウェア、データバックアップ、およびキュー割り当ての管理方法を決定するのに役立ちます。
MacまたはLinuxオペレーティングシステムを使用するすべてのコンピュータは、並列または分散コンピューティング用のクラスタシステムとして使用できます。具体的には、複数のユーザーとスレッドを持つキュー内のコンピュータでプログラムを実行しようとしています。すべてのマシンが非対称の場合は、最も強力なマシンの速度を遅くしたくありません。
新しいシステムをヘッドノードとして使用するのが最善ですが、少なくともヘッドノードがダウンしている場合は、セカンダリシステムもヘッドノードとして機能できるはずです。
バックアッププロセスは設定が簡単でリモートで制御できる必要があります。これは最初の2つの要素ほど重要ではありません。少なくとも重要なデータは手動でバックアップできます。
Googleを検索しましたが、私の状況に適した解決策が見つかりませんでした。ご提案ありがとうございます!
答え1
いくつかのHPCクラスターを構築した結果、あなたがやろうとしていることは、クラスターのノード間の互換性の問題によって大きな問題を引き起こすと言うことができます。これはおそらくHPCクラスタの理由が見つからない理由です。 Googleを通じて直接回答してください。
これらの互換性の問題には、ソフトウェアバージョン、システムライブラリ、数値および計算ライブラリ、CおよびFortranなどのコンパイラ(および対応するライブラリ)、PATHおよびLD_LIBRARY_PATHなどの変数、シェルユーティリティのGNUバージョンと非GNUバージョンの違い、CUDAの可能性などが含まれます。 GPGPUコンピューティング(またはそれに対応するもの)のためのOPENCLとの比較。
これらの問題の多くは、2つの異なるLinuxディストリビューションを使用するだけで(またはクラスタ内の異なるノードで同じディストリビューションの異なるバージョンを使用している場合でも)発生する可能性があります。
2 つのクラスタを設定する方が簡単です。 1つは単一ノード(Linuxを実行しているXeon)、もう1つは複数のノード(OS X Lionを実行している古いMac)です。
しかし、これがオプションでない場合に考慮すべき最も重要なのは、Linuxディストリビューションではなくスケジューラです。
個人的に私はあなたが望むものを設定したくありませんが、必要ならば使用を考慮しません。PBSまたはトルク、私は使用します泥。 Slurmは、どのアプリケーションがどのノードで実行できるかをより細かく制御できます。オラクルグリッドエンジンあなたが望むことをするもう一つの選択肢ですが、それが存在するという事実に言及する以上のことをするのに十分な慣れていません。