助力深度学习!阿里开源可插拔 GPU 共享调度工具( 五 )

  • 能够让使用者通过 API 描述对于一个可共享资源的申请 , 并能实现该种资源的调度

  • [
    (https://www.atatech.org/articles/132268#3)非目标

    • 不支持该共享资源的隔离

    • 不支持超卖

    [
    (https://www.atatech.org/articles/132268#4)设计原则

    1. 明确问题简化设计 , 第一步只负责调度和部署 , 后续再实现运行时显存管控 。
      有很多的客户明确的诉求是首先可以支持多AI应用可以调度到同一个 GPU 上 , 他们可以接受从应用级别控制显存的大小 , 利用类似gpu_options.per_process_gpu_memory_fraction控制应用的显存使用量 。 那我们要解决的问题就先简化到以显存为调度标尺 , 并且把显存使用的大小以参数的方式传递给容器内部 。

    2. 不做侵入式修改
      本设计中不会修改 Kubernetes 核心的 Extended Resource 的设计 , Scheduler 的实现 , Device Plugin 的机制以及 Kubelet 的相关设计 。 重用 Extended Resource 描述共享资源的申请 API 。 这样的好处在于提供一个可以移植的方案 , 用户可以在原生 Kubernetes 上使用这个方案 。

      推荐阅读