作业生命周期

LSF 作业经历几种状态,从作业提交开始,到调度,执行和最终返回作业结果。

1. 提交一个作业

您可以使用 bsub 命令从 LSF 客户端或服务器提交作业。

如果在提交作业时未指定队列,则该作业将提交到默认队列。

作业在等待调度时被排在队列中。 等待的作业处于 PEND 状态。 如果在配置文件lsb.params中定义了 MAX_INFO_DIRS 参数,则该作业将保存在 LSF_SHAREDIR/cluster_name/logdir/info/ 目录中的作业文件中,或者在其子目录之一中。

  • 作业 ID

    提交作业时,LSF 为每个作业分配唯一的作业 ID。

  • 作业名

    您还可以使用 bsub-J 选项为作业分配一个任意名称。 与作业 ID 不同,作业名称不一定是唯一的。

2. 调度该作业

  • 1 主批处理守护程序(mbatchd)查看队列中的作业,然后将要调度的作业,发送到主批处理调度程序守护程序(mbschd)。 作业以预设的时间间隔进行调度(由配置文件 lsb.params 中的参数 JOB_SCHEDULING_INTERVAL 定义)。

  • 2 mbschd 根据以下内容评估作业并制定计划决策:

    • 作业优先级

    • 调度策略

    • 可用资源

  • 3 mbschd 选择作业可以运行的最佳主机,并将其决策发送回 mbatchd。资源信息由主负载信息管理器(LIM)以预设的时间间隔,从服务器主机上的 LIM 上收集。 主 LIM 将此信息传达给 mbatchd,后者又将其传达给 mbschd 以支持调度决策。

3. 分配该作业

mbatchd 收到调度决策后,便立即将作业分配给主机。

4. 运行该作业

从属批处理守护程序(sbatchd)具有以下功能:

  • 1 从 mbatchd 接收请求。

  • 2 为作业创建一个子 sbatchd

  • 3 创建执行环境。

  • 4 通过使用远程执行服务器(res)启动作业。

    LSF 将执行环境从提交主机复制到执行主机:

    • 作业所需的环境变量

    • 作业开始运行的工作目录

    • 其他与系统有关的环境设置

      • 在 UNIX 和 Linux 上,资源限制和 umask

      • 在 Windows,桌面和 Windows 根目录

        作业在提交该作业的用户帐户下运行,并且状态为 RUN。

5. 返回结果

作业完成后,如果作业完成没有任何问题,则会被分配为 "DONE" 状态。 如果错误导致作业无法完成,则会为该作业分配 "EXIT" 状态。

sbatchd 传递作业信息,例如错误信息,并输出到 mbatchd

6. 向客户发送 email

mbatchd 通过电子邮件将作业输出,作业错误和作业信息返回给提交主机。 使用 bsub-o -e 选项将作业输出和错误发送到文件。

作业报告通过电子邮件发送给 LSF 客户端,其中包括以下信息:

  • 作业信息:

    • CPU 使用

    • 内存使用

    • 提交作业的帐户名称

  • 作业输出

  • 错误

最后更新于