0

在 SGE 中,我们有

qsub -now yes/no <command>

通过“-now yes”,立即安排作业(如果可能)或根本不安排。我们没有被放入待处理队列。

如果不能立即执行,则通过“-now no”将作业放入待处理队列中。

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

在 bsub 中,如果不能立即执行,我们将被放入待处理队列中。我们没有 qsub 中的“-now yes”选项。

我们在 bsub 中有什么东西是“qsub -now”吗

PS:一种解决方案是我们可以在运行 bsub 后检查一段时间(几秒钟),如果我们被安排了,然后退出。我正在寻找一种更优雅的方式。

4

2 回答 2

0

LSF 没有同样的东西。您可以使用带超时的期望。当作业开始时,LSF 会输出类似这样的内容。您的期望脚本可以期望<<Starting on. (但这基本上就是你的PS所说的。)

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

你也许可以使用 lsrun。但它不适用于批处理系统来分配插槽或其他资源。

于 2013-02-28T16:37:08.643 回答
0

我以 LSF 的方式找到了答案。

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

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

从 Web 上的某处:
LSF_NIOS_PEND_TIMEOUT
语法
LSF_NIOS_PEND_TIMEOUT=minutes
说明
仅适用于交互式批处理作业。
交互式批处理作业可以保持挂起的最长时间。
如果定义了此参数,并且交互式批处理作业挂起的时间超过指定时间,则终止交互式批处理作业。
有效值
任何大于零的整数

于 2013-08-07T16:39:13.647 回答