LSF实践专题(3):关于esub的使用

很多LSF管理员都遇到过这样的需求,希望用户在使用bsub提交作业时指定一些参数(例如-R "rusage[mem=xxx]"或者-P <project_name>或者-W <runtime_limit>),来实现资源控制和统计的目的。

LSF为我们提供了这样的机制,可以让管理员定制一些简单的脚本,插入到LSF的执行过程中,实现特殊的作业提交和执行需要。本篇介绍LSF最常用的esub脚本的使用方法。

esub脚本是LSF提供给管理员干预作业提交行为的一种机制。我们可以通过esub脚本对作业提交参数进行检查,或者根据某些规则,来自动补充作业提交参数,甚至拒绝作业的提交。我们接下来看一个具体的例子。

假设我们有如下需要,要求提交到某队列的作业必须设置内存预订(-R "rusage[mem=xxx]"),如果不预订内存,则拒绝作业提交。

我们可以通过esub脚本来检查提交到队列的作业选项,如果提交作业时设置了-R "rusage[mem=xxx]",则允许作业提交,否则拒绝。

esub脚本如下:

$ cat esub.memusage
#!/bin/sh
. $LSB_SUB_PARM_FILE
# Redirect stderr to stdout so echo can be used for error messages
exec 1>&2

if [[ "$LSB_SUB_QUEUE" = "queue1" || "$LSB_SUB_QUEUE" = "queue2" || "$LSB_SUB_QUEUE" = "queue3" ]]
then
  if [ -z "$LSB_SUB_MEM_USAGE" ]
  then
    printf "ERROR: Please add -R \"rusage[mem=xxx]\" to bsub command line.\n"
    exit $LSB_SUB_ABORT_VALUE
  fi
fi

我们来解释一下上面这个esub脚本:

  1. 这个脚本检查提交到queue1、queue2、queue3这三个队列的作业是否指定了-R "rusage[mem=xxx]"选项来设置内存预订, 如果没有就通过“exit $LSB_SUB_ABORT_VALUE”退出脚本并拒绝提交作业,同时显示提示信息。其它队列的作业不受影响。

  2. $LSB_SUB_MEM_USAGE变量仅限于检查-R的“rusage[mem=xxx]”设置,不检查-R的别的设置。

  3. 上面三个队列不能是默认队列。如果是默认队列, $LSB_SUB_QUEUE变量为空(LSF不设置这个变量),就需要对脚本做相应调整。

有关配置如下:

  1. 将上述esub脚本(文件名为esub.memusage)放到$LSF_SERVERDIR目录下,并设置可执行权限。

  2. 在lsf.conf里配置LSB_ESUB_METHOD="memusage"。

  3. 如果修改了这个esub脚本的扩展名memusage, 那么lsf.con里配置的LSB_ESUB_METHOD参数的值也要保持一致。

按照上述方法配置后,这个esub脚本就立即生效了,不需要执行badmin reconfig或重启LSF服务。我们来测试一下这个esub脚本的效果。

向queue1提交一个作业,不指定-R "rusage[mem=xxx""选项:

$ bsub -q queue1 sleep 10
ERROR: Please add -R "rusage[mem=xxx]" to bsub command line.
Request aborted by esub. Job not submitted.

可以看到,这个作业被LSF拒绝了,符合我们的预期。

再提交一个符合要求的作业:

$ bsub -q queue1 -R "rusage[mem=100]" sleep 10
Job <7587> is submitted to queue <normal>.

可以看到,这个作业提交成功了。

以上是关于esub脚本的一个简单使用,我们可以按照实际需要,写出检查作业提交参数和修改作业提交参数的esub脚本。关于esub的详细介绍,也可以进一步参考IBM在线文档:

IBM Documentation

欢迎关注下方微信公众号【HPC常青园】,共同交流HPC集群管理经验和最佳实践。如果您有关于HPC集群的具体需求,欢迎邮件沟通交流:hpc@ivyent.cn。

HPC常青园

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ivyent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值