集群计算 - 使用 BSUB "qsub -now"等效



在上海黄金交易所,我们有

qsub -now yes/no <command>

通过"-now yes",作业被立即调度(如果可能的话),或者根本不调度。我们不会被放入等待队列。

通过"-now no ",如果作业不能立即执行,则将其放入等待队列。

但是在LSF中,我们有qsub和bsub的等价

在bsub中,如果不能立即执行,则被放入等待队列。我们不像在qsub中那样有"-now yes"选项。

p。S:一个解决方案是,我们可以在运行bsub后检查一段时间(几秒钟),看看我们是否被调度,然后退出。我在寻找一种更优雅的方式

LSF没有相同的东西。您可以使用expect w/a timeout。当作业启动时,LSF将输出如下内容。期望脚本可以期望<<Starting on。(但这基本上是你的P.S.说的)

$ bsub -Is -m hostA /bin/bash
Job <7536> is submitted to default queue <interactive>.
<<Waiting for dispatch ...>>
<<Starting on hostA>>
hostA$ 

你可以使用lsrun。但是它不能与批处理系统一起分配插槽或其他资源。

我用一种LSF的方式找到了答案。

LSF确实提供了一种在无法调度资源时退出作业的方法。我们有一个环境变量LSF_NIOS_PEND_TIMEOUT(以分钟为单位指定),如果作业仍然在等待队列中,它将退出作业。

 env LSF_NIOS_PEND_TIMEOUT=1 bsub -Is -m host /bin/bash

From Somewhere on web:
LSF_NIOS_PEND_TIMEOUT
语法
LSF_NIOS_PEND_TIMEOUT =分钟

仅适用于交互式批处理作业。
交互式批处理作业保持挂起状态的最长时间。
如果定义了此参数,并且交互式批处理作业挂起的时间超过指定的时间,则终止交互式批处理作业。
有效值
大于0的整数

最新更新