[英]Running a multi-stage job using SLURM
我是SLURM的新手。 我的問題是我有一個多階段作業,該作業需要在群集上運行,該群集的作業由SLURM管理。 具體來說,我想安排一份工作:
每個步驟都可以使用單獨的bash腳本運行; 腳本的執行和階段之間的過渡由主節點協調。
我的問題是我知道如何使用SLURM在每個節點上分配節點並調用單個命令或腳本(在每個節點上作為獨立作業運行)。 但是,在每個節點上完成命令(或完成調用的腳本)后,該節點將返回到空閑資源池,從而使分配的節點排隊等待我的工作。 但是上述用例涉及幾個階段/腳本; 並且需要它們之間的協調。
我想知道使用SLURM為這種用例設計/運行一組腳本的正確方法是什么。 任何建議或示例都將非常有幫助,並受到高度贊賞。
您只需要將所有腳本封裝到一個腳本中即可提交:
#!/bin/bash
#SBATCH --nodes=4 --exclusive
# Setting Bash to exit whenever a command exits with a non-zero status.
set -e
set -o pipefail
echo "Installing software on each of $SLURM_NODELIST"
srun ./install.sh
echo "Creating database instance"
./createDBInstance.sh $SLURM_NODELIST
echo "Loading DB"
./loadDB.sh params
echo Benchmarking
./benchmarks.sh params
echo Done.
您需要填寫空白...確保您的腳本遵循退出時的標准,錯誤狀態為非零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.