不同的DL训练任务在不同的阶段对资源的利用不一样,如果可以让多个DL训练任务交错地安排可以增加并行度和资源利用率
交错和流水线不一样,流水线是任务内的不同阶段重叠,比如网络IO同步和GPU计算前向后向传播之间的流水线,会受数据依赖的限制,交错是不同的任务之间在不同阶段利用不同的资源
交错的困难是任务之间不一定是对齐的,不一定达到理想加速比,而且怎么选择哪些任务在一组里交错以最小化JCT也是一个复杂的问题,还有就是多机多卡的任务不同的worker要和其他任务一起交错,同时又要和其他worker同步,就会有同步开销
两种资源,两个任务的interleave一般图最大权匹配——Blossom algorithm O(|V|^3)的时间复杂度
k种资源,k个任务:maximum weighted 𝑘-uniform hypergraph matching
多GPU的训练任务交错,一个group的任务间的交错和任务内的worker同步会相互影响,发生蝴蝶效应导致全体变慢,这篇文章的做法是使用相同GPU数量的任务之间才能交错
每个interval六分钟,将暂停所有任务重新组队