目录
当多个用户同时重复使用LSF集群,并对集群内的计算资源产生竞争时,LSF提供了多种不同的调度策略来对资源进行分配。
之前我们介绍过基于用户的fairshare,还有默认情况下的先来先服务(FCFS,也就是谁更早提交作业谁就优先得到资源)。
对于某些应用场景,可能有某些用户或者部门所做的工作具有更高的重要度和优先级。那么有没有办法让这些高优先级的作业优先得到计算资源呢?答案是有的。
配置不同的队列优先级
首先,我们可以请管理员设置一些比普通队列具有更高优先级的队列,并且让相关用户把高优先级的作业提交到这些高优先级的队列中。通过在lsb.queues文件里为队列配置参数PRIORITY来指定队列的优先级,数值越高,优先级也就越高。

在计算资源有限的情况下,q1和q2都有等待调度的作业,那么q1里面的作业会优先被调度,因为q1的priority更高。
如下图所示,当前集群内的32个slots已经使用了30个,还有2个空余,q1的优先级是30,q2的优先级是10。

1、为了保证公平,我们把当前的节点close,让他不能接收新的作业。

上图中bhosts -w命令显示host的状态为closed_Adm,表示当前的节点已被管理员关闭,暂时不能接受新的作业。
一般管理员需要对某些节点进行系统调整之类的操作,可以用这个操作来让节点停止接受新作业。
这样当这些节点上正在运行的作业结束后,管理员就可以对节点进行系统维护或者重启系统等操作,而不必担心这些操作导致正在运行的作业失败。
2、接下来我们向q1和q2各提交4个作业。


3、我们用badmin hopen命令将当前节点恢复到可以接受作业的状态。

我们看到,当节点被打开后,立刻有2个q1里面的作业<311>、<312>开始运行,虽然q2中的作业是更早提交的。
这时,当前节点的所有slots都已经被作业占用,所以bhosts中显示当前节点的状态为closed_Full,这个状态同样是表示节点不能再接受新的作业,但是不同于closed_Adm,这次的原因是节点的slots已经被作业填满了,所以用closed_Full来表示。
4、接下来我们用bkill将q1上两个正在运行的作业<311>、<312>强行结束。
4844



:LSF队列优先级以及抢占功能初探&spm=1001.2101.3001.12003&articleId=136016956&d=1&t=3&u=9ea37bdefdd24e31aed4210b6c994612)

被折叠的 条评论
为什么被折叠?



