【问题标题】:SLURM: Restart worker after the worker completesSLURM:工人完成后重新启动工人
【发布时间】:2020-09-17 16:43:50
【问题描述】:

我想创建一个 SLURM 工作人员数组,每当其中一个工作人员完成工作时,我想重新启动工作人员。

如果可以在我的队列上运行无限持续时间的作业,我当然会这样做,但因为这是不可能的,我想我只是创建一个无限系列的工人。

这在 SLURM 中可行吗?我想我可以从我的工作人员数组中的最后一个工作人员内部提交一个sbatch 命令来重新启动整个序列,但是工作人员在我的集群中运行的计算节点无权访问sbatch 可调用。

关于这个问题的任何指示都会非常有帮助!

【问题讨论】:

    标签: hpc slurm


    【解决方案1】:

    没有办法让 slurm 做到这一点。可能仍然有一些技巧可以解决这个问题,具体取决于您的集群。在您尝试此操作之前,请先与您的集群管理员交谈,因为这些操作相当老套,并且您的管理员决定不在您的计算节点上提供 sbatch 可能是有原因的。

    1. ssh 进入 sbatch 可用的节点,然后从那里重新提交作业。这取决于您的集群 ssh 设置。
    2. 将 sbatch 二进制文件复制到您的主目录(或您在节点上可以访问的任何目录)并在那里使用它。这取决于 slurm、防火墙等的设置。
    3. 在前端运行一个程序,定期检查您的作业是否仍在运行,如果没有则重新提交。一旦最后一个登录 shell 关闭,一些集群会自动终止前端的所有用户进程,因此在这种情况下将无法正常工作。

    但要重申:请先询问您的系统管理员!我们一般不会咬你的头。

    【讨论】:

      【解决方案2】:

      补充@Marcus Boden 的回答:许多人在登录节点上设置 CRON 作业,以定期测试队列状态并在必要时重新提交作业。 scrontab 命令可能会在未来的 Slurm 版本中提供以帮助解决此用例。

      【讨论】:

        猜你喜欢
        • 2018-11-12
        • 2018-05-23
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        相关资源
        最近更新 更多