助力深度学习!阿里开源可插拔 GPU 共享调度工具( 八 )
2. 扩展调度
GPU Share Scheduler Extender 可以在分配 gpu-mem 给 Pod 的同时将分配信息以 annotation 的形式保留在 Pod spec 中 , 并且在过滤时刻根据此信息判断每张卡是否包含足够可用的 gpu-mem 分配 。
2.1 Kubernetes 默认调度器在进行完所有过滤(filter)行为后会通过 http 方式调用 GPU Share Scheduler Extender的filter 方法 这是由于默认调度器计算 Extended Resource 时 , 只能判断资源总量是否有满足需求的空闲资源 , 无法具体判断单张卡上是否满足需求;所以就需要由 GPU Share Scheduler Extender 检查单张卡上是否含有可用资源 。 以下图为例 , 在由 3 个包含两块 GPU 卡的节点组成的 Kubernetes 集群中 , 当用户申请gpu-mem=8138
时 , 默认调度器会扫描所有节点 , 发现 N1 所剩的资源为 (16276 * 2 - 16276 -12207 = 4069 )不满足资源需求 , N1 节点被过滤掉 。 而 N2 和 N3 节点所剩资源都为 8138MiB , 从整体调度的角度看 , 都符合默认调度器的条件;此时默认调度器会委托 GPU Share Scheduler Extender 进行二次过滤 , 在二次过滤中 , GPU Share Scheduler Extender 需要判断单张卡是否满足调度需求 , 在查看 N2 节点时发现该节点虽然有 8138MiB 可用资源 , 但是落到每张卡上看 , GPU0 和分别 GPU1 只有 4069MiB 的可用资源 , 无法满足单卡 8138MiB 的诉求 。 而 N3 节点虽然也是总共有 8138MiB 可用资源 , 但是这些可用资源都属于 GPU0 , 满足单卡可调度的需求 。 由此 , 通过 GPU Share Scheduler Extender 的筛选就可以实现精准的条件筛选 。
推荐阅读
- 无尽梦魇|魔兽世界TBC:深度解析“翠绿的宝珠”对哪些职业保值
- 国服|LOLM:60天内如何从小白打到国服王者?这快捷径方法值得学习
- 催眠学习|《催眠学习》PC版,一款教你如何恋爱的游戏,非绅骑步呦!
- 虎牙|哈利波特手游:同流派该如何击败?虎牙小若沐展示细节,值得学习
- edg战队|亿万中国水友“毒奶”助力EGD夺S11总冠军,你参与了吗?
- 李九|S组才是真正的宝藏!解说李九深度分析KPL秋季赛第三轮,爆发到了
- 梦幻西游|梦幻西游:一只须弥画魂的励志蜕变史,这才是值得学习人生态度!
- 手机游戏|LOL手游出现第一位顶级主播,直播教学,全是顶级博主来学习
- ag战队|AG终于有大心脏选手了!一诺啊泽自信心全无,这点真要像妖刀学习
- lck|梦幻西游手游:萌新最强助力?侠义值换银币,比押镖挖宝强多了!