Gandiva:Introspective Cluster Sc
2018-10-24 本文已影响0人
豆浆酥
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:
未完待续,后面具体的实现不继续看了,暂时不实际具体的调度系统。