空闲资源提示

更新时间:

该功能是提交任务时, 资源配置 的一个辅助功能,尤其便于帮助提交分布式离线训练的用户知晓当前空闲资源量,降低排队可能性。

如下图所示,资源配置 右侧为空闲资源提示,您可以调整 主要资源限制,来查看以该资源为主的最大可用空闲资源。 本文将介绍空闲资源量的获取逻辑,以便帮助您了解该功能从而更好更快的提交任务。

# 资源选择为 CPU

系统根据您选择的 主要资源限制,按其剩余量多少对集群中的节点进行排序,剩余多的排在前面,如遇剩余量相同则再对比另一类资源的剩余量来决定先后,多的在前。界面上空闲资源则显示排序第一的节点上的剩余 CPU 和内存量。 场景举例 有如下一个集群,共三个节点 ,主要资源限制 设置为 CPU。

节点 CPU 剩余 内存剩余
node1 80 200G
node2 70 200G
node3 80 320G
  • 空闲值获取逻辑 按 CPU 剩余量多少对集群中的节点进行排序,多的在前;如遇剩余量相同则再对比 内存 资源的剩余量,多的在前。最终得到如下排序:

    节点 CPU 剩余 内存剩余
    node3 80 320G
    node1 80 200G
    node2 70 200G
  • 空闲资源提示

    • 节点最大空闲 CPU:80 core
    • 同节点空闲内存:320 GB

# 资源选择为 GPU(物理卡)

# 单机模式

适用于初始化开发环境、提交普通离线训练场景。 系统筛选出集群中包含该 GPU 型号的节点,再根据您选择的 主要资源限制,按其剩余量多少对这些节点进行排序,剩余多的排在前面,如遇剩余量相同则对比其他资源的剩余量,其他资源按 [GPU] -> [CPU] -> [内存] 的优先级依次去对比。界面上则展示排序第一的节点上的剩余 CPU 和内存量。

场景举例

型号 选择 Tesla T4主要资源限制 设为 GPU,系统过滤出集群中含 Tesla T4 卡的节点有如下:

节点 GPU 剩余 CPU 剩余 内存剩余
node1 32 100 200 GB
node2 16 80 160 GB
node3 8 50 100 GB
node4 16 80 170 GB
  • 空闲值获取逻辑:

    1. 按 GPU 剩余量多少排序一次,多的在前。

    2. 对于 GPU 剩余量相同的节点,对比他们剩余的 CPU 量仅对他们进行一次单独排序,多的排在前;其他节点排序位置不变。

    3. 对于 GPU、CPU 剩余都相同的节点,对比他们 内存 资源的剩余量仅对他们再进行一次单独排序,多的在前;其他节点排序位置不变;最终得到如下排序。

      节点 GPU 剩余 CPU 剩余 内存剩余
      node1 32 100 200 GB
      node4 16 80 170 GB
      node2 16 80 160 GB
      node3 8 50 100 GB
  • 空闲资源提示

    • 节点最大空闲 GPU:32 卡
    • 同节点空闲 CPU:100 core
    • 同节点空闲内存:200 GB

# 分布式场景

适用于分布式离线训练场景。 先筛选出含 GPU 型号的节点,然后根据“主要资源限制”,给各节点排序:

  • 当主要资源限制为 GPU 时 先按卡数从多到少进行排序,若存在多个节点卡数相同,再看各自的CPU数,若也相同,再看内存,得到排序。

  • 当主要资源限制为 CPU 时 先按CPU从多到少进行排序,若存在多个节点CPU相同,再看各自的GPU数,若也相同,再看内存,得到排序。

  • 当主要资源限制为内存时 先按内存从多到少进行排序,若存在多个节点内存相同,再看各自的GPU数,若也相同,再看CPU,得到排序;

然后根据实例个数 n,取排名前 n 的节点中,各资源的最小值,以保证 n 个实例随机调度到前 n 节点上都能被运行起来。 若实例数 n 大于节点数,取所有节点各资源的最小值即可。

场景举例型号 选择 Tesla T4实例个数 设置为 2主要资源限制 设为 GPU,系统过滤出集群中含 Tesla T4 卡的节点有如下:

节点 GPU 剩余 CPU 剩余 内存剩余
node1 32 100 100 GB
node2 16 80 160 GB
node3 8 50 100 GB
node4 16 80 170 GB
  • 空闲值获取逻辑

    1. 按 GPU 剩余量多少排序一次,多的在前。

    2. 对于 GPU 剩余量相同的节点,对比他们剩余的 CPU 量仅对他们进行一次单独排序,多的排在前;其他节点排序位置不变。

    3. 对于 GPU、CPU 剩余都相同的节点,对比他们 内存 资源的剩余量仅对他们再进行一次单独排序,多的在前;其他节点排序位置不变。 最终得到如下排序。

      节点 GPU 剩余 CPU 剩余 内存剩余
      node1 32 100 100 GB
      node4 16 80 170 GB
      node2 16 80 160 GB
      node3 8 50 100 GB
  • 空闲资源提示 根据实例个数 2,取排名前 2 的节点中,各资源的最小值来提示剩余资源,以保证您按提示填写了最大的量,这两个实例都能在排名前 2 的任一节点上运行起来。即提示资源量如下。

    • 前n节点最小空闲 GPU:16 卡
    • 前n节点最小空闲 CPU:80 core
    • 前n节点最小空闲内存:100 GB

# 资源选择为 GPU(虚拟卡)

# 单机模式

适用于初始化开发环境、提交单机离线训练时。 若平台调度模式是 local-only,则先过滤出配置虚拟卡的节点,其余逻辑与物理卡一致; 若平台调度模式是 local-first,则任务可跨节点使用 GPU,即调度到 node1 上的任务可直接使用 node2 上的 GPU 资源,因此 空闲 GPU 的获取不受 主要资源限制 选择的制约,也与 空闲内存空闲 CPU 不相制约,他们来源于两个排序。

说明:实例所需的 GPU 资源需完整的来源于 1 个节点,不可由多个节点拼凑。

  • 排序 1,用于获取 空闲 GPU。 即取过滤出的节点中剩余 GPU 量最多的那个节点上的 GPU 剩余值。
  • 排序 2,用于获取 空闲 CPU空闲内存。 按您选择的 主要资源限制 的资源剩余量排序节点,剩余多的排在前面,如遇剩余量相同则再对比另一类资源的剩余量,最终取排名第一节点上剩余的 CPU 和内存值。

场景举例 平台调度模式为 local-first型号 选择 Tesla T4主要资源限制 设为 GPU,系统过滤出集群中含 Tesla T4 卡的节点有如下:

节点 GPU 剩余 CPU 剩余 内存剩余
node1 32 70 100 GB
node2 16 80 160 GB
node3 8 50 100 GB
node4 16 80 170 GB
  • 空闲值获取逻辑

    • 排序 1 按 GPU 剩余量多少排序,多的在前,得到一个排序。

    • 排序 2

      1. 按 CPU 剩余量多少排序,多的在前。

      2. 对于 CPU 剩余都相同的节点,对比他们 内存 资源的剩余量仅对他们再进行一次单独排序,多的在前;其他节点排序位置不变;最终得到如下排序。

        节点 GPU 剩余 CPU 剩余 内存剩余
        node4 16 80 170 GB
        node2 16 80 160 GB
        node1 32 70 100 GB
        node3 8 50 100 GB
  • 空闲资源提示

    • 节点最大空闲 GPU:32 卡
    • 同节点空闲 CPU:80 core
    • 同节点空闲内存:170 GB

# 分布式场景

适用于提交分布式离线训练场景。

  • 若平台调度模式是 local-only,则资源空闲提示值的获取同 资源选择 GPU(物理卡)分布式场景

  • 若平台调度模式是 local-first,则任务可跨节点使用 GPU,即调度到 node1 上的任务可直接使用 node2 上的 GPU 资源,因此 空闲 GPU 的获取不受 主要资源限制 选择的制约,也与 空闲内存空闲 CPU 不相制约,他们来源于两个排序。

    说明:实例所需的 GPU 资源需完整的来源于 1 个节点,不可由多个节点拼凑。

    • 排序 1,用于获取 空闲 GPU。 按剩余 GPU 卡数给节点排序,多的靠前,显示排名前 n(实例数) 中最小的 GPU 卡数剩余。
    • 排序 2,用于获取 空闲 CPU空闲内存。 按您选择的 主要资源限制 的资源剩余量排序节点,剩余多的排在前面,如遇剩余量相同则再对比另一类资源的剩余量,最终取前 n 节点中 CPU 和内存的最小值,以保证 n 个实例随机调度到前 n 节点上都能被运行起来。

场景举例 平台调度模式为 local-first实例个数2型号 选择 Tesla T4主要资源限制 设为 GPU,系统过滤出集群中含 Tesla T4 卡的节点有如下:

节点 GPU 剩余 CPU 剩余 内存剩余
node1 32 70 100 GB
node2 16 80 160 GB
node3 8 50 100 GB
node4 16 80 170 GB
  • 空闲值获取逻辑:

    • 排序 1 按 GPU 剩余量多少排序,多的在前,得到一个排序如下。空闲 GPU 为排名前 2 节点中最小的 GPU 剩余量即 16 卡。

      节点 GPU 剩余 CPU 剩余 内存剩余
      node1 32 70 100 GB
      node2 16 80 160 GB
      node4 16 80 170 GB
      node3 8 50 100 GB
    • 排序 2

      1. 按 CPU 剩余量多少排序,多的在前。

      2. 对于 CPU 剩余都相同的节点,对比他们 内存 资源的剩余量仅对他们再进行一次单独排序,多的在前;其他节点排序位置不变;最终得到如下排序。

        节点 GPU 剩余 CPU 剩余 内存剩余
        node4 16 80 170 GB
        node2 16 80 160 GB
        node1 32 70 100 GB
        node3 8 50 100 GB

      取排名前 2 节点中最小的 CPU 剩余量和显存剩余量,应为 80 core 和 160GB。

  • 空闲资源提示

    • 前n节点最小空闲 GPU:16 卡
    • 前n节点最小空闲 CPU:80 core
    • 前n节点最小空闲内存:160 GB