Gandiva:Introspective Cluster Scheduling for Deep Learning.

OSDI 2018 深度学习自省调度系统研读笔记。作者:Wencong Xiao

用户需要运行一系列的jobs以得到针对特定任务最好的结果,在训练中利用准确率的early feedback作为判断条件以杀死其中某些正在运行(已可以判定为没有价值)的工作。

Gandiva处理的两个问题:

Simultaneous early feedback: 运行过程中返回的中间结果,用于判断是否还要继续运行。**Heterogeneity of deep learning: **不同应用对硬件资源的侧重是不同的,使得难以利用先验(priori)处理问题

By exploiting Intra-job predictability: 通过前几次iteration的运行,将工作合理的分配到更适合的GPU节点上面,集群总体效率得到,超参数搜索速度变快。

Feedback-driven exploration: 挑选网络和选择超参数的过程。
Multi-job: 确定模型后,hyper-parameter search。超参数搜索的一种方法是一组一组的配置轮着试。但由于可能的配置有好几百,就非常的耗时。有些方法会同时启动很多组,然后每固定轮次根据当前结果杀死一部分效果不好的。

Some facts:

  • The prototype implementation and micro-benchmarks.
  • 云上的GPU 虚拟机开销大约是regular VM的十倍。云供应商通过集群调度器管理数以万计的GPUs.但当前的调度系统多是为了big-data jobs开发的。直接独占节点开始运行。
  • Job的运行时长,资源占用等都是不一样的。
  • Ram 使用呈周期性变化。

Some improvements:

  • 将计算需求和内存需求低的任务打包在一起。
  • 将通信密集型的任务放在关联强的GPU节点。
  • 当有额外的资源的时候,自动扩展,当资源不足时,自动回收。
  • 使TF和pytorch框架能够返回用于调度的原语。

DLT job Characteristics:

  • Sensitivity to locality:GPU之间的关联性,可能在不同的CPU sockets,可能在不同的PCIe切换件上。
  • Sensitivity to interference:当不能独占节点时,会出现资源抢占。same PCI-e switch
  • Intra-job predictability:

未完待续,后面具体的实现不继续看了,暂时不实际具体的调度系统。

你可能感兴趣的:(Gandiva:Introspective Cluster Scheduling for Deep Learning.)