策略 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

策略

Amazon SageMaker HyperPod 任务管理简化了您的 Amazon EKS 集群资源的分配方式以及任务优先级的排列方式。以下内容提供有关 HyperPod EKS 集群策略的信息。有关如何设置任务治理的信息,请参阅任务治理设置

这些策略分为计算资源优先级计算资源分配。以下策略概念将围绕这些策略的框架进行整理。

计算资源优先级(又称集群策略)决定了空闲计算资源的借入方式,以及团队为任务设置优先级的方式。

  • 空闲计算资源分配定义在团队间分配空闲计算资源的方式。也就是说,如何从团队处借入未使用的计算资源。选择空闲计算资源分配时,可以在以下选项中进行选择:

    • 先到先得:应用此选项后,团队之间不进行优先级区分,并且每个传入任务获得超额配额资源的概率均等。根据提交顺序设定任务的优先级。这意味着,如果用户最先提出申请,就有可能使用 100% 的空闲计算资源。

    • 公平共享:应用此选项时,团队将根据其分配到的公平共享权重借入空闲计算资源。这些权重是在计算资源分配中定义的。有关其使用方式的更多信息,请参阅共享空闲计算资源示例

  • 任务优先级定义任务在计算资源可用时的排队方式。选择任务优先级时,可以在以下选项中进行选择:

    • 先到先得:应用此选项时,按任务的请求顺序对任务排队。

    • 任务排名:应用此选项时,按任务优先级所定义的顺序对任务排队。如果选择此选项,则必须添加优先级类以及这些优先级类应遵循的权重排序规则。相同优先级类的任务将按先到先得的原则执行。在“计算资源分配”中启用此选项后,团队内部优先级较高的任务会抢占优先级较低的任务的资源。

      当数据科学家向集群提交作业时,他们会在 YAML 文件中使用优先级类名称。优先级类的格式为 priority-class-name-priority。有关示例,请参阅向 SageMaker AI 管理的队列和命名空间提交任务

    • 优先级类:这些类为借用容量时任务确定相对优先级。当任务使用借入的配额运行时,如果传入任务无可用容量,该任务可能会被优先级高于它的其他任务抢占资源。如果在计算资源分配中启用抢占选项,则优先级较高的任务也可能抢占其团队内部任务的资源。

计算资源分配(又称计算资源配额)定义了团队的计算资源分配,以及在公平共享空闲计算资源分配中为团队设定的权重(或优先级级别)。

  • 团队名称:团队的名称。将创建一个类型为 hyperpod-ns-team-name 的相应的命名空间

  • 成员:团队命名空间的成员。您需要为想要加入该团队的数据科学家用户设置基于角色的 Kubernetes 访问控制 (RBAC),以便在使用 Amazon EKS 编排的集群 HyperPod上运行任务。要设置 Kubernetes RBAC,请按照创建团队角色中的说明进行操作。

  • 公平共享权重:在对空闲计算资源分配应用公平共享时,这是为团队分配的优先级级别。最高优先级的权重为 100,最低优先级的权重为 0。权重越高,团队在共享容量内获取未使用资源的速度就越快。权重为零表示最低优先级,这意味着与其他团队相比,该团队将始终处于不利地位。

    公平共享权重可让该团队在与其他团队竞争可用资源时获得相对优势。准入机制会优先调度权重最高且资源借入量最少的团队所提交的任务。例如,如果团队 A 的权重为 10,团队 B 的权重为 5,则团队 A 在获取未使用资源时将拥有优先权,也就是说,团队 A 的作业会比团队 B 的作业更早被调度。

  • 任务抢占:计算资源会依据优先级从某个任务中被接管。默认情况下,借出空闲计算资源的团队会抢占其他团队的任务资源。

  • 借出和借入:团队如何借出空闲计算资源,以及团队是否能从其他团队借入空闲计算资源。

    • 借入限制:允许团队借入的空闲计算资源上限。一个团队最多可借入其已分配计算资源的 500% 的额度。您在此处提供的数值将被解读为百分比。例如,数值 500 将被解读为 500%。

有关如何使用这些概念(例如优先级类和命名空间)的信息,请参阅 HyperPod 任务管理Amazon CLI命令示例

共享空闲计算资源示例

总预留配额不应超过集群中该资源的可用容量,以确保正常管理配额。例如,如果一个集群包含 20 个 ml.c5.2xlarge 实例,则分配给各个团队的累计配额应保持在 20 个以下。

如果团队的计算资源分配策略允许借出和借入借出,则这些团队之间将共享空闲容量。例如,团队 A 和团队 B 已启用借出和借入。团队 A 的配额为 6,但当前仅将 2 个资源用于其作业;团队 B 的配额为 5,当前将 4 个资源用于其作业。向团队 B 提交的一个作业需要 4 个资源,其中 3 个资源将从团队 A 借入。

如果任意团队的计算资源分配策略设置为不借出,则该团队无法借入超出自身配额的额外容量。

要维护一个可供所有团队借入资源的资源池或资源集合,您可以设立一个专门的团队,该团队所配备的资源可填补其他团队的配额与集群总容量之间的缺口。确保此累计资源分配包含相应的实例类型,且不超过集群总容量。要确保这些资源可在团队之间共享,可让参与团队将计算资源分配设置为借出和借入借出以适配此公共资源池。每当引入新团队、更改配额分配,或集群容量发生任何变化时,都需重访所有团队的配额分配情况,并确保累计配额不超过集群容量。