Coded Computing:当编码理论走进分布式计算
在分布式计算里,完成一次任务往往要同时考虑三个方面的问题:节点算得有快有慢、中间结果要跨机搬运、个别机器还可能掉线或不可信。系统侧常用推测执行、任务备份来缓解,但这类手段多为启发式,难以给出可证明的冗余用量与可恢复条件。
Coded Computing(编码计算) 把信息论与编码理论里的冗余设计,直接作用在计算任务与中间结果上:通过有结构的数据放置、线性(或多项式)编码,使聚合端只需收到足够大的结果子集,就能还原目标输出。近十年里,这一思路已经从「抗 straggler 的矩阵乘」扩展成多条并行的研究线——通信–计算权衡、一般函数计算、梯度聚合、近似与数值稳定、概率 straggler 模型,以及联邦学习中的安全聚合。
本文按问题设定梳理这些方向的主结果与彼此关系,并给出统一的评价量。
1. 问题从哪里来
典型设定是 master–worker:任务被切到多台机器,master 等待结果再进入下一步。若同步语义要求「收齐所有分片」,墙钟时间就由最慢的那台决定——文献称其为 straggler。

同一套分布式栈里,还有两类与「算得慢」并列的瓶颈:
通信:MapReduce / Spark 的 shuffle、参数服务器的梯度回传,跨机流量经常压过本地浮点吞吐;
失效与对抗:节点丢失结果、返回错误值,或在联邦场景下试图从中间消息推断私有数据。
编码计算关心的核心问题可以写成:
在给定的 straggler / 合谋 / 隐私约束下,如何设计放置与编码,使任意合法的结果子集都能恢复目标计算,并刻画此时的计算负载与通信代价。
2. 基本结构:编码、计算、解码
多数方案共用同一骨架。

阶段 | 做什么 |
|---|---|
放置 / Encode | 按码的规则分配数据或生成编码后的子任务 |
Compute | 各 worker 只算本地份额 |
回收 | 允许最多 个结果迟到或丢失(擦除模型) |
Decode | 用收到的子集解出目标输出 |
与存储擦除码的对应很清楚:迟到的 worker 相当于被擦除的符号。差别在于,符号现在是计算结果,放置策略还会改变每机的计算量。简单重复备份是平凡码;研究兴趣通常在「同样的 ,更低的恢复门限或更低的通信量」。
重复:同一分片多机各算一份,取先到者。编码:常对分片做线性组合,使得任意 台(而非指定备份机)返回即可解。后者在对称容错上更省,但编码矩阵与浮点数值条件需要单独设计。
3. 研究方向一:矩阵乘与恢复门限
矩阵–矩阵乘、矩阵–向量乘是 ML 与科学计算中的基本算子。朴素分块后「等齐再拼」,对 straggler 没有结构利用。
Recovery threshold(恢复门限) 定义为:为恢复乘积,master 最少需要收到多少个 worker 的结果。门限越低,可容忍的慢节点越多;通常要以更高的每机计算量为代价。
Lee 等人(2018)较早把编码用于加速分布式机器学习中的矩阵运算,展示了「用编码冗余换尾延迟」的可行性。Yu、Maddah-Ali、Avestimehr(2017/2018)提出的 Polynomial Codes 将高维矩阵乘的编码写成多项式求值:各 worker 计算多项式在不同点上的值,master 收齐足够多的点后插值还原。该构造在当时把恢复门限推到与问题维数匹配的紧量级,成为后续工作的基准。

Dutta 等人(2018)进一步讨论 coded matrix multiplication 的最优恢复门限:在何种计算模型下门限不可再降、现有构造是否达到信息论极限。读这一支时,比较论文应同时看三件事:门限、每机乘法复杂度、以及对矩阵维数 / worker 数的假设。
后续延伸还包括:更一般的双线性运算、异构机器上的负载分配、以及与安全矩阵乘的结合(与第 5 节交叉)。
4. 研究方向二:分布式计算中的通信–计算权衡
第二条主线不从「谁慢」出发,而从 shuffle 太贵 出发。Map 结束后,中间键值要按 reduce 键重新分区;无编码时近似全互联,通信规模随机器数快速上升。
思想源头可追溯到 Maddah-Ali 与 Niesen(2014)的缓存基本极限:用户侧预存交叉内容后,一次编码多播可同时满足多方需求。Coded MapReduce / Coded Distributed Computing(CDC) 把类似结构嵌进 Map–Shuffle–Reduce:提高 Map 阶段的计算(或存储)负载,换取 Shuffle 阶段通信量下降。

Li、Maddah-Ali、Avestimehr(2018)给出了分布式计算中 computation–communication 的基本权衡曲线:在同构、批处理模型下,刻画给定计算负载时通信开销的下界,并给出可逼近下界的编码方案。这一结果把「多算一点、少传一点」从工程经验提升为可证明的区域。
与矩阵乘那条线相比,CDC 的评价中心是通信量与轮次,恢复门限不是唯一主角;但两者都共享「放置决定冗余形态」这一设计自由度。
5. 研究方向三:一般函数上的可靠、安全与隐私
矩阵乘和 MapReduce 是具体任务。自然问题是:对更广的函数类,能否用统一代数框架同时处理
Resiliency:抗 straggler / 节点失效;
Security:抗有限个恶意或拜占庭结果;
Privacy:限制 worker 或窃听者对原始输入的信息。

Lagrange Coded Computing(LCC)(Yu、Maddah-Ali、Avestimehr)是引用最高的框架之一:把数据嵌入多项式,worker 在给定点上计算编码后的函数值;不同安全与隐私假设对应不同的多项式次数与门限。其贡献不只是又一个抗慢方案,而是把三类目标放进同一参数表。
Wan 等人(2021–2022)研究 Distributed Linearly Separable Computation:目标函数对各机数据呈线性可分结构时,最优通信代价与计算代价如何权衡。该线与 CDC、LCC 互补——强调的是可分结构下的通信极限,而不是多项式插值本身。
联邦学习中的 安全聚合 可视为隐私约束下的求和型特例。LightSecAgg(So 等)一类工作用轻量编码降低安全聚合的通信与掉线处理开销,说明编码计算的工具已经进入系统设计论文,而不只停留在信息论构造。
6. 研究方向四:梯度编码与同步训练
同步 SGD / mini-batch 训练里,master 需要的是各 worker 局部梯度之和。把数据分片复制到多机,并令每机上传局部梯度的线性组合,使得任意 个上传向量张成空间都包含全梯度——这就是 Gradient Coding(Tandon 等)。
它与第 3 节矩阵乘编码同属「抗 straggler」,但对象从双线性运算变成了求和型聚合,设计变量明确拆成:数据放置、编码矩阵、解码系数。后续工作大致沿三条轴展开:
方向 | 代表问题 | 代表工作 |
|---|---|---|
通信压缩 | 在可容忍 个 straggler 时尽量少传 | Ye & Abbe:communication–computation efficient gradient coding |
自适应 | straggler 模式随时间变化时少做全局重编码 | Cao 等:Adaptive Gradient Coding |
异构放置 | 机器存储/算力不同时的最优通信 | Jahani-Nezhad & Maddah-Ali:heterogeneous gradient coding |
梯度编码是编码计算在 ML 训练管线上最直接的落点之一;其理论问题(放置与编码的联合优化)也反哺了一般线性可分计算的讨论。
7. 研究方向五:数值稳定、近似与概率模型
经典构造多在有限域或精确算术下证明。落到浮点与大规模训练后,多项式插值可能病态,误差被放大。这一支可以分成三类:
数值稳定的精确码。 Fahim 与 Cadambe(2019)等研究 polynomially coded computing 的数值稳定性,通过改换多项式基、节点选取或正交化,在保持恢复门限的同时改善条件数。
近似编码。 Jahani-Nezhad 与 Maddah-Ali(2021)的 Berrut Approximated Coded Computing 用有理近似代替高次插值,在可接受误差下换取对 straggler 更稳的重建——目标从「精确恢复」转为「误差可控的加速」。
模型侧的推广。 近期工作不再只假设「任意 个最坏擦除」。Moradi 等人(2026)给出面向弹性分布式计算的 learning-theoretic 框架,以及 probabilistic straggler 体制下的一般编码计算:慢节点按概率出现,而不是对抗性地选定最坏集合。这类结果把评价从最坏门限,扩展到期望完成时间与泛化意义下的风险。
对做系统的人,这一支的实际含义是:选型时要问清论文假设的是精确恢复还是近似、最坏 还是随机延迟。
8. 统一评价:门限、负载与通信
跨方向比较方案时,至少对齐三个量:
符号 | 含义 |
|---|---|
恢复门限 | 解码所需的最少成功结果数 |
计算负载 | 相对无编码,每机多承担的计算(或存储) |
通信代价 | 上传 / shuffle 的符号数或轮次 |

矩阵乘与梯度编码文献习惯报 与 ;CDC 文献习惯报 – 曲线;LCC 再叠加合谋数、隐私约束。不存在单一最优:压低 往往抬高 ;压低 往往要求更多本地存储或预处理。
关注 与完成时间模型。矩阵乘编码、梯度编码、部分近似码落在此列。
关注 与轮次。CDC / coded shuffle、线性可分计算的通信极限、安全聚合优化落在此列。
在 resiliency 之外固定合谋与泄露模型。LCC、LightSecAgg 等需要同时报告安全参数与 、。
9. 构造示例:矩阵–向量乘
设 按行分成四块,计算 :
无编码时四机各算一块,缺任何一块都无法拼出 。编码后先生成 (例如多项式码下的求值矩阵),各机算 ;若码的门限为 3,则任意三台返回即可解码,第四台可视为擦除。

多出来的本地乘加,就是 的来源。落地时还要计入编码预处理、解码的数值条件,以及是否与 AllReduce 等集合通信原语兼容——这些决定理论增益能否变成墙钟收益。
10. 尚未被编码「包办」的问题
编码计算有明确的问题边界。下列情形里,现有代数方案收益有限,或工程成本过高:
任务图高度动态、依赖不规则(细粒度图计算、部分强化学习 rollout),难以预先写好放置与编码矩阵;
集群算力与内存已接近饱和, 的上涨会直接挤占有效 batch;
需要逐元素精确结果,又无法承担稳定构造或高精度算术的开销;
上层框架把 AllReduce 等原语写死,插入自定义 Encode/Decode 等于重做通信栈。
另外,最坏情况 straggler 模型与生产集群的延迟分布常常不一致;概率模型与近似码缩小了这一缝隙,但可复现的系统实测仍少于信息论论文。
若 profiling 显示瓶颈在单机算子实现、数据加载或算法迭代次数,换编码方案不会改变量级。确认尾延迟或 shuffle / 聚合带宽占主导后,再在 、、 之间做取舍。
11. 小结
编码计算研究可以按目标粗分成五支:
(1) 矩阵乘与恢复门限;
(2) MapReduce/CDC 的通信–计算权衡;
(3) 一般函数上的可靠 / 安全 / 隐私(LCC、线性可分);
(4) 面向同步训练的梯度编码;
(5) 数值稳定、近似与概率 straggler 模型。
它们共享 Encode–Compute–Decode 骨架,却在评价重点与函数类假设上分叉。读具体论文时,建议先标清:函数类是什么、容错/安全模型是最坏擦除还是随机延迟、报告的是 、、 中的哪些、结果是精确还是近似。把这几项对齐后,不同年份、不同应用的构造才有可比性。
参考文献
K. Lee et al. Speeding Up Distributed Machine Learning Using Codes. IEEE Trans. Information Theory, 2018.
Q. Yu, M. A. Maddah-Ali, A. S. Avestimehr. Polynomial Codes: an Optimal Design for High-Dimensional Coded Matrix Multiplication. ISIT / 后续期刊稿, 2017–2018.
S. Dutta et al. On the Optimal Recovery Threshold of Coded Matrix Multiplication. IEEE Trans. Information Theory, 2018.
S. Li, M. A. Maddah-Ali, A. S. Avestimehr. A Fundamental Tradeoff Between Computation and Communication in Distributed Computing. IEEE Trans. Information Theory, 2018.
M. A. Maddah-Ali, U. Niesen. Fundamental Limits of Caching. IEEE Trans. Information Theory, 2014.
Q. Yu, M. A. Maddah-Ali, A. S. Avestimehr. Lagrange Coded Computing: Optimal Design for Resiliency, Security, and Privacy. AISTATS / 扩展版.
K. Wan et al. Distributed Linearly Separable Computation. IEEE Trans. Information Theory, 2022.
K. Wan et al. On the Tradeoff Between Computation and Communication Costs for Distributed Linearly Separable Computation. 2021.
R. Tandon et al. Gradient Coding: Avoiding Stragglers in Distributed Learning. ICML, 2017.
M. Ye, E. Abbe. Communication–Computation Efficient Gradient Coding. ICML, 2018.
H. Cao et al. Adaptive Gradient Coding. IEEE/ACM Trans. Networking, 2022.
M. Jahani-Nezhad, M. A. Maddah-Ali. Optimal Communication–Computation Trade-off in Heterogeneous Gradient Coding. IEEE JSAIT, 2021.
M. Fahim, V. Cadambe. Numerically Stable Polynomially Coded Computing. ISIT, 2019.
M. Jahani-Nezhad, M. A. Maddah-Ali. Berrut Approximated Coded Computing: Straggler Resistance Beyond Polynomial Computing. IEEE Trans. Pattern Analysis and Machine Intelligence, 2021.
J. So et al. LightSecAgg: a Lightweight and Versatile Design for Secure Aggregation in Federated Learning. MLSys, 2022.
A. Moradi et al. Coded Computing for Resilient Distributed Computing: A Learning-Theoretic Framework. 2026.
A. Moradi, M. A. Maddah-Ali. General Coded Computing in a Probabilistic Straggler Regime. 2026.

