一、原文:
Optimizing the Transition Waste in Coded Elastic Computing
二、研究前提:
1、任务分配:每台机器负载相同,且每个任务被相同数量的worker执行
2、转换重新分配:当有机器加入或离开时,现有机器执行的任务会发生变化、
3、所有任务的编码以及主节点对任务的分配规则:(以矩阵向量乘法举例)
首先将矩阵A按行均匀划分为F个子任务(若不能均匀划分,则最后一行用0补齐):A0,A1....A(F-1),A(i)x即表示任务i,每个子任务再利用MDS编码(划分为E等分,然后利用MDS编码为N份,其中Nmax为当前最大可能的机器数量),再将从Nmax等份数据中挑选出N份分发给每台机器,所以每台机器里所存储的都是任务F的部分
三、主要内容:(主要目标:就是让各个机器当前所执行的任务重叠部分尽量的小)
1、循环分配方案
就是弹性编码方案一文中所述的任务分配方案(浪费最大)
(1)计算了加入一台机器所需要的的转换浪费
(2)计算了一台机器被占用从而使任务重新分配后的转换浪费(较复杂)
2、移位循环分配方案
(1)引入集合对称差的概念:两集合中不重叠的元素的总个数
(2)计算了加入一台机器时,最优的移位数使转换浪费最小
(3)计算了一台机器被占用从而使任务重新分配后,使转换浪费最小的最优移位数
3、0转换浪费
因为上述两种方案在机器数发生改变时,均会有转换的浪费(就意味着原来机器执行的部分任务会被丢弃,且需要重新从主节点上下载新的任务执行),极大的增大了开销,所以引入0转换浪费。
(1)加入一台机器时的转换浪费:总存在0浪费转换,只要从当前机器上移出固定数量且不重叠的任务到新增的机器上,就会实现0浪费转换(证据表明该种转换一定存在)
(2)有机器离开时的0转换浪费:(较复杂)
(1)有机器离开时主要就涉及将当前离开机器的任务合理的分配到当前处于运行状态的机器上
(2)那么如何判断当前机器上的任务是否能被合理分配,就需要用到霍尔婚配定理
(注意:该定理无法给出如何进行任务分配!!)。
(3)因为实际情况是会有多个机器一个接一个的离开,那么离开多少台机器仍能保持0浪费转换?
论文后面就给出了离开多个机器数仍能保持0浪费转换的上限R。
(如果超过R个机器离开,就可能不再会是0浪费转换了))
2.1)原则:当前还存在的机器必须保持当前执行序列不变,且接收被占用机器所给的新的任务
2.2)如何实现?(重点!)
涉及到知识点:二部图、二部图的完美匹配、霍尔婚配定理(核心)、转换树、fano平面
2.4)存在0转换浪费的充要条件:
也即是机器与机器之间任务的交集要尽量小。(需要理解为什么就需要用到上面所 涉及到的知识点)
2.5)能离开机器数且仍能保持0浪费转换的上限R(如果第R+1个机器离开,就会产生一 定的开销了,不再是0浪费转换)
其中的德尔塔是 :