如何在AWS ParallelCluster实例不足时自动超时取消Slurm作业?
解决方法
1. 作业级等待超时(推荐)
提交作业时使用sbatch的--deadline参数,指定作业必须在某个时间点前启动,否则自动取消。比如设置1小时后超时:
sbatch --deadline=now+1h my_job_script.sh
该参数会让SLURM在指定时间前若作业仍处于Pending状态(等待节点),自动取消作业,避免闲置节点持续产生费用。
2. 全局默认等待超时
若需对所有作业统一设置等待超时,可修改SLURM配置文件/etc/slurm/slurm.conf,添加或调整JobPendingTimeout参数:
JobPendingTimeout=3600 # 单位为秒,示例设置1小时
修改后重启SLURM服务生效:
sudo systemctl restart slurmctld
注意:此设置对集群内所有作业生效,适合统一管控场景。
3. 优化集群可用区配置减少等待
在AWS ParallelCluster的集群配置文件cluster-config.yaml中,为队列配置多可用区调度,降低单可用区容量不足的概率:
Queues: - Name: my_queue ComputeResources: - Name: my_compute InstanceType: c6i.metal MinCount: 0 MaxCount: 10 AvailabilityZones: - us-east-1a - us-east-1b - us-east-1c
当某可用区容量不足时,SLURM会自动尝试其他可用区启动实例,减少作业等待时长与闲置节点的产生。
内容的提问来源于stack exchange,提问作者Omar Awile
相关产品推荐
相关产品推荐

