负载阈值
fsched支持按分区配置内存(单位为MiB), CPU使用率(单位为%)和平均CPU运行队列长度(小数,无单位)的负载阈值,配置在partitions.conf
中节点所在分区的PartitionName
开头的行中,配置项包括:
- 调度内存阈值
LoadSchedMem
- 停止内存阈值
LoadStopMem
- 调度CPU使用率阈值
LoadSchedUt
- 停止CPU使用率阈值
LoadStopUt
- 调度15秒平均CPU运行队列长度阈值
LoadSchedR15s
- 停止15秒平均CPU运行队列长度阈值
LoadStopR15s
- 调度1分钟平均CPU运行队列长度阈值
LoadSchedR1m
- 停止1分钟平均CPU运行队列长度阈值
LoadStopR1m
- 调度15分钟平均CPU运行队列长度阈值
LoadSchedR15m
- 停止15分钟平均CPU运行队列长度阈值
LoadStopR15m
提示
对fsched调度器的配置而言,以上所有配置项格式是数字,不可设置单位
配置项 | 说明 |
---|---|
LoadSchedMem/LoadStopMem | 整数,默认单位是MiB |
LoadSchedUt/LoadStopUt | 整数,默认单位是% |
LoadSchedR15s/LoadStopR15s | 小数或整数,无单位 |
LoadSchedR1m/LoadStopR1m | 小数或整数,无单位 |
LoadSchedR15m/LoadStopR15m | 小数或整数,无单位 |
- 如果节点所在分区配置了调度阈值
LoadSched[XXX]
- 在以下任一条件满足的情况下,节点会被drain,不再接受新任务:
- 节点剩余内存低于
LoadSchedMem
- 节点CPU使用率高于
LoadSchedUt
- 节点15秒平均CPU运行队列长度大于
LoadSchedR15s
- 节点1分钟平均CPU运行队列长度大于
LoadSchedR1m
- 节点15分钟平均CPU运行队列长度大于
LoadSchedR15m
- 节点剩余内存低于
- 在以下所有条件满足的情况下,节点会被undrain, 节点被undrain,可以继续接受新任务:
- 节点剩余内存高于
LoadSchedMem
- 节点CPU使用率低于
LoadSchedUt
- 节点15秒平均CPU运行队列长度小于
LoadSchedR15s
- 节点1分钟平均CPU运行队列长度小于
LoadSchedR1m
- 节点15分钟平均CPU运行队列长度小于
LoadSchedR15m
- 节点剩余内存高于
- 在以下任一条件满足的情况下,节点会被drain,不再接受新任务:
- 如果节点所在分区配置了停止阈值
LoadStop[XXX]
和调度阈值LoadSched[XXX]
- 在以下任一条件满足的情况下,节点上的任务会按优先级(相同优先级时按开始时间)依次被STOP(stop的任务内存不会释放),先停止优先级低的任务(相同优先级时选开始晚的任务),直到剩余最后一个任务:
- 节点剩余内存低于
LoadStopMem
- 节点CPU使用率高于
LoadStopUt
- 节点15秒平均CPU运行队列长度大于
LoadStopR15s
- 节点1分钟平均CPU运行队列长度大于
LoadStopR1m
- 节点15分钟平均CPU运行队列长度大于
LoadStopR15m
- 节点剩余内存低于
- 在以下所有条件满足的情况下,节 点被undrain的同时,被STOP的任务依次被CONTINUE,先continue优先级高的任务(相同优先级时选开始早的任务)
- 节点剩余内存高于
LoadSchedMem
- 节点CPU使用率低于
LoadSchedUt
- 节点15秒平均CPU运行队列长度小于
LoadSchedR15s
- 节点1分钟平均CPU运行队列长度小于
LoadSchedR1m
- 节点15分钟平均CPU运行队列长度小于
LoadSchedR15m
- 节点剩余内存高于
- 在以下任一条件满足的情况下,节点上的任务会按优先级(相同优先级时按开始时间)依次被STOP(stop的任务内存不会释放),先停止优先级低的任务(相同优先级时选开始晚的任务),直到剩余最后一个任务:
注意:
- 可以单独设置某一种资源的
LoadSched[XXX]
或LoadSched[XXX]
- 如果要设置某一种资源的
LoadStop[XXX]
,必须设置对应的LoadSched[XXX]
,并且根据资源类型满足以下对应条件,否则是错误配置,重配置会失败,slurmctld或slurmd重启会失败:LoadStopMem
的值小于LoadSchedMem
LoadStopUt
的值大于LoadSchedUt
LoadStopR15s
的值大于LoadSchedR15s
LoadStopR1m
的值大于LoadSchedR1m
LoadStopR15m
的值大于LoadSchedR15m
- 节点在多个分区时,最后一个分区的配置起作用
- 由于阈值检查是定期轮询的,并不能保证节点资源一定不超出负载阈值的限制
示例
root@compute1:~# cat /etc/slurm/partitions.conf
#
# PARTITION partition-U7KH5
PartitionName=partition-U7KH5 Nodes=compute1 Default=YES LoadSchedMem=1300 LoadStopMem=1200 LoadSchedUt=80 LoadStopUt=90
# DUMMY
# NODES
NodeName=compute1 CPUs=16 RealMemory=13926 Weight=1 State=CLOUD