web-dev-qa-db-ja.com

HPCクラスター(SLURM):安全で安定したシステムをセットアップするための推奨される方法

1つの制御ノードと34の計算ノードを含むSLURM駆動のHPCクラスターを使用していますが、現在のシステムはあまり安定していないため、このようなクラスターを次のように構築する方法に関するガイドラインまたはベストプラクティスを探しています。それはより安定して安全になります。そして明確にするために、私はリソース管理やおそらく追加のツールについての詳細な回答を探しているのではなく、非常に基本的な設定についてのアドバイスを探しています(以下の「質問」を参照)。

私の現在の設定

  • 1制御ノード

    このマシンには/ usr/local/slurmにslurmがインストールされており、slurmctldデーモンを実行します。完全なslurmディレクトリ(すべての実行可能ファイルとslurm.confを含む)がエクスポートされます。

  • 34計算ノード

    これらのマシンは、エクスポートされたslurmディレクトリを制御ノードから/ usr/local/slurmにマウントし、slurmdデーモンを実行します。

バックアップ制御ノードを使用していません。

制御ノードが失われた場合、現在実行中のジョブが存続するかどうかは常に運の問題のように思われるので、より安定したセットアップを作成する方法を探しています。

現在の設定で発生する可能性のある問題

1)共有slurmディレクトリ。これが実際に良いまたは悪い習慣である場合、ネット上で何も見つかりませんでしたが、slurmconfig以降ファイルはすべてのマシンで同じである必要があります。完全なslurmインストールを共有したほうがよいと思いました。ただし、もちろん、計算ノードが失われると、すべてのファイルも使用できなくなります。

2)バックアップ制御ノードがありません。これには、現在の状態を保存できる共有NFSディレクトリが必要です。問題は、このディレクトリをどこに配置する必要があるかということです。もちろん、それを制御ノードに配置することは意味がありませんが、バックアップ制御ノードに配置する必要がありますか?それともまったく別のマシンで?

質問

では、HPCクラスターを構築するために従うべきガイドラインはありますか?質問は、どのような種類のノードが関係しているか、それらの仕事は何か、NFSを介してどのような種類のデータを共有する必要があるか、それらの共有ディレクトリはどこにあるべきかということです。また、正しい方向を示すあらゆる種類の文献やチュートリアルについても感謝します。

2
basilikum

SLURMに触れてからしばらく経ちますので、以下を一粒の塩でお召し上がりください。また、クラスターの設計はワークロードによって決定されます。通常、ヘッドノードといくつかの計算ノードから始めて、そこから構築します。 Rocksのようなパッケージから始めるのが良いでしょう。

共有ディレクトリが問題になっていることがわかります。ワークロードによっては、すでにNFSを通過するトラフィックが多い場合があるため、SLURMをローカルにインストールします。 slurm構成のコピーをNFSエクスポートボリュームで使用できるようにし、「fornodes」スクリプトを使用してその場でコピーするか、スクリプト化されたscpを使用できます。 slurm構成に多くの変更を加えている場合は、スクリプトにslurmdrestartを追加することもできます。

バックアップ制御ノードに関しては、私はそれについて心配しません。ヘッドノードはおそらく単一障害点であるため、それを失うと、すでにジョブに問題が発生します。また、SLURMアカウンティングが有効になっている場合、バックアップメカニズムがどのように機能するかはわかりません。これは、通常、MySQLなどのデータベースを使用しているためです。

エクスポートの場合、通常は/ homeディレクトリをエクスポートして/ optを小さなクラスターにエクスポートします。データのニーズに応じて、NFS負荷を分散する追加のストレージを備えた別のストレージノードを検討できます。安定性に問題があるとおっしゃっていたので、ノードの負荷、メモリ使用率、ネットワークスループット、その他の値を監視して一連のグラフに表示する、Gangliaのようなパッケージの使用を検討してください。また、計算ノードで実行されているtopなどのコマンドラインツールを使用して、かなりのことを学ぶことができます。また、ジョブのスケーリングをテストすることもできます。ジョブがノード(MPI?)にまたがるときにひどく実行される場合は、Infinibandや10Gbイーサネットなどのより高速で低遅延の相互接続が必要になる場合があります。

SLURMで頑張ってください。転職する前に使用するのが好きでしたが、Torque/MauiやSun/Oracle Grid Engineほど人気が​​ないため、奇妙な質問に対する答えを見つけるのは常に困難でした。

1
chuck