問題タブ [slurm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hpc - 指定されたノード数で slurm 配列ジョブを開始する
slurm バージョン 14.03.0 を使用して、HPC で 168 個のシーケンス ファイルを整列させようとしています。他の人のためにいくつかのノードを開いたままにしておくために、一度に最大 9 つの計算ノードを使用することしか許可されていません。
ファイル名を変更して、配列関数を sbatch で使用できるようにしました。シーケンス ファイルは次のようになります: Sequence1.fastq.gz、Sequence2.fastq.gz、… Sequence168.fastq.gz
一度に 9 個の 168 個のファイルすべてを実行するように指示する方法がわかりません。168 個のファイルすべてを実行するようにできますが、使用可能なすべてのノードを使用するため、数日間実行されるため、問題が発生します。
「--array=1-168%9」を使用して一度に実行する数を指定できる場所を見つけましたが、これはクラスターにあるよりも新しいバージョンの slurm で実装されました。この機能を取得する別の方法はありますか? 私は物事を試し、数週間髪を抜いてきました.
私が実行しようとしている方法は次のとおりです。
ありがとう!マット
slurm - スラムで --array パラメータを使用して並列ジョブを実行する
スラームのシステムを学ぼうとしているのですが、理解に苦戦しています。sbatch で --array パラメーターを使用して、一連のジョブを並行して実行しようとしています。ジョブを複数のノードに分散させたいのですが、タイムスタンプを考えると、それらはすべて同じノードで実行されているようです。
私が使用しているsbatchコマンド:
実行中の test.sh ファイル:
出力ファイル:
bash - SLURM ジョブをサブミットするスクリプトを Bash から Perl に変換するにはどうすればよいですか?
クラスター上のSLURMにジョブを送信するための次の Bash スクリプトがあります。
#SBATCH
行は SLURM コマンドです。
#SBATCH -A 1234
はプロジェクト番号 (1234)#SBATCH -t 2-00:00
仕事の時間です#SBATCH -n 24
はコア数
module add xxx
環境モジュール をロードしますxxx
(この場合、私は実際に を使用していますmodule add gaussian
。ここgaussian
で、 は計算量子化学プログラムです)。
srun
ジョブを起動する SLURM コマンドです。resp.com
ガウス座標と原子座標のコマンドが含まれています。
Bash スクリプトを次の Perl スクリプトに変換しようとしましたが、うまくいきませんでした。Perlでこれを行うにはどうすればよいですか?
linux - SLURM を使用したマルチステージ ジョブの実行
私はSLURMが初めてです。私の問題は、ジョブが SLURM によって管理されるクラスターで実行する必要があるマルチステージ ジョブがあることです。具体的には、次のジョブをスケジュールしたいと考えています。
- N 個のノードを取得し、
- それらすべてにソフトウェアをインストールします
- (すべてのノードでインストールが正常に終了すると) ノードにデータベース インスタンスが作成されます。
- データベースをロードします
- (ロードが正常に完了すると)ベンチマークの目的で、一連のクエリを実行します
- データベースを削除し、ノードを返します
各ステップは、個別の bash スクリプトを使用して実行できます。スクリプトの実行とステージ間の遷移は、マスター ノードによって調整されます。
私の問題は、SLURM を使用してノードを割り当て、各ノードで単一のコマンドまたはスクリプト (各ノードでスタンドアロン ジョブとして実行される) を呼び出す方法を知っていることです。しかし、各ノードでコマンドが実行される (または呼び出されたスクリプトが終了する) とすぐに、ノードは空きリソースのプールに戻り、ジョブのために割り当てられたノード キューを残します。ただし、上記の使用例にはいくつかのステージ/スクリプトが含まれます。そしてそれらの間の調整が必要です。
SLURM を使用して、このようなユース ケースの一連のスクリプトを設計/実行する正しい方法は何だろうと思っています。提案や例は非常に役に立ち、高く評価されます。
amazon-web-services - slurmctld に、ノードがアイドル状態であると「考え」させます。「SuspendProgram」の後のように、実際にはノードは起動時にダウンしています。
実行ノードをオフにして slurmctld デーモンを開始する方法はありますが、これらのノードのサスペンドを要求したことを信じさせる方法はありますか (たとえば、SuspendProgramを呼び出した場合など)。
仮想クラスターをセットアップしているので、SuspendProgramとResumeProgramは仮想マシンを終了してインスタンス化します。このようにして、私はマスターノードのみの電源を入れることができ、マスターノードは要求された場合にのみノードを起動しました。
問題は、私が slurmctld を開始するとき、ノードが起動し、ノードが終了したことを伝え、ノードがシャットダウンするのを待つ必要があることです。「想定される」すべてのインスタンスの電源をオンにする必要があるため、不要なコストが追加されます。
slurmctld を実行しているマスターをインスタンス化し、ノードがアイドル状態であると彼に思わせたいと思います ~ SuspendProgramの後のように。
乾杯
cluster-computing - slurm のジョブ配列指定が無効です
slurm でおもちゃの配列ジョブを送信しています。私のコマンドラインは
j1 はスクリプトです。
これを送信すると、エラーが発生します。
配列の指定がなくても、同じジョブが正常に機能します。
scala - Slur 上で Spark を実行する
Slurm クラスター上で Spark を実行するにはどうすればよいですか? プログラム内で SparkContext を定義し、使用するノードの数を設定することに非常に興味がありますが、そのための bash スクリプトを作成する必要がある場合でも、それは問題ありません。