基于时间的服务类

基于时间的服务类根据任何一次运行的作业数来配置工作负载。 截止期限,吞吐量和作业速度的目标可确保您的作业按时完成,并降低错过截止期限的风险。

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

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

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

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

您应该在作业级别 (-W 选项) ,应用程序级别 ( lsb.applications中的应用程序定义中的 RUNLIMIT 参数) 或队列级别 ( lsb.queues中的队列定义中的 RUNLIMIT 参数) 提交具有运行时间限制的基于时间的 SLA 作业。 您还可以使用在应用程序级别定义的运行时估算值 ( lsb.applications中的 RUNTIME 参数) 而不是运行时限制或与运行时限制一起提交作业。

下表描述了 LSF 如何使用您为基于时间的 SLA 调度提供的值。

如果指定 ...

而且…

然后

运行时间限制和运行时间估算

运行时估算值小于或等于运行时限制

LSF 使用运行时估算来计算正在运行的作业的最佳数量。

运行时间限制

未指定运行时估算值,或者估算值大于限制

LSF 使用运行时间限制来计算正在运行的作业的最佳数量。

运行时估算

未指定运行时间限制

LSF 使用运行时估算来计算正在运行的作业的最佳数量。

既没有运行时间限制,也没有运行时间估算

LSF 会根据观察到的已完成作业的运行时间自动调整正在运行的作业的最佳数量。


基于时间的服务类优先级

值越大表示相对于其他基于时间的服务类的优先级越高。 与队列优先级类似,基于时间的服务类按优先级顺序访问集群资源。

LSF 一次从一个基于时间的服务类调度作业,从优先级最高的服务类开始。 如果多个基于时间的服务类具有相同的优先级,那么 LSF 将按照在 lsb.serviceclasses中配置服务类的顺序运行这些服务类中的作业。

LSF 中基于时间的服务类优先级完全独立于 UNIX 调度程序的用于分时进程的优先级系统。 在 LSF 中, NICE 参数用于设置批处理作业的 UNIX 分时优先级。

基于时间的服务类的用户组

您可以通过配置服务类的用户组来控制对基于时间的 SLA 的访问。 如果在 lsb.users中指定了 LSF 用户组,那么该组中的每个用户都可以向此服务类提交作业。 如果组包含子组,那么服务类策略将以递归方式应用于子组中的每个成员。 该组可以定义其成员之间的公平共享,并且服务类定义的 SLA 在为 SLA 配置的用户组中的用户之间强制实施公平共享策略。

缺省情况下,集群中的所有用户都可以向服务类提交作业。

基于时间的 SLA 限制

多集群

多集群不支持基于时间的 SLA。

抢占

无法抢占基于时间的 SLA 作业。 您应该避免在低优先级队列中运行属于 SLA 的作业。

区块作业

SLA 作业将不会分块。 您应该避免将 SLA 作业提交到区块作业队列。

可调整大小的作业

对于可调整大小的作业分配请求,由于作业本身已开始运行,因此 LSF 会绕过分派速率检查并继续调度分配请求。

基于时间的 SLA 统计信息文件

每个基于时间的 SLA 目标都会生成一个统计信息文件,用于监视和分析系统。 当目标变为不活动时,将不再更新文件。 在 LSB_SHAREDIR/cluster_name/logdir/SLA 目录中创建文件。 每个文件名都由服务类的名称和目标类型组成。

例如,将为服务类名 Quadra的截止期限目标创建名为 Quadra.deadline 的文件。 以下名为 Tofino.velocity 的文件是指名为 Tofino的服务类的速率目标:

cat Tofino.velocity
# service class Tofino velocity, NJOBS, NPEND (NRUN + NSSUSP + NUSUSP), (NDONE + NEXIT)   
17/9      15:7:34   1063782454 2 0 0 0 0    
17/9      15:8:34   1063782514 2 0 0 0 0    
17/9      15:9:34   1063782574 2 0 0 0 0  
# service class Tofino velocity, NJOBS, NPEND (NRUN + NSSUSP + NUSUSP), (NDONE + NEXIT)   
17/9      15:10:10   1063782610 2 0 0 0 0