sbatch:错误:批处理作业提交失败:运行Snakemake时,套接字在发送/接收操作时超时



我正在使用slurm的HPC上运行一个snakemake管道。管道相当长,由约22个台阶组成。在尝试提交作业时,snakemake会定期遇到问题。这会导致错误

sbatch: error: Batch job submission failed: Socket timed out on send/recv operation
Error submitting jobscript (exit code 1):

我通过一个sbatch文件运行管道,其中包含以下蛇调用

snakemake -j 999 -p --cluster-config cluster.json --cluster 'sbatch --account {cluster.account} --job-name {cluster.job-name} --ntasks-per-node {cluster.ntasks-per-node} --cpus-per-task {threads} --mem {cluster.mem} --partition {cluster.partition} --time {cluster.time} --mail-user {cluster.mail-user} --mail-type {cluster.mail-type} --error {cluster.error} --output {cluster.output}' 

这不仅会为snakemakesbatch作业产生输出,还会为snakemake创建的作业产生输出。上面的错误出现在sbatch文件的slurm.out中。

错误指示的特定作业步骤将成功运行,并给出输出,但管道失败。作业步骤的日志显示作业id运行时没有出现问题。我在谷歌上搜索过这个错误,它似乎经常发生在slurm中,尤其是当调度器处于高IO时,这表明它将是不可避免和经常发生的。我希望有人遇到过这个问题,并能提出解决方案的建议,这样整个管道就不会失败。

snakemake有一个选项--max-jobs-per-second--max-status-checks-per-second,默认参数为10。也许可以试着减少它们来减轻调度器的压力?此外,也许可以尝试减少-j 999

最新更新