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

标签 sockets slurm snakemake sbatch

我正在使用 slurm 的 HPC 上运行一条蛇形管道。管道相当长,包含约 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}' 

这不仅会导致snakemake sbatch 作业的输出,还会导致snakemake 创建的作业的输出。上述错误出现在 sbatch 文件的 slurm.out 中。

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

最佳答案

蛇形有一个选项 --max-jobs-per-second--max-status-checks-per-second默认参数为 10。也许尝试减少它们以减少调度程序的压力?另外,也许可以尝试减少 -j 999 ?

关于sockets - sbatch:错误:批处理作业提交失败:运行Snakemake时发送/接收操作时套接字超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58527369/

相关文章:

Java套接字编程

c - libev套接字通信失败

java - Java 中的非阻塞套接字写入与阻塞套接字写入

python - 具有多个命令的别名,是否可以将参数传递给第一个命令?

multithreading - HPC 集群 : select the number of CPUs and threads in SLURM sbatch

python - 访问规则中的嵌套配置变量

c# - 使用套接字下载网站

mpi - 如何在多个节点中运行 MPI-Job? (多节点 MPI 作业执行)

slurm - Snakemake slurm 输出文件重定向到新目录

蛇形通配符或扩展命令