Skip to content

新增cbatch --use-min-nodes功能 #557

@haofangTu-bot

Description

@haofangTu-bot

1、功能描述

--use-min-nodes 是一个布尔型标志(flag),它本身不带值。它的作用是改变调度器处理节点数量范围请求时的行为。
当一个作业请求一个可变数量的节点时(例如,--nodes=4-8,表示作业可以在4、5、6、7或8个节点上运(选择顺序)行),--use-min-nodes 会告诉 Slurm 调度器:“请优先满足这个作业的最小节点数要求,一旦最小数量的节点可用,就立即启动作业,不要为了等待更多节点而继续排队。”

简单来说,它的核心目标是缩短作业的等待时间(排队时间),优先保证作业能尽快启动。

等待时间: 由Slurm管理员在slurm.conf中配置的。这通常是一个很短的时间段(例如,几秒到一两分钟),由 SchedulerParameters 等参数控制。调度器不会无限期地等待凑齐8个节点。

2、使用时注意

必须与节点范围(Node Range)配合使用:--use-min-nodes 参数仅在通过 --nodes (或 -N) 参数指定了一个节点范围时才生效。如果只指定了一个固定的节点数(如 --nodes=4),这个标志会被 Slurm 直接忽略,不会产生任何效果,也不会报错。

资源总量必须能在最小节点数上满足:这是最关键、也最容易出错的地方。您请求的总资源(如总任务数 --ntasks、总内存 --mem 等)必须能够在最小节点数的限制下被满足。否则作业会一直处于 PENDING 状态,REASON 为 (Resources)

参考文档:https://slurm.schedmd.com/sbatch.html
调研文档:https://e26ruh1viz.feishu.cn/wiki/FNo8wrQUkiOTVlkXq6hcLLHnnqb

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions