指定最小和最大任务数
缺省情况下,调度并行作业时,即使主机 MXJ 设置为大于 CPU 数,在每个主机上分配的插槽数也不会超过该主机上的 CPU 数。 提交并行作业时,还可以指定最小任务数和最大任务数。
如果指定最大和最小任务数,那么如果最小处理器数可用,那么作业可以启动,但它始终尝试使用最大处理器数,具体取决于当时可用的处理器数。 一旦作业开始运行,即使稍后可能有更多处理器可用,也不会向其分配更多处理器。
将拒绝请求的任务数少于为提交作业的队列或应用程序概要文件定义的最小 TASKLIMIT ,或超过最大 TASKLIMIT 的任务数的作业。 如果作业请求最小任务数和最大任务数,那么请求的最大任务数不能小于最小值 TASKLIMIT,而请求的最小任务数不能大于最大值 TASKLIMIT。
如果是 lsb.params中的 PARALLEL_SCHED_BY_SLOT=Y ,那么作业将指定最大和最小作业槽数,而不是任务数。 LSF 将忽略并行作业调度期间的 CPU 数量约束,而仅根据插槽进行调度。
如果未为可调整大小的作业定义PARALLEL_SCHED_BY_SLOT,则在调度期间,单个分配请求会受到 CPU 数量的限制。 但是,最终的可调整大小的工作分配可能并不一致。 例如,如果一个可自动调整大小的作业请求 1 到 4 个任务,在 2 CPU 4 插槽的机箱上,一个可自动调整大小的作业最终将使用多达 4 个插槽。
语法
bsub -n min_task[,max_task]
示例
bsub -n 4,16 myjob
最多可以将 16 个处理器分配给此作业。 如果有少于 16 个处理器有资格运行该作业,那么只要符合条件的处理器数大于或等于 4 ,仍可启动此作业。