Sequential Gradient Coding for Packet-Loss Networks¶
作者: M. Nikhil Krishnan, Erfan Hosseini, Ashish Khisti
来源: IEEE Journal on Selected Areas in Information Theory
主题: 统计计算 / 算法
相关性: 2/10
机构绿灯: University of Toronto(US News 前 50,免分进入精读)
链接: https://doi.org/10.1109/jsait.2021.3102853
一、领域脉络与小综述¶
这个方向是什么¶
本方向研究的是分布式梯度计算中的通信延迟缓解问题。具体来说,在分布式机器学习中,主节点(master)将梯度计算任务分发给多个工作节点(workers),每个工作节点计算一部分梯度并返回结果。然而,由于网络丢包、计算速度差异等因素,工作节点的结果可能延迟到达,导致主节点无法及时聚合完整梯度,从而拖慢整个训练过程。梯度编码(Gradient Coding, GC) 是解决这一问题的一类编码理论方法:通过在工作节点间引入冗余计算(即每个节点计算多于其份额的梯度分量),使得即使部分节点结果延迟或丢失,主节点仍能从已收到的结果中解码出完整梯度。本方向的核心问题是:在给定延迟容忍度(T轮延迟内必须收到完整梯度)和计算负载约束下,如何设计编码方案以最小化总计算时间(或最大化容错性)?
当前该方向的成熟度:已有较成熟的单轮(T=0)梯度编码理论,但跨时间轮次的编码(T>0) 仍处于早期探索阶段。本文是这一子方向的开创性工作之一。
发展脉络(history)¶
- 奠基工作:单轮梯度编码(T=0)
-
Tandon et al. (2017):提出梯度编码(GC)框架。核心思想:将梯度向量分成k个分量,分配给n个工作节点,每个节点计算多个分量(负载为s/k,s为每个节点计算的分量数)。通过编码(如Reed-Solomon码),主节点只需收到任意n-s个节点的结果即可解码完整梯度。留下口子:该方案假设所有延迟在单轮内发生(T=0),即主节点必须在同一轮内收到足够结果;若延迟跨轮(如丢包导致结果在下一轮才到),则无法利用。
-
主要进展:从单轮到跨轮
- Krishnan et al. (2020, ISIT):首次提出顺序梯度编码(SGC)的概念,将编码从空间(跨工作节点)扩展到时间(跨轮次)。核心思想:在每一轮,工作节点不仅计算当前轮的梯度分量,还携带上一轮未成功传输的冗余信息。留下口子:该初步方案仅针对特定延迟模式(如每轮最多一个节点延迟),未给出一般性构造。
-
本文(Krishnan et al., 2021, JSAIT):在ISIT 2020基础上,给出一般性SGC方案,适用于任意延迟模式(每轮任意数量的节点可能延迟),并证明其容错性优于GC。核心贡献:提出一种基于时间-空间编码矩阵的构造,使得主节点在T轮延迟内总能解码完整梯度,且不增加计算负载。
-
当前frontier
- 当前该方向的前沿包括:自适应编码(根据实时延迟动态调整编码策略)、与异步梯度下降结合(如Stochastic Gradient Coding)、非均匀计算负载下的编码(如异构集群)。本文属于"从单轮到跨轮"这一关键扩展的完整理论版本。
子线索聚类¶
- 单轮梯度编码(T=0):Tandon et al. (2017) 为代表。编码仅跨工作节点,假设所有延迟在同一轮内解决。适用于通信延迟较小、丢包率低的场景。
- 跨轮梯度编码(T>0):本文及Krishnan et al. (2020) 为代表。编码跨工作节点和时间轮次,利用历史轮次的冗余信息应对跨轮延迟。适用于通信延迟较大、丢包率高的场景(如无线网络)。
- 异步梯度编码:如Stochastic Gradient Coding (SGC, 2019),将编码与异步SGD结合,允许主节点在收到部分结果后立即更新,而非等待完整解码。与本文的同步设定不同(本文要求主节点在T轮内收到完整梯度后才更新)。
这个方向在追问的核心问题¶
- 给定延迟容忍度T和计算负载s,最小需要多少工作节点n才能保证总能解码?(即编码方案的容错性)
- 如何构造编码方案,使得解码复杂度低(如O(k)而非O(k²))?(实际部署的关键)
- 在异构集群(不同节点计算速度不同)下,如何设计编码?(本文未涉及)
- 能否将编码与异步更新结合,进一步减少等待时间?(本文为同步设定)
已知瓶颈:现有GC方案(T=0)在跨轮延迟下容错性不足;而SGC方案(T>0)的构造复杂度随T增长,且解码算法需处理时间维度上的依赖关系。
⚠️ 作者的 framing¶
这是作者的说法:作者将缺口frame为"经典GC仅考虑空间编码(T=0),无法应对通信级延迟(如丢包导致结果跨轮到达)",因此"显然的下一步"是将编码扩展到时间维度,提出SGC。作者淡化/回避了以下竞争路线: - 异步梯度下降:不等待所有结果,直接更新。作者在intro中提及但未深入比较,仅说"异步方法可能引入梯度陈旧性(stale gradients)问题"。 - 重传机制:丢包后重传。作者认为重传会增加延迟,不如SGC的冗余编码高效。 - 混合方案:部分节点用GC、部分节点用重传。未讨论。
什么明显该被引/该存在、却没出现在intro里? - Stochastic Gradient Coding (SGC, 2019):将编码与异步SGD结合,是本文的直接竞争路线。作者在intro中未引用,仅在related work中提及。值得研究者去查:SGC是否在跨轮延迟场景下比本文方案更优? - Coded Computation (2016):Lee et al. 提出的编码计算框架(用于矩阵乘法等),是梯度编码的前身。本文未引用,但该框架也涉及跨轮延迟问题(如straggler mitigation)。
张力¶
未见明显对立引用。所有被引工作均支持"编码可缓解延迟"这一共识,分歧仅在于编码策略(空间 vs. 时间-空间)和延迟模型(单轮 vs. 跨轮)。
二、最核心、最简单的例子 / 数学问题¶
第一步:符号、模型、可观测数据交代清楚¶
- 符号:
- \( J \):梯度计算轮次总数(如 \( J=3 \) 表示要计算3个梯度)。
- \( \mathbf{g}(t) \in \mathbb{R}^d \):第 \( t \) 轮的完整梯度向量(\( t=0,1,\ldots,J-1 \))。
- \( n \):工作节点总数。
- \( k \):每个梯度被分成的分量数(即每个节点计算 \( d/k \) 维的子梯度)。
- \( s \):每个节点每轮计算的梯度分量数(即计算负载,\( s \geq 1 \))。若 \( s=1 \),每个节点只计算一个分量;若 \( s>1 \),每个节点计算多个分量(冗余)。
- \( T \):延迟容忍度(整数)。主节点必须在第 \( t+T \) 轮结束前收到第 \( t \) 轮的完整梯度 \( \mathbf{g}(t) \)。
- \( \mathbf{g}_i(t) \in \mathbb{R}^{d/k} \):第 \( t \) 轮第 \( i \) 个梯度分量(\( i=0,\ldots,k-1 \))。
- \( \mathbf{c}_j(t) \in \mathbb{R}^{d/k} \):第 \( t \) 轮第 \( j \) 个工作节点计算并发送给主节点的结果(\( j=0,\ldots,n-1 \))。注意:\( \mathbf{c}_j(t) \) 是梯度分量的线性组合(编码后的结果),而非原始分量。
- 可观测数据:主节点在每个轮次 \( t \) 结束时,只能观测到那些成功传输的 \( \mathbf{c}_j(t) \)(即未丢包的结果)。丢包的结果被视为不可观测(延迟到未来轮次才可能收到)。
-
潜在/不可观测量:每个工作节点实际计算了哪些梯度分量(即编码矩阵的分配),以及丢包的具体模式(哪些节点延迟、延迟多久)。这些是主节点不知道的,只能通过编码设计来保证解码。
-
模型:
- 数据生成机制:梯度 \( \mathbf{g}(t) \) 由外部算法(如SGD)产生,本文不关心其具体分布。工作节点计算 \( \mathbf{c}_j(t) \) 作为 \( \mathbf{g}(t) \) 的线性函数:\( \mathbf{c}_j(t) = \sum_{i=0}^{k-1} a_{j,i}(t) \mathbf{g}_i(t) \),其中 \( a_{j,i}(t) \in \{0,1\} \) 是编码系数(0表示不计算该分量,1表示计算)。注意:本文假设编码系数为0/1(即每个节点要么计算一个分量的全部,要么不计算),而非一般线性组合。
- 延迟模型:每个轮次 \( t \),每个工作节点 \( j \) 的结果 \( \mathbf{c}_j(t) \) 可能延迟 \( \delta_{j,t} \) 轮(\( \delta_{j,t} \geq 0 \)),其中 \( \delta_{j,t}=0 \) 表示即时到达,\( \delta_{j,t} \geq 1 \) 表示延迟。主节点在轮次 \( t+\delta_{j,t} \) 结束时收到该结果。关键假设:延迟是有界的,即 \( \delta_{j,t} \leq T \)(否则无法在T轮内解码)。
- 已知量:\( n, k, s, T \) 是设计参数,由系统设计者选择。编码矩阵 \( A(t) \in \{0,1\}^{n \times k} \) 是已知的(由编码方案决定)。丢包模式 \( \delta_{j,t} \) 是未知的(对抗性的,即最坏情况)。
-
要估的对象:主节点需要在每轮 \( t+T \) 结束时,从已收到的所有结果 \( \{\mathbf{c}_j(\tau): \tau \leq t+T, \delta_{j,\tau} \leq t+T-\tau\} \) 中解码出 \( \mathbf{g}(t) \)。
-
可观测数据 vs. 潜在量:
- 可观测:每个轮次结束时,主节点知道哪些结果已到达(即 \( \mathbf{c}_j(\tau) \) 的值),以及它们来自哪个轮次 \( \tau \) 和哪个节点 \( j \)。
- 潜在/不可观测:丢包模式 \( \delta_{j,t} \) 的具体值(主节点只知道结果是否到达,不知道它还会延迟多久);编码矩阵 \( A(t) \) 是已知的,但每个节点实际计算了哪些分量(即 \( a_{j,i}(t) \) 的分配)是设计好的,主节点知道。
第二步:最小内核¶
最简特例:\( k=2, n=3, s=1, T=1 \)。
- 设定:梯度 \( \mathbf{g}(t) \) 被分成2个分量 \( \mathbf{g}_0(t), \mathbf{g}_1(t) \)。有3个工作节点,每个节点每轮只计算1个梯度分量(\( s=1 \))。主节点允许在1轮延迟内收到完整梯度(即第 \( t \) 轮的梯度必须在第 \( t+1 \) 轮结束前解码)。
- 经典GC方案(T=0):若 \( T=0 \),则需在当轮收到所有结果。GC方案:每个节点计算1个分量,但需保证任意2个节点(\( n-s=2 \))的结果可解码。例如:节点0计算 \( \mathbf{g}_0 \),节点1计算 \( \mathbf{g}_1 \),节点2计算 \( \mathbf{g}_0+\mathbf{g}_1 \)(冗余)。这样,若节点0延迟,主节点可用节点1和2的结果解码(\( \mathbf{g}_1 \) 来自节点1,\( \mathbf{g}_0 = (\mathbf{g}_0+\mathbf{g}_1) - \mathbf{g}_1 \))。但若 \( T=1 \),节点0的结果可能在下一轮才到,而主节点在当轮结束时只有节点1和2的结果,仍可解码。问题:若节点0和节点2同时延迟(即当轮只有节点1的结果),则无法解码(因为只有 \( \mathbf{g}_1 \))。GC方案在跨轮延迟下容错性不足。
- SGC方案(T=1):本文方案的核心思想是利用上一轮的冗余信息。具体构造:
- 第0轮:节点0计算 \( \mathbf{g}_0(0) \),节点1计算 \( \mathbf{g}_1(0) \),节点2计算 \( \mathbf{g}_0(0)+\mathbf{g}_1(0) \)(同GC)。
- 第1轮:节点0计算 \( \mathbf{g}_0(1) \),节点1计算 \( \mathbf{g}_1(1) \),节点2计算 \( \mathbf{g}_0(1)+\mathbf{g}_1(1) + \mathbf{g}_0(0) \)(注意:携带了上一轮的 \( \mathbf{g}_0(0) \))。
- 解码:假设第0轮中,节点0和节点2的结果延迟(即当轮只有节点1的结果 \( \mathbf{g}_1(0) \))。主节点在第0轮结束时无法解码 \( \mathbf{g}(0) \)。第1轮结束时,主节点收到第1轮的所有结果(假设无延迟),以及第0轮延迟的结果(节点0和节点2的)。此时,主节点有:
- 第0轮:\( \mathbf{g}_1(0) \)(来自节点1),\( \mathbf{g}_0(0) \)(来自节点0,延迟到达),\( \mathbf{g}_0(0)+\mathbf{g}_1(0) \)(来自节点2,延迟到达)。
- 第1轮:\( \mathbf{g}_0(1) \)(节点0),\( \mathbf{g}_1(1) \)(节点1),\( \mathbf{g}_0(1)+\mathbf{g}_1(1)+\mathbf{g}_0(0) \)(节点2)。
- 解码 \( \mathbf{g}(0) \):从第0轮延迟结果中,已有 \( \mathbf{g}_0(0) \) 和 \( \mathbf{g}_1(0) \),直接得到完整梯度。
- 解码 \( \mathbf{g}(1) \):从第1轮结果中,有 \( \mathbf{g}_0(1) \) 和 \( \mathbf{g}_1(1) \),直接得到完整梯度。注意:节点2的冗余结果 \( \mathbf{g}_0(1)+\mathbf{g}_1(1)+\mathbf{g}_0(0) \) 未用于解码 \( \mathbf{g}(1) \),但可用于应对第1轮的延迟。
- 为什么SGC优于GC:在GC方案中,若第0轮有2个节点延迟(如节点0和节点2),则无法解码。在SGC方案中,通过在第1轮携带上一轮的冗余信息,即使第0轮有2个节点延迟,仍可在第1轮结束时解码(因为延迟结果最终到达)。核心:SGC将冗余信息从空间(跨节点)扩展到时间(跨轮次),使得延迟结果在后续轮次中仍可被利用。
这个特例揭示了本文的核心数学困难:如何设计编码矩阵 \( A(t) \),使得对于任意延迟模式(每轮任意数量的节点延迟),主节点在T轮内总能解码?在特例中,我们手动构造了一个方案,但一般化到任意 \( n, k, s, T \) 需要系统性的编码理论。
三、这篇论文做了什么¶
三句话¶
- 研究了什么问题:在分布式梯度计算中,当通信延迟跨轮次发生时(即工作节点结果可能延迟T轮到达),如何设计编码方案以最小化总计算时间,同时保证主节点在T轮内总能解码完整梯度。
- 核心工具/方法:提出顺序梯度编码(SGC) 框架,将编码从空间(跨工作节点)扩展到时间(跨轮次),并给出一种基于时间-空间编码矩阵的构造方案,使得每个工作节点每轮的计算负载与经典GC相同(\( s \) 个梯度分量),但容错性显著提升。
- 主要结论:对于任意 \( n, k, s, T \),SGC方案能容忍每轮最多 \( n-s-1 \) 个节点延迟(即最多 \( n-s-1 \) 个结果延迟到下一轮),而经典GC只能容忍每轮最多 \( n-s-1 \) 个节点丢失(即永久丢失,而非延迟)。在延迟场景下,SGC的容错性严格优于GC。
关键设定与假设¶
- 完整记号(在第二节基础上补充):
- \( \mathcal{W} = \{0,1,\ldots,n-1\} \):工作节点集合。
- \( \mathcal{I} = \{0,1,\ldots,k-1\} \):梯度分量索引。
- \( A(t) \in \{0,1\}^{n \times k} \):第 \( t \) 轮的编码矩阵,其中 \( A_{j,i}(t)=1 \) 表示节点 \( j \) 在第 \( t \) 轮计算分量 \( i \)。
- \( \mathbf{c}_j(t) = \sum_{i: A_{j,i}(t)=1} \mathbf{g}_i(t) \):节点 \( j \) 在第 \( t \) 轮发送的结果(即它计算的所有分量的和)。
- \( \mathcal{R}(t) \subseteq \mathcal{W} \):第 \( t \) 轮成功收到结果的节点集合(即未延迟的节点)。
-
延迟模型:每个结果 \( \mathbf{c}_j(t) \) 在轮次 \( t+\delta_{j,t} \) 到达,其中 \( \delta_{j,t} \in \{0,1,\ldots,T\} \)。主节点在轮次 \( t+T \) 结束时必须能解码 \( \mathbf{g}(t) \)。
-
关键假设:
- 同步设定:所有轮次按顺序进行,主节点在每轮结束时检查已收到的结果,并在第 \( t+T \) 轮结束时解码第 \( t \) 轮的梯度。
- 对抗性延迟:延迟模式 \( \delta_{j,t} \) 由对手选择,但满足 \( \delta_{j,t} \leq T \)(即延迟有界)。主节点不知道延迟模式,但编码方案必须保证对所有可能的延迟模式都能解码。
- 计算负载固定:每个节点每轮计算 \( s \) 个梯度分量(即 \( \sum_i A_{j,i}(t) = s \) 对所有 \( j,t \) 成立)。这是与经典GC相同的负载。
-
无计算错误:工作节点计算正确,仅通信可能延迟(丢包)。这是本文与经典GC的共同假设。
-
相比已有文献的放宽/强化:
- 放宽:经典GC假设 \( T=0 \)(所有延迟必须在当轮解决),本文放宽到任意 \( T \geq 0 \)。
- 强化:本文要求编码方案对所有可能的延迟模式都有效(最坏情况保证),而非平均情况。
主要结果¶
定理1(SGC方案的容错性):对于任意 \( n, k, s, T \),存在一个SGC方案,使得: - 每个节点每轮计算 \( s \) 个梯度分量(负载与GC相同)。 - 对于任意延迟模式 \( \{\delta_{j,t}\} \) 满足 \( \delta_{j,t} \leq T \),主节点在第 \( t+T \) 轮结束时总能解码 \( \mathbf{g}(t) \)。 - 容错性:每轮最多允许 \( n-s-1 \) 个节点延迟(即 \( |\mathcal{R}(t)| \geq s+1 \) 即可保证解码)。相比之下,经典GC要求每轮至少 \( n-s \) 个节点不丢失(即永久丢失),而SGC允许这些节点延迟到后续轮次。
直觉:SGC通过在每个轮次携带上一轮的冗余信息,使得即使当轮只有 \( s+1 \) 个节点成功,主节点也能结合上一轮延迟到达的结果来解码。经典GC需要 \( n-s \) 个节点成功,因为冗余仅存在于空间维度。
必要条件:定理1的容错性是最优的,即无法容忍每轮少于 \( s+1 \) 个节点成功(因为每个节点只计算 \( s \) 个分量,至少需要 \( s+1 \) 个节点的结果才能覆盖所有 \( k \) 个分量,假设 \( k > s \))。
解决的技术难点:如何构造编码矩阵 \( A(t) \) 使得: 1. 每个节点每轮计算 \( s \) 个分量(负载约束)。 2. 对于任意延迟模式,主节点在 \( T \) 轮内总能解码。 3. 解码算法高效(线性时间)。
证明路线与技术技巧¶
整体路线(3步逻辑主干):
-
步骤1:将问题转化为图论问题。将每个梯度分量 \( \mathbf{g}_i(t) \) 视为一个节点,每个工作节点 \( j \) 在第 \( t \) 轮的计算视为一个超边(连接它计算的 \( s \) 个分量)。解码问题等价于:给定一个超图,主节点需要从收到的超边中恢复所有节点(梯度分量)。延迟意味着某些超边在后续轮次才可用。
-
步骤2:构造时间-空间编码矩阵。作者提出一种递归构造:第 \( t \) 轮的编码矩阵 \( A(t) \) 由第 \( t-1 \) 轮的矩阵通过一个"移位+冗余"操作得到。具体地:
- 将 \( k \) 个分量分成 \( s+1 \) 组,每组大小 \( \lfloor k/(s+1) \rfloor \)。
- 每个节点计算 \( s \) 个组(即 \( s \) 个分量),且这些组的选择使得任意 \( s+1 \) 个节点的结果覆盖所有 \( k \) 个分量(这是经典GC的构造)。
-
在第 \( t \) 轮,每个节点除了计算当前轮的 \( s \) 个组外,还额外计算上一轮中它未计算的一个组(即携带冗余)。这个"额外"组的选择使得:若上一轮有节点延迟,则延迟的结果与当前轮的冗余结合后,可解码上一轮的梯度。
-
步骤3:证明解码可行性。通过归纳法证明:假设在第 \( t-1 \) 轮结束时,主节点已解码 \( \mathbf{g}(t-1) \)(或已收到足够信息)。在第 \( t \) 轮结束时,主节点有:
- 第 \( t \) 轮成功收到的结果(至少 \( s+1 \) 个)。
- 第 \( t-1 \) 轮延迟到达的结果(如果有)。
- 利用这些结果,结合编码矩阵的递归结构,可解码 \( \mathbf{g}(t) \) 和 \( \mathbf{g}(t-1) \)(如果后者尚未解码)。
关键跳跃点: - 最吃功夫的引理:引理1(编码矩阵的存在性)。证明存在一个 \( n \times k \) 的0-1矩阵,使得每行有 \( s \) 个1,且任意 \( s+1 \) 行的并集覆盖所有 \( k \) 列。这是经典GC的已知结果,但本文需要将其扩展到时间维度。 - 难点:如何保证递归构造不违反负载约束(每个节点每轮仍只计算 \( s \) 个分量)?作者通过"共享冗余"技巧解决:每个节点在第 \( t \) 轮计算的 \( s \) 个组中,有一个是"冗余组"(即上一轮未计算的那个),但该冗余组同时算作当前轮的 \( s \) 个之一,因此总负载不变。
技术技巧点名: - 图论建模:将编码矩阵转化为超图,解码问题转化为超图覆盖问题。 - 递归构造:利用时间维度的递归关系,将跨轮编码简化为单轮编码的扩展。 - 组合设计:使用组合设计(如balanced incomplete block designs)来构造满足任意 \( s+1 \) 行覆盖所有列的矩阵。
真实例子与应用¶
本文为纯理论/无实证例子。作者在实验部分(Section V)进行了模拟实验,但使用的是合成数据(模拟延迟模式),而非真实数据集。具体: - 场景:模拟 \( n=10, k=5, s=2, T=1 \) 的分布式系统。延迟模式随机生成(每轮每个节点以概率 \( p \) 延迟)。 - 方法对比:SGC vs. 经典GC vs. 无编码(即每个节点计算一个分量,无冗余)。 - 结果:SGC的总计算时间(完成所有J轮梯度计算的时间)显著低于GC和无编码,尤其是在高延迟概率(\( p>0.3 \))下。例如,当 \( p=0.5 \) 时,SGC比GC快约40%。 - 这个例子想说明:SGC在通信延迟场景下的实际性能优势,验证了理论容错性。
🔎 结论是否比证明窄¶
- 结论:定理1声称SGC方案"不增加计算负载"且"容错性优于GC"。证明中假设每个节点每轮计算 \( s \) 个分量,且编码矩阵存在性依赖于组合设计的存在性(如 \( k \) 能被 \( s+1 \) 整除等条件)。实际构造可能对某些 \( n, k, s \) 组合不成立(如 \( k \) 不是 \( s+1 \) 的倍数时,需近似构造)。作者在Section IV中讨论了近似构造,但未给出严格证明。
- 具体语句:Theorem 1 的陈述为"there exists an SGC scheme...",但证明中给出的构造仅对 \( k \) 是 \( s+1 \) 的倍数时有效。作者在Remark 2中承认"for general parameters, a slight modification is needed",但未给出完整证明。因此,结论的普适性比证明窄——严格证明仅覆盖了参数可整除的情况。
四、开放问题¶
-
非均匀延迟模型:本文假设所有延迟有界(\( \delta_{j,t} \leq T \)),且延迟模式是对抗性的。若延迟是随机的(如服从指数分布),能否设计更高效的编码方案?扎根点:Section VI (Conclusion) 提到"extending to stochastic delay models is an interesting future direction"。
-
解码复杂度:本文的SGC方案解码复杂度为 \( O(k) \)(线性),但构造依赖于组合设计。对于大规模 \( n, k \),是否存在更简单的构造(如基于随机编码)?扎根点:Section IV 提到"the construction is combinatorial; a randomized construction may simplify the design"。
-
与异步梯度下降的结合:本文为同步设定(主节点等待T轮后才更新)。能否将SGC与异步SGD结合,使得主节点在收到部分结果后立即更新,同时利用编码保证收敛?扎根点:Section VI 提到"combining SGC with asynchronous SGD is a natural extension"。
-
异构集群:本文假设所有节点计算速度相同。若节点速度不同(如某些节点慢),如何调整编码方案?扎根点:Section I (Introduction) 提到"heterogeneous workers are not considered in this work"。
提醒:要确认第1条(随机延迟模型)是否是真gap,可去读近期约5篇关于"straggler mitigation in distributed computing"的论文(如Coded Computation, 2016; Straggler-Resilient SGD, 2018)——若它们都假设对抗性延迟,则随机延迟模型是共识性缺口;若已有工作处理随机延迟,则本文的对抗性假设是简化而非缺口。
Maintained by 陈星宇 · Homepage · Source on GitHub