使用面向目标的 SLA 调度

注: 不推荐使用此功能,在未来版本的 LSF中可能会将其除去。

面向目标的 SLA 调度策略可帮助您配置工作负载,以便按时完成作业。 它们使您能够专注于项目的 "内容和时间" ,而不是需要为满足各种工作负载而分配 "如何" 资源的低级详细信息。

LSF 中的服务级别协议

服务级别协议 (SLA) 定义如何交付服务以及用于交付服务的参数。 它指定服务提供者和服务接受者同意的内容,定义提供者与接受者之间关于若干问题的关系,其中包括:

  • 要交付的服务
  • 性能
  • 跟踪和报告
  • 问题管理

LSF 中的 SLA 是一种 "及时" 调度策略,用于定义 LSF 管理员与 LSF 用户之间的协议。 SLA 调度策略定义应该从每个 SLA 运行的作业数以满足配置的目标。

服务类

SLA 定义由各个服务类中表示的服务级别目标组成。 服务类是实际配置的策略,用于设置 LSF 系统的服务级别目标。 SLA 定义了工作负载 (作业或其他服务) 和需要完成工作的用户,而满足 SLA 的服务类定义了各个目标,以及服务类处于活动状态的时间窗口。

服务级别的目标可以分为两种互斥的目标: 保证基于资源的目标,以及基于时间的目标,包括速度,吞吐量和截止期限目标。 基于时间的目标允许控制在任何时间运行的作业数,而基于资源的目标允许控制资源分配。

服务级别目标

您可以配置以下类型的目标:

截止期限目标

应在指定的时间范围内完成指定数量的作业。 例如,运行周末提交的所有作业。 截止期限目标是基于时间的。

速率目标

表示为同时运行的作业。 例如: 在 9:00 a.m之间维护 10 个正在运行的作业。 和 5:00 p.m。 速率目标非常适合短作业 (运行时间少于 1 小时)。 此类作业可快速离开系统,并且配置速率目标可确保稳定的作业流经系统。

吞吐量目标

表示为每小时完成的作业数。 例如在下午 6:00 之间每小时完成 15 项工作。 和上午 7:00 吞吐量目标适用于中等到长期运行的作业。 这些作业在系统中停留的时间较长,因此您通常希望控制它们的完成率而不是它们的流。

组合目标

您可能希望设置速度目标以最大化白天的快速工作,并设置截止期限和吞吐量目标以管理夜间和周末运行时间较长的工作。

服务类如何执行面向目标的调度

面向目标的调度使用其他较低级别的 LSF 策略 (例如队列和主机分区) 来满足服务类所表达的服务级别目标。 先考虑服务类的决策,然后再考虑任何队列或主机分区决策。 对于较低级别的调度对象 (例如,队列,主机和用户) ,仍会实施限制。

正在运行的作业的最佳数量

在提交作业时, LSF 将确定服务类满足其服务级别目标所需的最佳作业槽数 (或同时运行的作业)。 LSF 调度至少等于为服务类计算的最佳插槽数的作业数。

LSF 尝试以最有效的方式实现 SLA 目标,使用最佳数量的作业槽,以便集群中的其他服务类或其他类型的工作仍可继续进行。 例如,在定义截止期限目标的服务类中, LSF 将工作分布在目标的整个时间范围内,这可避免阻塞其他工作,方法是在开始时分配尽可能多的槽以比截止期限提前完成。

向服务类提交作业

使用 bsub -sla service_class_name 将作业提交到服务类以进行 SLA 驱动的调度。

向服务类提交作业与向队列提交作业一样,但服务类是更高级别的调度策略,它使用其他较低级别的 LSF 策略 (例如队列和主机分区) 来满足服务类所表达的服务级别目标。

例如:

% bsub -W 15 -sla Kyuquot sleep 100

将 UNIX 命令与其自变量 100 一起作为作业提交给名为 Kyuquot 的服务类。

将在其中运行作业的服务类名在 lsb.serviceclasses中配置。 如果 SLA 不存在,或者用户不是服务类的成员,那么将拒绝该作业。

在配置的时间窗口之外, SLA 处于不活动状态,并且 LSF 在不强制实施任何服务级别目标的情况下调度作业。 即使使用 -sla提交作业,作业也将在队列优先级之后流经队列。

使用运行限制提交

提交作业时应设置运行时间限制(-W选项),或者队列应指定运行时间限制(lsb.queues 中队列定义中的 RUNLIMIT)。 如果未指定运行时间限制,那么 LSF 会根据观察到的已完成作业的运行时间自动调整正在运行的作业的最佳数量。

-sla 和-g选项

不能将 -g 选项与 -sla配合使用。 作业可以连接到作业组或服务类,但不能同时连接到两者。

修改 SLA 作业 (bmod)

使用 bmod 的 -sla 选项来修改作业附加到的服务类,或将提交的作业附加到服务类。 使用 bmod -slan 从服务类拆离作业。 例如:

% bmod -sla Kyuquot 2307

将作业 2307 连接到服务类 Kyuquot。

% bmod -slan 2307

从服务类 Kyuquot 拆离作业 2307。

您不能:

  • -sla 与其他 bmod 选项配合使用。

  • 修改已附加到作业组的作业的服务类。