作业调度和执行

以下新功能会影响 LSF 作业调度和执行。

注: LSF 10.1 修订包 5 仅适用于 IBM POWER9 平台。

基于计划的调度和预留

启用时, LSF的基于计划的调度将根据预期的未来集群状态来制定作业的分配计划。 LSF 根据需要保留资源以执行其计划。 这有助于避免对具有特殊资源需求的工作造成饥饿。

基于计划的调度和预留可解决 LSF中较旧的预留功能的许多问题。 例如:
  • 它确保保留资源可由保留作业真正使用
  • 它具有更好的作业开始时间预测以保留作业,从而更好的回填决策

基于计划的调度旨在替换旧的 LSF 预留策略。 在 lsb.params 配置文件中启用 ALLOCATION_PLANNER 时,将忽略与旧预留功能 (即 lsb.queues中的 SLOT_RESERVERESOURCE_RESERVE ) 相关的参数,并发出警告。

自动扩展作业运行限制

现在,您可以配置 LSF 分配计划程序,以在具有相同或更高优先级的队列中的其他作业不需要作业占用的资源时,扩展作业的运行限制。 分配计划程序查看作业计划以确定是否有任何其他作业需要当前作业的资源。

通过在 lsb.queues 文件中指定 EXTENDABLE_RUNLIMIT 参数,对提交到队列的作业启用可扩展运行限制。 由于分配计划程序决定是否扩展作业的运行限制,因此您还必须通过在 lsb.params 文件中启用 ALLOCATION_PLANNER 参数来启用基于计划的调度。

缺省 epsub 可执行文件

esub 程序类似, LSF 现在允许您定义运行的缺省 epsub 程序,即使您未使用 lsf.conf 文件中的 LSB_ESUB_METHOD 参数定义必需 epsub 程序也是如此。 要定义缺省 epsub 程序,请在 LSF_SERVERDIR 目录中创建名为 epsub 的可执行文件 (文件名中没有应用程序名称)。

提交作业后, LSF 会运行缺省 epsub 可执行文件 (如果它存在于 LSF_SERVERDIR 目录中) ,后跟由 LSB_ESUB_METHOD定义的任何必需 epsub 可执行文件,后跟由 -a 选项指定的 epsub 可执行文件。

限制用户和用户组将作业转发到远程集群

现在,您可以指定用户或用户组的列表,这些用户或用户组可以在使用 LSF 多集群功能时将作业转发到远程集群。 这允许您阻止来自特定用户或用户组的作业转发到执行集群,并对提交集群设置限制。

这些限制是在 LSF中的队列级别定义的。 对于要转发到远程集群的作业,用户必须将这些作业提交到在 lsb.queues 文件中配置了 SNDJOBS_TO 参数的队列。 要将这些队列限制为特定用户或用户组,请在 lsb.queues 文件中为这些队列定义 FWD_USERS 参数。

高级预留现在支持资源需求字符串中的 "同一" 部分

使用 brsvadd -Rbrsvmod -R 选项来指定高级预留的资源需求时,除 select 字符串外, 同一 字符串现在生效。 先前版本的 LSF 仅允许 select 字符串生效。

此添加项允许您为提前预留选择具有相同资源的主机。

绝对优先级调度的优先级因子

现在,您可以为 LSF 设置其他优先级因子,以计算绝对优先级调度 (APS) 的作业优先级。 这些额外的优先级因子允许您修改应用程序概要文件,提交用户或用户组的优先级,这些优先级均用作 APS 计算中的因子。 您还可以查看暂挂作业的 APS 和公平共享用户优先级值。

要设置应用程序概要文件的优先级因子,请在 lsb.applications 文件中定义 PRIORITY 参数。 要设置用户或用户组的优先级因子,请在 lsb.users 文件的 UserUserGroup 部分中定义 PRIORITY 参数。

新的 bjobs -prio 选项显示所有暂挂作业的 APS 和公平共享用户优先级值。 此外, busersbugroup 命令显示指定用户或用户组的 APS 优先级因子。

用户,用户组和队列的作业分派限制

现在,您可以设置在调度周期中为用户,用户组和队列分派的最大作业数的限制。 这允许您按用户,用户组或队列控制为执行而分派的作业数。 如果已分派的作业数达到此限制,那么属于该用户,用户组或可能已分派的队列的其他暂挂作业将在此调度周期内保持暂挂状态。

要设置或更新作业分派限制,请对限制对象运行 bconf 命令 (即,运行 bconf action_type limit=limit_name) 以定义特定限制的 JOBS_PER_SCHED_CYCLE 参数。 仅当限制使用者类型为 USERSPER_USERQUEUESPER_QUEUE时,才能设置作业分派限制。

例如,bconf update limit=L1 "JOBS_PER_SCHED_CYCLE=10"

您还可以通过在 lsb.resources 文件的 Limit 部分中定义 JOBS_PER_SCHED_CYCLE 参数来定义作业分派限制。

传输到执行主机的辅助 Unix 用户组信息

此增强功能引入了 lsf.conf 中的参数 LSF_UGROUP_TRANSFER ,以使执行主机能够使用用户在提交主机上设置的 UNIX 组信息。 当设置为 "Y|y" 时,辅助用户组信息将从提交主机传输到执行主机以进行作业执行,从而克服 NFS 限制 16 个用户组。