处理作业初始化失败

缺省情况下, LSF 会处理在作业开始运行后退出的作业的作业异常。 您还可以配置 LSF 以处理由于执行环境问题或由于用户操作或 LSF 策略而在初始化期间退出的作业。

LSF 检测到作业在实际开始运行之前正在退出,并在作业退出速率超过特定主机 ( lsb.hosts中的 EXIT_RATE) 或所有主机 ( lsb.params中的 GLOBAL_EXIT_RATE) 的阈值时执行相应的操作。

lsb.params 中使用 EXIT_RATE_TYPE 将作业初始化失败包括在出口速率计算中。 下表汇总了您可以配置的出口速率类型:
表 1. 您可以配置的出口速率类型

退出速率类型 ...

包括 ...

作业 EXIT

本地已退出的作业

远程作业初始化失败

除第一个执行主机以外的主机上的并行作业初始化失败

由用户操作 (例如, bkill , bstop 等) 退出的作业 或 LSF 策略 (例如,超出装入阈值,作业控制操作,提前预留到期等)

JOBEXIT_NONLSF

这是未设置 EXIT_RATE_TYPE 时的缺省值

本地已退出的作业

远程作业初始化失败

除第一个执行主机以外的主机上的并行作业初始化失败

作业 INIT

本地作业初始化失败

第一个执行主机上的并行作业初始化失败

HPCINIT

HPC 作业的作业初始化失败


从出口率计算中排除作业出口

缺省情况下,由于非主机相关原因 (用户操作和 LSF 策略) 而退出的作业不会计入出口速率计算中。 仅针对 LSF 认为与主机相关的问题而退出并用于计算主机退出速率的作业。

下列情况 不包括 在出口率计算中:
  • bkill, bkill -r

  • brequeue

  • 当主机不可用时已终止 RERUNNABLE 作业

  • 超出资源使用限制 (例如, PROCESSLIMIT , CPULIMIT 等)

  • 队列级作业控制操作 TERMINATE 和 TERMINATE_WHEN

  • 使用 kill 选项 (bchkpnt -k) 对作业进行检查点检查

  • 可重新运行的作业迁移

  • 提前预留到期时作业已终止

  • 远程租赁作业启动失败

  • 在 SUCCESS_EXIT_VALUES 中找到具有退出代码的任何作业,其中特定退出值被视为成功。

排除 LSF 和用户相关的作业出口

要显式 排除 由于用户操作或与 LSF 相关的策略而从作业出口计算中退出的作业,请在 lsb.params中设置 EXIT_RATE_TYPE = JOBEXIT_NONLSF。 JOBEXIT_NONLSF 指示 LSF 包含所有作业出口, 与用户操作或 LSF 策略相关的作业出口除外。 这是 EXIT_RATE_TYPE 的缺省值。

要在出口速率计数中 包含 所有作业出口案例,必须在 lsb.params中设置 EXIT_RATE_TYPE = JOBEXIT。 JOBEXIT 会考虑所有作业出口。

被 LSF 外部信号杀死的作业仍将计入退出率

由于作业控制 SUSPEND 操作和 RESUME 操作而终止的作业仍计入退出速率。 这是因为 LSF 无法区分从 SUSPEND 操作中终止的作业与由外部信号终止的作业。

如果同时定义了 JOBEXIT 和 JOBEXIT_NONLSF ,那么将使用 JOBEXIT_NONLSF。

本地作业

当 EXIT_RATE_TYPE = JOBINIT 时,出口速率计算中会包含各种作业初始化失败,包括:
  • 与主机相关的故障; 例如,用户帐户不正确,用户许可权,可设置检查点的作业的目录不正确,主机名解析失败或其他执行环境问题

  • 与作业相关的故障; 例如,执行前或设置问题,未创建作业文件等。

并行作业

缺省情况下,或者当 EXIT_RATE_TYPE = JOBEXIT_NONLSF 时,第一个执行主机上的作业初始化失败不会计入作业出口速率计算。 除第一个执行主机以外的主机的作业初始化失败将在出口速率计算中进行计数。

当 EXIT_RATE_TYPE = JOBINIT 时,将在作业出口速率计算中计算第一个执行主机上发生的作业初始化失败。 在出口速率计算中 计算第一个执行主机以外的主机的作业初始化失败。

提示:

要对 所有 主机计算并行作业出口异常,请指定 EXIT_RATE_TYPE=HPCINIT 或 EXIT_RATE_TYPE = JOBEXIT_NONLSF JOBINIT。

远程作业

缺省情况下,或者当 EXIT_RATE_TYPE = JOBEXIT_NONLSF 时,作业初始化失败将计为远程执行主机上的已退出作业,并包含在该主机的出口速率计算中。 要从出口速率计算中仅包括执行集群上的 本地 作业初始化失败,请将 EXIT_RATE_TYPE 设置为仅包括 JOBINIT 或 HPCINIT。

按插槽数缩放和调整作业出口速率

在大型多处理器主机上,使用 lsb.params 中的 ENABLE_EXIT_RATE_PER_SLOT=Y 来扩展作业出口速率,以便仅当作业出口速率与主机上的处理器数成比例足够高时才关闭主机。 这可避免不适当地关闭主机的出口率相对较低。

lsb.params 中使用 GLOBAL_EXIT_RATE 的浮点值来调整多插槽主机上的出口速率。 实际计算的出口速率值绝不小于 1。

示例: 单处理器和多处理器主机上 5 的出口速率

在单处理器主机上,作业出口速率 5 比 20 处理器主机上的严重得多。 如果到单处理器主机的作业流持续发生故障,那么合理的做法是关闭主机或在发生五次故障后执行其他操作。

另一方面,对于 20 处理器主机上的相同作业流,可能有 19 个处理器忙于做其他运行正常的工作。 仅在发生 5 个故障后关闭此主机将是错误的,因为该主机上实际发生故障的作业实际上少于 5%。

示例: 多插槽主机上 GLOBAL_EXIT_RATE 的浮点值

将浮点值用于 GLOBAL_EXIT_RATE 允许出口速率小于主机上的插槽数。 例如,在具有四个插槽的主机上, GLOBAL_EXIT_RATE=0.25 给出的退出速率为 1。 8 个插槽机器上的相同值将为 2 ,依此类推。 在单插槽主机上,该值永不小于 1。