如何通过bsub限制单台执行主机的并行作业数量?
解决LSF集群中限制单主机并行作业数的问题
可以通过bsub参数实现你的需求,具体有两种实用方式:
方式一:提交作业时直接指定资源约束
在现有bsub脚本中添加-R参数,强制限制单台主机上最多运行2个该类作业:
#BSUB -J myjob[1-100]%10 #BSUB -n 4 #BSUB -R "span[hosts=1] same[hosts]:count<=2"
span[hosts=1]:确保每个作业的4个核心都分配在同一台主机上(保留原有作业的单主机绑定逻辑)same[hosts]:count<=2:限制同一台主机上最多同时运行2个该数组作业的实例
这样当集群有足够可用主机时,10个并行作业会被分散到至少5台主机(每台2个),避免单台主机承载过多耗带宽的作业。
方式二:通过集群配置实现长期约束(需管理员权限)
如果这类作业是长期高频运行的,可以联系LSF管理员做全局配置:
- 针对特定队列设置
MAX_JOB_PER_HOST参数,限制队列内单主机的最大作业数 - 或者为这类作业创建专属主机组,在组内配置单主机作业数上限
这种方式无需每次提交作业都添加参数,适合同类作业的统一管理。
内容的提问来源于stack exchange,提问作者tash
相关产品推荐
相关产品推荐

