このトピックでは、コンソール、コマンドラインインターフェイス (CLI)、および E-HPC ポータルを使用してジョブを投入する方法について説明します。
前提条件
クラスターとクラスターノードが [実行中] 状態であること。
クラスターユーザーが作成されていること。詳細については、「ユーザーの管理」をご参照ください。
Elastic High Performance Computing (E-HPC) で実行するジョブファイルが準備されていること。この前提条件は、E-HPC コンソールを使用してジョブを投入する場合に必要です。
クラスタスケジューラが Slurm または OpenPBS スケジューラであること。この前提条件は、CLI を使用してジョブを投入する場合に必要です。
E-HPC コンソールの使用
[クラスタの詳細] ページに移動します。
E-HPC コンソール にログインします。
上部ナビゲーションバーの左側で、リージョンを選択します。
左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタリスト] ページで、管理するクラスタを見つけ、[クラスタ ID] をクリックします。
左側のナビゲーションウィンドウで、[ジョブ管理] をクリックします。
[ジョブの作成] をクリックし、次のパラメーターを設定します。
基本設定
パラメーター
必須
説明
[ジョブ名]
はい
ジョブ名。
[スケジューラーキュー]
はい
ジョブを実行するキュー。
[ジョブ配列の開始]
いいえ
スケジューラのジョブ配列機能を有効にするかどうかを指定します。ジョブ配列を設定して、ジョブ実行ルールをカスタマイズできます。
最小値: ジョブ配列内のジョブの開始値を指定します。ジョブインデックスは最小値から増加します。
最大値: ジョブ配列内のジョブの終了値を指定します。ジョブインデックスは最大値で増加を停止します。
ステップサイズ: ジョブインデックス間の増分を指定します。たとえば、ステップサイズ 2 は、ジョブインデックスが 2 ずつ増加することを指定します。デフォルト値: 1。
[ジョブの優先度]
いいえ
ジョブの実行優先度。値は 0 より大きい整数で、スケジューラによって異なります。値が大きいほど、優先度が高くなります。
説明クラスターのスケジューリングポリシーを設定するときに、ジョブの優先度によってジョブをスケジューリングするように指定すると、優先度の高いジョブが最初にスケジューリングされて実行されます。最初に実行するジョブに高い優先度を設定できます。
[実行コマンド]
はい
ジョブを実行するためにスケジューラに送信するコマンド。値は、
/home/test内のjob.pbsなどのコマンドファイル、またはテキストコマンドです。次の項目では、2 つの値のタイプについて説明します。コマンドファイルを指定する場合、値は相対パスである必要があります (例:
./job.pbs)。テキストコマンドを指定する場合、たとえば、コマンドファイルの実行権限がない場合は、2 つのハイフン (
--) を前に付けたコマンドを指定できます。例:--/opt/mpi/bin/mpirun /home/test/job.pbs。
[ノード]
いいえ
ジョブの実行に使用する計算ノードの数。
[リクエストされた CPU]
いいえ
ジョブを実行するために各ノードで使用される vCPU とメモリリソース。
説明これらのパラメーターは、ジョブの実際の要件に基づいて指定する必要があります。指定したリソースがジョブに対して不十分な場合、ジョブはスムーズに実行されない可能性があります。
[リクエストされたメモリ]
いいえ
詳細設定
パラメーター
必須
説明
[標準出力パス]
いいえ
Linux シェルを使用してリダイレクトされた stderr と stdout の出力ファイルパス。パスには出力ファイル名が含まれます。
stdout: 標準出力
stderr: 標準エラー
クラスターユーザーは、パスに対する書き込み権限を持っている必要があります。デフォルトでは、出力ファイルはスケジューラの設定に基づいて生成されます。
[標準エラーパス]
いいえ
[環境変数]
いいえ
ジョブに渡されるランタイム変数。実行可能ファイルの環境変数を使用してアクセスできます。
[作成の確認] をクリックします。
CLI の使用
クラスターのログインノードに接続します。詳細については、「クラスターへの接続」をご参照ください。
スクリプトを作成し、そのスクリプトを使用してジョブをスケジューラに投入します。操作は、使用するスケジューラによって異なります。例:
説明自動スケーリングシナリオでは、E-HPC はメモリベースのスケーリングをサポートしていません。ジョブを投入するときに、必要な vCPU の数を指定することをお勧めします。
PBS
次のコマンドを実行して、jobscript.pbs という名前のジョブスクリプトファイルを作成します。
vim jobscript.pbs次のコードスニペットは、jobscript.pbs ファイルの内容の例を示しています。PBS CLI の詳細については、PBS 公式 Web サイト をご覧ください。
#!/bin/sh // ジョブの実行に必要な計算リソース。 # PBS -l ncpus=4,mem=1gb // ジョブの推定期間。 # PBS -l walltime=00:10:00 // 標準出力の出力ファイル。 # PBS -o test_pbs.log // 標準エラーと標準出力を上記の出力ファイルにリダイレクトします。 # PBS -j oe cd $HOME test.py -i test.data次のコマンドを実行して、ジョブを投入します。
qsub jobscript.pbs
SLURM
次のコマンドを実行して、jobscript.slurm という名前のジョブスクリプトファイルを作成します。
vim jobscript.slurm次のコードスニペットは、jobscript.slurm ファイルの内容の例を示しています。Slurm CLI の詳細については、SLURM 公式 Web サイト をご覧ください。
#!/bin/sh // ジョブ名。 # SBATCH --job-name=slurm-quickstart // 標準出力の出力ファイル。 # SBATCH --output=test_slurm.log // ノードの数。 # SBATCH --nodes=1 // ジョブの数。 # SBATCH --ntasks=1 // 各ジョブに必要な vCPU の数。 # SBATCH --cpus-per-task=1 // ジョブの推定期間。 # SBATCH --time=00:10:00 // 各 vCPU に割り当てられるメモリ。 # SBATCH --mem-per-cpu=1024 cd $HOME test.py test.data次のコマンドを実行して、ジョブを投入します。
sbatch jobscript.slurm
E-HPC ポータルの使用
E-HPC ポータルの使用方法については、「サブミッターを使用したジョブの投入」をご参照ください。
参照
CreateJob API 操作を呼び出して、ジョブを投入することもできます。