LAN 内の複数のサーバーで Slurm などの HPC マネージャーを使用する

LAN 内の複数のサーバーで Slurm などの HPC マネージャーを使用する

私は 1Gb LAN で接続されたサーバーのグループにアクセスでき、各サーバーには 40 以上のコアと Ubuntu OS があります。それらはすべて共通の NAS を持っています。私はそれらのいくつかに SLURM をインストールし、各サーバーが制御ノードと計算ノードの両方になるように構成し、サーバーは接続されていません。必要な分析はバイオインフォマティクスであり、CPU に依存しますが、ファイルは GB 単位です。私の質問は次のとおりです。

  1. これはコンピューティング クラスターではありませんか? これらのサーバーを 1 つのクラスターにリンクするには何が必要ですか?
  2. この構成で Slurm などの HPC マネージャーを使用するのは有効な方法でしょうか? データはどのように共有されるのでしょうか? 共通の NAS はありますが、NAS 上で直接計算を実行すると、ローカル ファイルに比べて非常に遅くなります。

私の理想的な解決策は、ファイルをローカル マシンにプルし (理想的にはファイルの場所に関係なく、NAS を共通ハブにすることができます)、計算を実行し、出力ファイルを返すことです。これは無理な要求でしょうか、それとも解決済みの問題でしょうか?

前もって感謝します!

答え1

はい、それはコンピューティング クラスターです。同じワークロードを担当する複数のコンピューティング ノードという広い定義があります。コンピューティング ワーカーを実行する複数のホストを持つ大規模なビルド ファームが該当します。TOP500 リストの巨大なシステムも同様です。

さらに重要なのは、複数のノードを管理する slurm の機能を活用することです。そうしないと、1 つのコントローラーが自分自身だけを管理するのはかなり複雑になり、よりシンプルなシステムに比べて機能が多くありません。すべてのノードを追加し、パーティションに分割します。

複数のノードを要求するジョブでは、MPI の場合と同様に、プログラムが複数のノードに対応している必要があります。通常の対応していないプログラムの場合は、要求を 1 つのノードに留めるだけです。

ストレージでは、ファイルをノードに送るための何かを設計する必要があります。通常、オプションには次のものがあります。

  • 各ノードのローカル ストレージにファイルをコピーします。(slurm sbcast)
  • 多数のノードのディスクにまたがる分散ストレージをストライプ化します。(Lustre、Ceph)
  • 各ノードにマウントされた高性能ファイル共有。(NFS を提供するオールフラッシュ アレイ)

関連情報