【问题标题】:SLURM error: sbatch: error: Batch job submission failed: Requested node configuration is not availableSLURM 错误:sbatch:错误:批处理作业提交失败:请求的节点配置不可用
【发布时间】:2020-01-18 12:27:18
【问题描述】:

我正在尝试使用集群来运行 MPI 代码。集群硬件由 30 个节点组成,每个节点具有以下规格: 2 个插槽 16 核(Intel Xeon e5-2650 v2)-(启用多线程的 32 核) 64 GByte 1866 MT/s 主内存 命名:咏叹调

slurm 配置文件如下:

#SBATCH --ntasks=64                     # Number of MPI ranks
#SBATCH --cpus-per-task=1               # Number of cores per MPI rank
#SBATCH --nodes=2                       # Number of nodes
#SBATCH --ntasks-per-node=32             # How many tasks on each node
#SBATCH --ntasks-per-socket=16          # How many tasks on each CPU or socket
#SBATCH --mem-per-cpu=100mb             # Memory per core

当我提交作业时,返回消息包含以下内容:sbatch:错误:批处理作业提交失败:请求的节点配置不可用 这有点令人困惑。我每个 cpu 提交一个任务,并在节点和套接字之间平均分配任务,有人可以就上述配置的问题提出建议吗?还有一件事:根据硬件规格,最佳配置是什么?

提前致谢

【问题讨论】:

    标签: slurm


    【解决方案1】:

    使用sinfo -Nl 命令准确查看节点提供的功能。

    如果可以的话:

    • 未启用超线程(HPC 集群上经常出现这种情况)
    • 或为 Slurm 和操作系统保留一个内核
    • 或超线程已启用,但 Slurm 配置为调度物理内核

    至于最佳作业配置,取决于如何定义“最佳”。为了获得最佳的解决时间,通常最好让 Slurm 决定如何在节点上组织等级,因为这样它将能够更快地开始您的工作。

    #SBATCH --ntasks=64                     # Number of MPI ranks
    #SBATCH --mem-per-cpu=100mb             # Memory per core
    

    为了获得最佳工作绩效(在基准测试或成本分析等情况下),您还需要将转换考虑在内。 (虽然有 30 个节点你可能只有一个交换机)

    #SBATCH --ntasks=64                     # Number of MPI ranks
    #SBATCH --exclusive
    #SBATCH --switches=1
    #SBATCH --mem-per-cpu=100mb             # Memory per core
    

    使用--exclusive 将确保您的工作不会受到其他工作的干扰。

    【讨论】:

    • 感谢您的回复。 sinfo 显示每个节点有 32 个 CPU,SCT 为 2:8:2,mem 为 64Gigs。其他信息是标准的。我设法提交了shell文件。它被分配给 4 个节点,让我感到烦恼的是,在检查节点负载时,它几乎没有加载(我可以通过集群报告检查),这为性能改进留下了巨大的空间。我的问题是如何配置 slurm 以使其运行时间尽可能短。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多