《Fundamental Limits of Caching》论文精读
作者:Mohammad Ali Maddah-Ali, Urs Niesen
发表:IEEE Transactions on Information Theory, 2014
领域:信息论 / 网络编码 / 缓存网络
一、开篇导读
1.1 论文基本信息
论文题目:Fundamental Limits of Caching
作者:Mohammad Ali Maddah-Ali, Urs Niesen
发表:IEEE Transactions on Information Theory, 2014
领域:信息论 / 网络编码 / 缓存网络
这篇论文是编码缓存(Coded Caching)方向的奠基之作,提出了一个反直觉但极其深刻的观点:缓存不仅能用来“本地命中”,还能用来创造多用户编码机会,从而大幅降低服务器的传输压力。
1.2 为什么这篇论文重要?
传统认知里,缓存的作用很简单:用户存了什么,就不用再传什么。这叫本地缓存增益——存得越多,传得越少,天经地义。但这篇论文告诉我们事情没这么简单。如果精心设计每个用户存什么,那么在用户请求不同文件时,服务器可以发送一个 XOR 编码信号,同时满足多个用户的需求。一个信号顶多个,这叫全局缓存增益——缓存越大,能创造的编码机会越多,传输速率下降得比你想象的快得多。
这篇论文的三大贡献:
形式化定义了信息论意义下的缓存问题,给出了最优速率 的严格定义。
提出编码缓存方案,证明了可实现速率 (上界)。
给出 cut-set 下界,并证明方案是 12-近似最优的。
自这篇论文之后,编码缓存成为信息论和网络通信领域的热门方向,衍生出无线场景、去中心化、多接入等大量扩展工作。要做这个方向,这篇是绕不开的起点。
1.3 阅读建议
前置知识:
信息论基础(熵、互信息、渐近可实现性)。
基本的组合数学(二项式系数、集合运算)。
知道 XOR 编码是什么就行,不需要网络编码的深入背景。
怎么读这篇精读:
如果你是第一次接触:建议从头按顺序读,第五章的系统模型是理解后续一切的基础。
如果你只关心核心思想:先看第七章的两个、三个用户例子,再看第八章一般构造。
如果你关心证明细节:第九、十章以及第十二章附录是重点,cut-set bound、常数近似和精确特例的推导都在那里。
读的时候记住一句话:放置阶段的设计是为了给交付阶段的编码创造条件。
二、论文整体结构概览
2.1 论文章节地图
论文原文共 8 个正文章节,另有附录,逻辑非常清晰:定义问题 → 给出结果 → 例子建立直觉 → 证明上界 → 证明下界 → 证明近似最优 → 讨论。
论文章节 | 内容 | 对应精读章节 |
|---|---|---|
I. Introduction | 背景、动机、主要贡献 | 第四章 |
II. Problem Setting | 问题形式化定义、 方案、 | 第五章 |
III. Main Results | 三大定理陈述 | 第六章 |
IV. Examples | 和 的详细例子 | 第七章 |
V. Coded Caching Scheme (Proof of Theorem 1) | 可实现方案设计与证明(上界) | 第八章 |
VI. Lower Bound on (Proof of Theorem 2) | Cut-set bound 下界证明 | 第九章 |
VII. Approximation of (Proof of Theorem 3) | 证明 12-近似最优 | 第十章 |
VIII. Discussion and Directions for Future Work | 讨论与未来方向 | 第十一章 |
Appendix | 二用户、二文件的精确解 | 第十二章 |
阅读主线:第二节定义了“我们在优化什么”,第三节说明“本文给出的结论”,第四节用例子预演证明,第五到七节分别证明上界、下界和两者的差距,逻辑层层递进。
2.2 核心概念速览
概念 | 一句话解释 |
|---|---|
放置阶段(Placement Phase) | 非高峰时段,服务器往每个用户的缓存里存内容。存什么是精心设计的,不是随便存。 |
交付阶段(Delivery Phase) | 用户发出请求后,服务器通过共享链路发送编码信号,用户结合自己的缓存解码出请求的文件。 |
本地缓存增益 | 缓存里已经有的内容不用再传——传统缓存的主要作用。 |
全局缓存增益 | 因为不同用户缓存了不同内容,服务器可以发一个 XOR 编码信号同时满足多个用户——这篇论文的核心发现。 |
速率—内存权衡 | 给定每个用户缓存大小 ,服务器最少需要传多少数据 ?这是整篇论文要刻画的函数。 |
可实现对 | 存在一个缓存方案,在缓存不超过 、传输不超过 的情况下,所有需求都能以渐近零错误概率得到满足。 |
Cut-set Bound | 信息论中证明下界的工具:切口能够提供的信息量不能少于恢复文件所需的信息量。 |
记住这张表,后面所有内容都是围绕这些概念展开的。
2.3 三大定理的关系
Theorem 1 说:“我设计了一个方案,能达到速率 ” → 这是上界,说明最优值 。
Theorem 2 说:“任何方案都不可能比这个下界更好” → 这是下界,说明最优值 。
Theorem 3 说:“我设计的方案和理论最优之间,差距不超过 12 倍” → 把上下界联系起来,证明方案是常数近似最优的。
简单说:Theorem 1 告诉你“能做到多好”,Theorem 2 告诉你“最好能有多好”,Theorem 3 告诉你“这两者之间差不了太多(12 倍以内)”。
三、摘要(Abstract)精读
3.1 摘要原文与逐句解读
原文:
Caching is a technique to reduce peak traffic rates by prefetching popular content into memories at the end users. Conventionally, these memories are used to deliver requested content in part from a locally cached copy rather than through the network. The gain offered by this approach, which we term local caching gain, depends on the local cache size (i.e., the memory available at each individual user). In this paper, we introduce and exploit a second, global, caching gain not utilized by conventional caching schemes. This gain depends on the aggregate global cache size (i.e., the cumulative memory available at all users), even though there is no cooperation among the users. To evaluate and isolate these two gains, we introduce an information-theoretic formulation of the caching problem focusing on its basic structure. For this setting, we propose a novel coded caching scheme that exploits both local and global caching gains, leading to a multiplicative improvement in the peak rate compared with previously known schemes. In particular, the improvement can be on the order of the number of users in the network. In addition, we argue that the performance of the proposed scheme is within a constant factor of the information- theoretic optimum for all values of the problem parameters.
对照翻译: 缓存是一种通过将热门内容预取到终端用户的存储器中来降低峰值流量速率的技术。传统上,这些存储器用于从本地缓存的副本中提供部分请求内容,而非通过网络传输。这种方法带来的增益,我们称之为本地缓存增益,取决于本地缓存大小(即每个用户可用的存储器容量)。在本文中,我们引入并利用了第二种增益——全局缓存增益,这是传统缓存方案未曾利用的。这种增益取决于全局聚合缓存大小(即所有用户可用的累积存储器容量),尽管用户之间不存在任何协作。为了评估并分离这两种增益,我们引入了缓存问题的信息论表述,聚焦于其基本结构。在此设定下,我们提出了一种新颖的编码缓存方案,该方案同时利用本地和全局缓存增益,与已知方案相比,在峰值速率上实现了倍数级的提升。具体而言,这种提升可以达到网络中用户数量的量级。此外,我们论证了所提方案的性能在所有问题参数取值下,均在信息论最优值的常数因子范围内。
3.2 核心问题提炼
读完摘要,可以把这篇论文要回答的核心问题提炼为四个层层递进的问题:
问题一:传统缓存是否遗漏了什么?
传统缓存只利用了“本地存了就不用传”的本地增益。但在多用户场景下,每个用户存的内容不一样,这些分散的缓存之间是否存在某种协同效应,即使用户之间不直接通信,也能被服务器利用来减少传输?
问题二:如何严格定义这个问题?
要回答上面的问题,首先需要一个信息论层面的严格数学框架:缓存大小怎么度量?传输速率怎么定义?什么叫“一个方案是可行的”?最优性能怎么刻画?没有这些定义,就无法量化“全局增益”到底有多大。
问题三:能不能设计出利用全局增益的方案?
如果全局增益确实存在,具体该怎么设计缓存放置和传输策略才能把它用起来?能比传统方案好多少?是常数倍的提升,还是随用户数增长的量级提升?
问题四:这个方案离最优有多远?
提出一个方案不够,还需要知道它是不是最好的。信息论意义下的最优速率 是多少?我们的方案和最优之间差多少?是差一个常数倍,还是差距随规模增长?
这四个问题构成了整篇论文的叙事主线:发现新增益 → 定义问题 → 设计方案 → 证明最优性。后面的章节就是按这个顺序展开的。
3.3 主要结论一句话概括
这篇论文发现了缓存的“全局增益”——通过精心设计每个用户存什么,服务器可以用 XOR 编码同时满足多个用户的不同请求;在适当的缓存规模下,相对传统方案的速率改善可达用户数量的量级。论文证明了所提编码缓存方案在所有参数下都满足 ,是常数近似最优的。
四、引言(Introduction)精读
4.1 研究背景
论文开篇从网络流量的时间波动性讲起:
“The
high temporal variabilityof network traffic results in communication systems that are congested during peak-traffic times and underutilized during off-peak times.”
对照翻译: 网络流量的高度时间波动性,导致通信系统在高峰流量时段拥塞,而在非高峰时段利用率不足。
网络流量在高峰时段拥塞、在非高峰时段闲置,这是一个普遍存在的问题。缓存(caching)就是解决这个问题的标准技术:在非高峰时段把热门内容预取到用户本地,高峰时段就不用从网络传输了。
4.2 两个阶段受到不同的约束
原文:
From the above discussion, we see that the caching problem consists of two distinct phases. The first phase is the placement phase, which is based solely on the statistics of the user demands. In this phase, the network is not congested, and the main limitation is the size of the cache memories. The second phase is the delivery phase, which is performed once the actual demands of the users have been revealed. In this phase, the network is congested, and the main limitation is the rate required to serve the requested content.
对照翻译: 从上述讨论可以看出,缓存问题包含两个不同阶段。第一个阶段是放置阶段,它只以用户需求的统计信息为依据。在这一阶段,网络不拥塞,主要限制是缓存存储器的大小。第二个阶段是交付阶段,它在用户的实际需求揭示后进行。在这一阶段,网络拥塞,主要限制是服务这些请求所需的传输速率。
展开解读:
这里的“只知道统计信息”是对缓存系统的背景描述。本文随后采用最坏需求模型,不需要为每个文件指定请求概率。
真正不能违反的时间顺序是:先放置,再知道具体请求,再发送。 假如先知道用户最终请求哪一个文件,放置就可以直接针对该文件,问题会完全改变。
放置阶段不计入本文优化的峰值负载,并不意味着预取没有成本;作者把它视为另一个时段的资源。交付阶段的目标也不是减少服务器磁盘读取次数,而是减少共享瓶颈链路上的总比特数。
4.3 已有工作遗漏了什么?
原文:
Various versions of this problem have been studied, with the focus being mainly on exploiting the history or statistics of the user demands [1]–[7]. In these papers, the operation of the delivery phase is fixed to consist of simple orthogonal unicast or multicast transmissions. Assuming this method of delivery, the content placement is then optimized. The gain of caching in this approach results from making popular content available locally. In another line of research, the objective is to optimize the delivery phase for fixed known cache contents and for specific demands [8], [9] (see also the discussion in Section VIII-A).
对照翻译: 这个问题的不同版本已经得到研究,其中主要关注如何利用用户需求的历史或统计信息。在这些论文中,交付阶段被固定为简单的正交单播或组播传输,然后在这种交付方式下优化内容放置。这样获得的增益来自于把热门内容放到本地。另一个研究方向则是在缓存内容固定、需求具体且已知的条件下优化交付阶段。
展开解读:
两类已有工作分别固定了问题的一半:一类先规定如何传,再优化存什么;另一类给定存了什么,再优化如何传。本文把两者联合设计,但不允许放置依赖未来的具体需求。
论文中的“传统方案”应理解为本文用来比较的未编码基准,不能泛化为所有实际缓存系统都只会单播。原文明确包含普通组播;当多人要同一文件时,普通组播本来就能节省流量。
4.4 本地增益与全局增益的区别
原文:
As pointed out above, the gain from traditional uncoded caching approaches derives from making content available locally: if a user requests some content that is stored in its cache, this request can be served from its local memory. We hence call this the local caching gain. This gain is relevant if the local cache memory is large enough such that a sizable fraction of the total (popular) content can be stored locally. On the other hand, if the size of the local caches is small compared to the total amount of content, then this gain is insignificant. In this paper, we propose a novel coded caching approach that, in addition to the local caching gain, is able to achieve a global caching gain. This gain derives from jointly optimizing both the placement and delivery phases, ensuring that in the delivery phase several different demands can be satisfied with a single coded multicast transmission. Since the content placement is performed without knowledge of the actual demands, in order to achieve this gain the placement phase must be carefully designed such that these multicasting opportunities are created simultaneously for all possible requests in the delivery phase. We show that this global caching gain is relevant if the aggregate global cache size is large enough compared to the total amount of content. Thus, even though the caches cannot cooperate, the sum of the cache sizes becomes an important system parameter.
对照翻译: 传统未编码缓存的增益来自于让内容在本地可用:用户请求的内容若已在缓存中,就可以从本地存储器服务。因此,我们称之为本地缓存增益。只有当本地缓存相对于总内容足够大、能够存下相当比例的内容时,这种增益才显著。本文提出的编码缓存方法除了本地增益,还能实现全局缓存增益。它来自放置和交付的联合优化,使交付阶段的一次编码组播满足多个不同需求。由于放置时不知道实际需求,必须精心设计放置,使编码组播机会对所有可能的请求同时成立。当聚合缓存相对于总内容足够大时,这种全局增益就有意义。因此,即使缓存之间不能合作,缓存容量之和仍成为重要的系统参数。
展开解读:
“对所有请求同时成立”不是把所有请求同时服务一次,而是同一套缓存内容能适用于每一种未来请求向量。需求变,广播的 XOR 变,缓存不变。
**“缓存不能合作”指用户之间没有交换数据的链路。**用户只能读取自己的缓存和服务器广播。全局增益通过服务器设计的公共消息实现,不需要用户互相发送缓存内容。
设每个用户缓存占库容量的比例为 。单个用户只看见 ,全体缓存的归一化总量却是 。因此 很小,并不排除 很大。
图 1 原图:

N 个文件,每个文件为 比特;它通过共享链路连接 个用户,每个用户拥有大小为 比特的独立缓存。目标是设计放置和交付,使共享瓶颈链路上的峰值速率(按文件大小归一化的负载)最小。图中 、。
原文图注:
Fig. 1. Caching system considered in this paper. A server containing N files of size F bits each is connected through a shared link to K users each with an isolated cache of size MF bits. The goal is to design the placement phase and the delivery phase such that the peak rate (i.e. the load normalized by the file size) of the shared bottleneck link is minimized. In the figure, N = K = 3 and M = 1.
图注翻译: 本文考虑的缓存系统:服务器拥有 个文件,每个文件为 比特;它通过共享链路连接 个用户,每个用户拥有大小为 比特的独立缓存。目标是设计放置和交付,使共享瓶颈链路上的峰值速率(按文件大小归一化的负载)最小。图中 、。
读图与分析:
图上方的服务器保存完整文件库。中间共享链路上的信息只发送一份,所有下游用户都能收到;图下方每个缓存只属于相应用户。
这解释了为什么 XOR 有用:同一段广播可以由不同用户结合不同旁信息进行不同的解码。若三条链路必须分别计费且不能共享一次传输,则这里的速率计算不能直接套用。
图中 表示“可存一个完整文件那么多比特”,不要求缓存必须存一个完整文件。它完全可以存三个文件各自的三分之一。
4.5 引言中的核心速率表达式
原文公式(引言先限制为 ):
对照翻译: 未编码方案的速率等于用户数乘以每个用户尚未缓存的文件比例。编码方案在此基础上,再乘以一个由全体缓存总量决定的缩减因子。
展开解读:
这里“增益”在原文中写成小于等于 1 的速率乘法因子。若改用“改善多少倍”的语言,对应的是它的倒数。例如全局增益的改善倍数为 ,不是 倍。
适用范围必须记住: 上述编码表达式直接对应 为整数的构造点。一般实数 要通过 memory sharing 得到分段线性速率,不能默认把这个光滑函数当作每一点都已由本定理实现。第六、八章会完整处理。
图 2 原图:

N=30、用户数 时,交付阶段所需速率 随缓存大小 的变化;比较本文编码缓存方案与传统未编码缓存。
原文图注:
Fig. 2. Rate R required in the delivery phase as a function of memory size M for N = 30 files and K = 30 users. The figure compares the performance of the proposed coded caching scheme to that of conventional uncoded caching.
图注翻译: 当文件数 、用户数 时,交付阶段所需速率 随缓存大小 的变化;比较本文编码缓存方案与传统未编码缓存。
读图与分析:
横轴不是总缓存,而是每个用户的缓存容量。纵轴不是比特每秒,而是交付负载除以单文件大小。
在 时,未编码方案需要
此时 ,编码方案需要
因此改善倍数恰为 。原文写成约 个文件的传输量,是对 的近似。不是每个用户只收到了 个文件的信息,而是共享广播与各自缓存共同支持恢复。
曲线最左端都从 出发,最右端都到达零;编码曲线在中间显著低于未编码直线。这两个端点也提醒我们,“降低约用户数倍”并非对所有缓存大小都成立: 没有任何缓存增益。
重要的一个思想: 放置的价值不仅是提前存下“自己未来会需要”的比特,还包括让自己持有“别人未来可能需要”的旁信息。联合设计的目标,就是让这些旁信息支持同一个广播被多人使用。
五、问题设定(Problem Setting)精读
5.1 非正式模型:文件、缓存、需求和广播
原文:
We consider a system with one server connected through a shared, error-free link to K users, as shown in Fig. 1. The server has access to a database of N files W1,... , WN each of size F bits. Each user k has an isolated cache memory Zk of size MF bits for some real number M ∈ [0,N ]. The system operates in two phases: a placement phase and a delivery phase. In the placement phase, the users are given access to the entire database W1,... , WN of files. Each user k is then able to fill the content of its cache Zk using the database. In the delivery phase, only the server has access to the database of files. Each user k requests one of the files in the database. The server is informed of these requests and proceeds by transmitting a signal of size bits over the shared link for some fixed real number . The quantities and are referred to as the load and the rate of the shared link, respectively. Using the content Zk of its cache and the signal X(d1,...,dk) received over the shared link, each user k aims to reconstruct its requested file Wdk .
对照翻译: 我们考虑一个服务器通过共享无差错链路连接 个用户的系统。服务器可以访问包含 个文件的数据库,每个文件为 比特。用户 有一个独立缓存 ,大小为 比特,其中 。系统分放置和交付两个阶段运行:放置时用户可以访问整个文件库并填充缓存;交付时只有服务器可以访问文件库。用户 请求文件 。服务器获知请求后,在共享链路上发送大小为 比特的信号 。 和 分别称为链路负载和速率。每个用户利用自身缓存与收到的广播重建所请求文件。
展开解读:
统一记号如下。源 Word 中少数下标被识别成小写 ,本文统一把完整需求向量长度写成 。
符号 | 含义 | 单位或范围 |
|---|---|---|
文件数量 | 正整数 | |
用户数量 | 正整数 | |
每个文件的大小 | 比特 | |
单用户缓存的归一化容量 | ||
用户 的缓存内容 | 至多约 比特 | |
所有用户的需求向量 | ||
为该需求向量发送的广播 | 至多约 比特 | |
交付负载按 归一化 | “几个文件那么多比特” |
若每个文件为 100 MB,而 ,表示服务器广播 50 MB,并不表示链路的物理速率是 0.5 Mbps。若物理链路速率为 比特/秒,忽略其他开销后的交付时间才是 。
用户可以请求同一个文件,所以需求一共有 种,不是 种。放置不能依赖 ,交付和解码可以依赖它。
5.2 Example 1:未编码缓存基准
原文:
Example 1 (Uncoded Caching). For a memory size of MF bits, one possible strategy is for each user to cache the same M/N fraction of each file in the placement phase. In the delivery phase, the server simply transmits the remaining 1 − M/N fraction of any requested file over the shared link. Clearly, each user can recover its requested file from the content of its local cache and the signal sent over the shared link. In the worst case the users request different files—the delivery rate for this caching scheme is thus We refer to this caching strategy as uncoded caching, since both content placement and delivery are uncoded.
对照翻译: 对于大小为 比特的缓存,一种策略是在放置阶段,让每个用户缓存每个文件相同的 比例。在交付阶段,服务器把每个被请求文件剩余的 比例发到共享链路。用户可以由本地缓存和广播恢复所需文件。最坏情况是用户请求尽可能多的不同文件。我们称此策略为未编码缓存,因为放置和交付都不编码。
展开解读:
当 时,最坏情况有 个不同请求;当 时,最多只有 个不同文件需要发送。因此原文式 (1) 为
举例:,即使五个用户发出请求,也只有两种文件,不必发五份。先按文件去重再广播,即可实现自然组播。
这里各用户缓存的是每个文件相同的位置。这让缓存命中容易分析,却没有形成互补旁信息;第七章会改用不同用户存不同子文件。
5.3 严格定义:文件作为独立随机变量
原文:
We now provide the formal definition of the information-theoretic caching problem. Let be independent random variables each uniformly distributed over for some . Each represents a file of size bits. A caching scheme consists of caching functions, encoding functions, and decoding functions.
对照翻译: 现在给出缓存问题的信息论形式化定义。令 为相互独立的随机变量,每个变量在 上均匀分布,其中 是正整数。每个 代表一个大小为 比特的文件。一个 缓存方案由 个缓存函数、 个编码函数及 个解码函数构成。
展开解读:
均匀分布意味着 ;相互独立意味着
这两项假设排除了文件之间天然可压缩的相关性。否则,速率下降可能来自源压缩,而不能干净地归因于缓存。
个编码函数并不意味着实现时必须存下 张查找表;它只是说每一种需求都允许有自己的编码映射。后面的组合算法会统一描述所有这些映射。
5.4 三类函数:方案到底包含什么?
原文定义:
The caching functions
map the files into the cache content
对照翻译: 第 个缓存函数把整个文件库映射到用户 的缓存内容,缓存的取值数不超过 。
展开解读: 因而 。缓存可以保存原始比特,也可以保存跨文件的编码函数;定义没有把方案限制为未编码放置。附录正会利用这一点。
原文定义:
The encoding functions
map the files to the input
对照翻译: 对每一个需求向量,服务器的编码函数把整个文件库映射为共享链路输入,其长度不超过约 比特。
展开解读: 随需求变化,但 不随需求变化。服务器知道文件库、缓存设计和全部请求,因而能够直接计算广播。即使某一段旁信息位于另一个用户缓存中,也不需要该用户上传它。
原文定义:
Finally, the decoding functions
map the signal received over the shared link and the cache content to the estimate
对照翻译: 每个需求向量和每个用户都有对应解码函数,用广播与本地缓存生成对请求文件的估计。
展开解读: 解码器输入没有 ()。这正是“独立缓存、用户不能合作”的数学表达。解码映射由需求索引,也说明模型允许解码器知道相关需求信息;实际协议携带索引和子文件标签的开销没有进入这里的主导文件负载。
5.5 错误概率、可实现性与最优速率
原文公式:
对照翻译: 在全部需求与全部用户中,取恢复错误概率的最大值。
展开解读: 这里有两层最坏情况:不能只对热门需求成功,也不能只保证大多数用户成功。概率来自随机文件;不是对需求分布求平均。
原文:
Definition. The pair (M, R) is achievable if for every ε > 0 and every large enough file size F there exists a (M, R) caching scheme with probability of error less than ε. We define the memory-rate tradeoff .
对照翻译: 如果对每个 ,以及每个足够大的文件大小 ,都存在一个错误概率小于 的 缓存方案,则称 可实现。定义内存—速率权衡为所有可实现速率的下确界。
展开解读:
把定义完整写为
量词顺序是:固定 ;任给错误容限;文件足够大时找到方案。它不是“总有某个小文件碰巧可以恢复”。
由定义立即得到几个边界点:
前者在无缓存时必须发送所有被请求的不同独立文件;后者把整个库放到每个缓存即可。 随 非增,因为容量变大后仍能使用原来的方案。
本文一般构造是零误差方案,但最优值的比较对象更大:允许编码放置、非线性编码和渐近消失的错误概率。所以下界与 12 倍保证具有信息论意义。
六、主要结果(Main Results)精读
6.1 Theorem 1:一个可实现的速率上界
原文:
Theorem 1. For files and users each with cache of size ,
is achievable. For general , the lower convex envelope of these points is achievable.
对照翻译: 当缓存大小属于上述离散集合时,所给速率可实现,因此构成最优速率的上界。对一般实数缓存大小,这些点的下凸包也可实现。
展开解读:
令
各构造点的速率为
第一个候选来自编码组播;第二个候选来自普通未编码缓存和自然组播。定理选择更好的候选,并允许在构造点之间共享内存。
对于非整数 ,严格定义可写成下面的优化问题(这是本精读对“下凸包”的展开):
约束为
这里 是按第 个方案处理的文件比例,不是选择该需求的概率。若某个点高于其他点的连线,下凸包会跳过它;不能机械地认为所有情形都直接连接每个相邻原始点。 的标准编码点构成凸折线,此时相邻插值即可。
6.2 式 (2):两个增益为什么相乘?
原文公式:
对照翻译: 在上述构造点上,总速率等于无缓存速率、本地缩减因子和全局缩减因子的乘积。
展开解读: 每个用户原本缺失 个文件的量, 人一共缺失 。若每份广播能够同时给 个用户各带来一份缺失子文件,则总传输量再除以 。
“缺失信息量的总和”可以大于实际广播长度,因为不同用户的条件信息不同;不能把每个用户的新增信息量直接加起来当作广播熵的下界。
例如广播一个比特 ,知道 的用户获得 ,知道 的用户获得 。广播熵至多一比特,但分别条件于不同旁信息后,两位用户各得到一比特。这不违背信息守恒,也不创造新的源信息。
6.3 Example 2:改善倍数达到
原文(Example 2):
Consider a system with the same number of users as files, i.e., . Assume each user has enough cache memory for half of the files so that . Then the local caching gain is and the global caching gain is .
对照翻译: 考虑文件数等于用户数的系统,每个用户能缓存半个文件库。本地缩减因子为 ,全局缩减因子为 。
展开解读: 对 为偶数的构造点,
两者之比为
因此人数增长时,未编码方案需要发送的量线性增长,而编码方案保持在一个文件的量以下。代价是每个用户都已经缓存了半个文件库,且子分包数量会增长。
当 为奇数时, 非整数,需在相邻构造点共享内存;仍有相同的 改善量级,但不能直接把上述整数构造表达式当作精确的插值速率。例如 时,插值得 ,而光滑表达式给出 ,二者不同。
6.4 Example 3:小缓存处的斜率改善
原文(Example 3):
From (1), the rate of uncoded caching has a slope of around . On the other hand, by Theorem 1, the rate of coded caching has a slope less than around .
对照翻译: 在 时,未编码缓存速率在原点附近的斜率为 ,而编码缓存曲线在原点附近的斜率小于 。
展开推导: 构造点为
连接这两点,得到
所以在 上,
这里算的是实际可实现折线的斜率。直接对 求导,会在原点得到 ,并不是定理所定义折线的斜率。这个差一倍的错误很常见。
6.5 当 :自然组播与编码组播的比较
原文:
The scheme in Theorem 1 achieves the better of these two gains. We point out that for this minimum is achieved by the first of the two gains.
对照翻译: 定理 1 的方案实现自然组播和编码组播中较好的增益;当 时,最小值由编码组播对应的项取得。
展开推导: 在构造点比较两个候选缩减因子,
等价于
因此文件数少于用户数时,很小缓存区域已经存在普通组播收益,不能把无缓存负载直接写成 。所有一般参数的推导都要保留 或候选最小值。
6.6 Theorem 2:任何方案都必须满足的下界
原文:
Theorem 2. For files and users each with cache of size ,
对照翻译: 对任意合法系统参数,最优速率至少等于右侧所有割集下界中的最大值。
展开解读: 记右侧为 。 是选取的用户数量; 是安排这些用户在多个假想需求实例中请求不重复文件时,可安排的完整批次数。
每一个 给出一条直线;同时满足所有直线约束,因此要取最大值。 给出
在 处选 ,得到无缓存精确值。这个定理只是下界,通常并不等于最优值;下一章和附录将给出具体反例。
6.7 Theorem 3:12 倍保证到底说明什么?
原文:
Theorem 3. For files and users each with cache of size ,
with the achievable rate of coded caching as defined in Theorem 1.
对照翻译: 本文编码缓存方案的速率不低于最优速率,并且最多是最优速率的 12 倍。
展开解读: 为处理 时 没有定义的问题,严格而统一地写成
当 时再写成比值形式。这个常数不依赖文件数、用户数或缓存大小,所以称为常数因子近似或量级最优。
它不表示“性能误差为 12%”,也不表示每个参数点恰好相差 12 倍。它保证在该模型内,即使允许更复杂编码,也不可能获得相对于本方案随系统规模无限增长的改善倍数。
原文还报告数值计算提示常数可能降到 5。这里的“5”是论文的数值观察,不是本文已经证明的定理。后面的证明必须保留 12,不能用猜测替代。
七、例子(Examples)精读
7.1 Example 4:二文件、二用户的完整权衡图
图 3 原图:

N=K=2 的内存—速率权衡。蓝色实线为定理 1 的可实现速率 ,红色虚线为定理 2 的下界,黑色点线为该特例的精确最优速率 。">
原文图注:
Fig. 3. Memory-rate tradeoff for N = 2 files K = 2 users. The achievable rate RC (M ) of the coded caching scheme from Theorem 1 is indicated by the solid blue curve. The lower bound on from Theorem 2 is indicated by the dashed red curve. For the N = K = 2 case, can be found exactly and is indicated by the dotted black curve.
图注翻译: 的内存—速率权衡。蓝色实线为定理 1 的可实现速率 ,红色虚线为定理 2 的下界,黑色点线为该特例的精确最优速率 。
读图与分析:
先看三个不同对象:蓝线是“一个方案能做到”,红线是“任何方案做不到低于它”,黑线才是“真正最优”。蓝线和红线在部分区域之间留有空隙,附录分别改善两侧,最后闭合。
定理 1 的三个构造点是 、、。红线是
在 时,蓝线为 ,红线为 ,黑线也为 ;上界并未达到最优。在 时,蓝线为 ,红线为 ,黑线为 ;这次上下界都不紧。
因此“常数近似最优”与“逐点精确最优”是两个不同结论,不能混用。
7.2 两个端点: 与
原文:
We start with the upper bound in Theorem 1, focusing on the corner points of the achievable region. First, let us consider the two extreme cases M = 0 and M = N . If M = 0, the server can always transmit both files A and B over the shared link. Since this satisfies every possible request, the (M, R) pair (0, 2) is achievable. If M = 2, each user can cache both files A and B in the placement phase. Therefore, no communication is needed in the delivery phase and the (M, R) pair (2, 0) is achievable.
对照翻译: 先看两个极端: 时,服务器总可以广播 两个文件,从而满足任意请求,所以 可实现。 时,每个用户都缓存 ,交付无需通信,所以 可实现。
展开解读:
极端点是 memory sharing 的锚点,同时也是对模型单位的检查。这里两位用户即使请求相同文件,实际可以少传;但方案所保证的 是全部需求中的最大负载。
7.3 关键点 :放置、广播与解码
原文:
Consider then the more interesting corner point at M = 1. The caching scheme achieving the upper bound in Theorem 1 is as follows (see Fig. 4). We split both files A and B into two subfiles of equal size, i.e., A = (A1, A2) and B = (B1, B2). In the placement phase, we set Z1 = (A1, B1) and Z2 = (A2, B2). In words, each user caches one exclusive part of each file. For the delivery phase, assume for example that user one requests file A and user two requests file B. Given that user one already has subfile A1 of A, it only needs to obtain the missing subfile A2, which is cached in the second user’s memory Z2. Similarly, user two only needs to obtain the missing subfile B1, which is cached in the first user’s memory Z1. In other words, each user has one part of the file that the other user needs. The server can in this case simply transmit A2 ⊕B1, where ⊕ denotes bitwise XOR. Since user one already has B1, it can recover A2 from A2⊕B1. Similarly, since user two already has A2, it can recover B1 from A2 ⊕B1. Thus, the signal A2 ⊕B1 received over the shared link helps both users to effectively exchange the missing subfiles available in the cache of the other user.
对照翻译: 考虑 。把两个文件各等分为两段,、。放置时令 、。若用户 1 请求 、用户 2 请求 ,前者只缺 ,后者只缺 ,而这两段分别位于对方缓存中。服务器广播 ;用户 1 利用已知的 恢复 ,用户 2 利用已知的 恢复 。
展开解读:
每段长度都是 ,所以每个缓存的长度为 ,恰好满足 。
解码不能只用一句“做 XOR”带过,具体为
两位用户再分别与 、 拼接恢复完整文件。长度为 的 XOR 仍只有 比特,不是两个输入长度的和,因此
“交换缺失子文件”是效果上的描述:真正的发送者始终是服务器。
图 4 原图:

N=K=2,M=1 时覆盖全部四种用户请求的缓存策略。每个文件等分为两段:、。该方案达到 。服务器的发送内容随请求变化,而缓存内容不变。">
原文图注:
Fig. 4. Caching strategy for N = 2 files and K = 2 users with cache size M = 1 with all four possible user requests. Each file is split into two subfiles of size 1/2, i.e., A = (A1, A2) and B = (B1, B2). The scheme achieves rate R = 1/2. Observe that, while the transmission from the server changes as a function of the user requests, the cache contents do not.
图注翻译: 时覆盖全部四种用户请求的缓存策略。每个文件等分为两段:、。该方案达到 。服务器的发送内容随请求变化,而缓存内容不变。
读图与分析:
四个子图不是四次连续交付,而是四种可能需求的并列展示。它们共用同一套放置 、。
请求 | 广播 | 用户 1 用于消去的本地段 | 用户 2 用于消去的本地段 |
|---|---|---|---|
即使两个用户都请求 ,他们缺的也是不同半段;一次 XOR 仍能同时补齐。这个例子完整验证了“放置不知道需求”这一要求,而不是只为 设计一个巧合。
7.4 Memory sharing:从离散点到连续缓存大小
原文:
So far, we have shown that the (M, R) pairs at corner points (0, 2), (1, 1/2), and (2, 0) are achievable. On the other hand, by dividing the cache memories and the transmitted signal proportionally, it is easy to see that if any two points (M1, R1) and (M2, R2) are achievable, then the line connecting them is also achievable. Inspired by the term time sharing in network information theory, we refer to this as memory sharing. Memory sharing between the corner points (0, 2), (1, 1/2), and (2, 0) establishes the achievability of the solid blue curve in Fig. 3, which coincides with the upper bound stated in Theorem 1.
对照翻译: 目前已经证明三个角点 、、 可实现。通过按比例划分缓存和传输信号,可以看到:如果两个点 、 可实现,则连接它们的线段也可实现。受信息论中 time sharing 的启发,我们称其为 memory sharing。在三个角点之间共享内存,得到图 3 中的蓝色实线,即定理 1 的上界。
展开解读:
关键是把每个文件分成比例为 和 的两部分,而不仅仅是“某些用户用方案 1,其他用户用方案 2”。两部分都服务全部用户的同一次请求。
第一部分采用方案 1,缓存消耗 、发送 ;第二部分采用方案 2,消耗 、发送 。故
例如 ,让每个文件一半用 ,另一半用 ,得到
完整蓝线为
这还不是附录的 ;后者用了不同的、编码的放置。
7.5 二用户例子的两条 cut-set 下界
原文:
We continue by analyzing the lower bound on in Theorem 2. The proof relies on the cut-set bound. We consider two cuts. The first cut separates (X(1,2), Z1, Z2) from the two users. Assume (M, R) is an achievable memory-rate pair. Then this cut has capacity at most RF + 2MF , since X(1,2) is at most RF bits by definition of achievability, and since Z1, Z2 contain each MF bits. On the other hand, since the first user can recover A from (X(1,2), Z1) and the second user can recover B from (X(1,2), Z2), the number of bits that need to be transmitted over this cut is at least 2F . Hence, RF + 2MF ≥ 2F, The second cut separates (X(1,2), X(2,1), Z1) from the first user. Note that this user can recover A and B from (X(1,2), Z1) and (X(2,1), Z1), respectively. Hence, this cut yields 2RF + MF ≥ 2F
对照翻译: 第一条割把 与两位用户分开。广播与两个缓存总共至多包含 比特,而两位用户能恢复两个独立文件,因此至少需要 比特。第二条割把 与用户 1 分开;同一用户分别通过两个需求下的广播和同一个缓存恢复 与 。
展开解读:
第一条割:
第二条割:
第二条不等式最重要的地方是缓存只算一次。放置在需求之前确定,所以两个假想需求下是同一个 。我们没有要求真实系统必须连续发生这两次请求,只是利用“同一方案要支持这两种请求”来构造联合信息约束。
若错误概率只是趋于零,上述右侧应先减去 ,最后除以 并令文件长度趋于无穷。第九章会补齐这一步。
因此
原文随后指出更强的约束 ,并将证明放入附录。本精读也保留这个顺序,在第十二章完整证明。
7.6 Example 5: 的两两编码
原文:
Example 5. In this example, we assume that N = K = 3 so that there are three users and three files, say W1 = A, W2 = B, and W3 = C. Again, it is trivial to see that the (M, R) pairs (0, 3) and (3, 0) are achievable. We focus on two nontrivial corner points at M = 1 and M = 2. Consider first caches of size M = 1. We split each file into three subfiles of equal size, i.e., A = (A1, A2, A3), B = (B1, B2, B3), and C = (C1, C2, C3). In the placement phase, the cache content of user k is selected as Zk = (Ak, Bk, Ck). A more formal way to describe this content placement, which is a bit exaggerated for this simple setting but will be useful for the general setting below, is as follows. Let T be a subset of one element of {1, 2, 3}. Then subfiles AT , BT , CT are placed into the cache of user k if k ∈ T . For example, A1 is cached at user one since in this case T = {1}. For the delivery phase, let us consider as an example that user one requests file A, user two requests file B, and user three requests file C. Then the missing subfiles are A2 and A3 for user one, B1 and B3 for user two, and C1 and C2 for user three. Given the cache contents, users one and two aim to exchange A2 and B1, users one and three aim to exchange A3 and C1, and users two and three aim to exchange B3 and C2. The signal (A2 ⊕ B1, A3 ⊕ C1, B3 ⊕ C2) enables all of these three exchanges. All other requests can be satisfied in a similar manner. Since each subfile has rate 1/3, the proposed scheme achieves a rate of 1, and therefore (M, R) pair (1, 1) is achievable. Observe that, through careful content placement, we have again created coded multicasting opportunities for any two users even with different demands. Moreover, these coded multicasting opportunities are available simultaneously for all 27 possible triples of user requests.
对照翻译: 现在令 ,文件为 ,显然 、 可实现。先看 :每个文件等分为三段,用户 缓存 。对请求 ,三位用户分别缺少 、、。广播 可以完成三组交换。每段大小为文件的三分之一,总速率为 1。相同的放置为全部 27 种请求都创造了两用户编码组播机会。
展开解读:
把每位用户的解码过程展开:
用户 | 本地缓存 | 从第一条相关 XOR 得到 | 从第二条相关 XOR 得到 |
|---|---|---|---|
1,请求 | |||
2,请求 | |||
3,请求 |
缓存长度为 ,广播长度也为 ,故 。
对任意请求索引 ,直接广播
索引可以重复,解码仍成立。这给出了全部 种需求的统一规则,而非只验证全不同请求。
7.7 :从两人收益到三人收益
原文:
Consider next caches of size . We again split each file into three subfiles of equal size. However, it will be convenient to label these subfiles differently, namely , , and .
对照翻译: 再考虑缓存大小 。仍把每个文件分成三等份,但改用两元素集合标记子文件。
展开解读: 下标不再只是编号,而是“谁缓存了这一段”的集合。 表示用户 1 和用户 3 都缓存了这段。完整放置为
每个用户存六段,每段 比特,所以缓存为 。
原文:
This exchange can be enabled by transmitting the signal over the shared link. Given its cache content, each user can then recover the missing subfile. All other requests can be satisfied in a similar manner.
对照翻译: 在共享链路发送 即可完成交换。每个用户结合自己的缓存,可以恢复缺失子文件;其他请求也能类似处理。
展开推导: 对需求 ,三位用户分别只缺 、、。记广播为 ,则
每一行用于消去的两项都位于相应用户缓存中。一份 比特广播同时服务三人,故
任意请求对应广播
从 到 ,不仅每人缺失内容变少,单次广播的受益人数还从 2 增加到 3。这正是本地与全局两个增益同时变化的例子。
图 5 原图:

N=K=3 的内存—速率权衡。蓝色实线为定理 1 的可实现速率,红色虚线为定理 2 的下界。">
原文图注:
Fig. 5. Memory-rate tradeoff for N = 3 files and K = 3 users. The achievable rate RC (M ) of the coded caching scheme from Theorem 1 is indicated by the solid blue curve. The lower bound on from Theorem 2 is indicated by the dashed red curve.
图注翻译: 的内存—速率权衡。蓝色实线为定理 1 的可实现速率,红色虚线为定理 2 的下界。
读图与分析:
蓝线依次连接 、、、,即
定理 2 的三个候选分别为
的直线从不超过另外两条的上包络,所以图中下界可简化为
两条线交于 。当 时上下界重合,故该区间已知精确最优;其他区间的空隙不能简单理解为本方案实际一定损失了那么多。图 5 没有像图 3 那样给出整个区间的精确黑线。
7.8 三用户例子的下界逐步推导
原文公式及对应恢复关系:
The first cut separates from the three users.
对照翻译: 第一条割把一次广播和三个缓存与用户隔开;这些信息能恢复三个独立文件,因此总容量至少为三个文件的大小。
展开推导:
原文:
The second cut separates from the first user.
对照翻译: 第二条割使用三种需求对应的广播和同一个用户缓存,使用户 1 分别恢复三个文件。
展开推导: 用户 1 的请求依次是 1、2、3,因此联合观察三个广播与 后能恢复整个库。缓存只计一次,于是
将两条不等式取最大值,就得到图 5 的红色虚线。例子到这里已经预演了一般割集证明的两种思想:一次服务多个用户,以及多次假想需求复用同一组缓存。
八、编码缓存方案(Proof of Theorem 1)精读
8.1 用整数 统一描述所有缓存构造点
原文:
Consider cache size , and set
Observe that is an integer between and .
对照翻译: 对上述离散缓存大小,定义整数 ,它在 0 到 之间。
展开解读: 同时有三种解释:全体缓存容量与文件库容量之比;每个子文件被复制到的用户数;每条编码消息所服务用户数减一。后两种解释来自构造,而不是任意缓存方案都有的性质。
两个端点单独处理:
以下先假设 。这避免在计数式中出现 等无意义写法。
8.2 放置第一步:按用户子集切分文件
原文:
In the placement phase, each file is split into nonoverlapping subfiles of equal size. It will be convenient to label the subfiles of file as
对照翻译: 在放置阶段,把每个文件切成 个互不重叠、大小相等的子文件,以所有大小为 的用户子集作为标签。
展开解读: 这里 , 不是请求集合,而是缓存持有者集合。比如 时,标签为
每个文件共有六段,每段 比特。用户请求可以变化,但这些标签及分段边界在放置时已经确定。
一般情况下单段长度为
这里隐含了等分长度可实现的整除要求。对适当的有限 可以精确等分;一般渐近文件长度可用填充和趋于零的额外归一化开销处理,必要时先取任意小速率松弛再利用下确界定义。
8.3 放置第二步:用户 缓存所有含 的标签
原文:
For each , subfile is placed in the cache of user if .
对照翻译: 对每一个文件,只要用户 属于子文件标签集合 ,就把该子文件放入用户 的缓存。
展开推导: 固定用户 后,标签中已有一个元素 ,另外 个成员从剩余 个用户中选择,故每个文件在用户 处有
段,总共 段。缓存长度为
这条组合恒等式不是无关的计算:它验证了每位用户都恰好满足缓存约束,而不是只验证全体缓存总量够用。
此外,每个标签恰有 个用户,所以每段被复制 次。总缓存量既可按用户数算成 ,也可按子文件复制次数算成 ,两种计数相等。
8.4 Example 6:一般放置式回到三用户例子
原文:
Let and . Then and the content placement is
对照翻译: 在三文件三用户、缓存大小 2 的情况下,,每个用户缓存每个文件中标签包含自己的两段。
展开解读: 这与第七章的 完全一致。原文把这个例子再列一次,是为了确认抽象集合记号与可手算的小例子一一对应。
8.5 交付规则:每个 用户子集发送一个 XOR
原文:
We focus on a subset of users. Observe that every users in share a subfile in their caches that is needed at the remaining user in .
For each such subset of cardinality , the server transmits
对照翻译: 考察任意一个包含 位用户的集合。对集合内每位用户 ,其需要的某段内容被其余 位用户共同缓存。服务器对每个这样的用户集合,把这些分别缺失的子文件逐比特异或后广播。
展开解读: 固定 ,其中一项为
它满足三个条件:属于用户 请求的文件;标签不含 ,所以 缓存中没有;标签含集合内的其他每个人,所以每个其他用户都知道它。
因此站在任意用户 的角度,整条 XOR 中恰好只有自己的那项未知。站在另一个用户的角度,未知项又不同。这个统一的“每人只差一项”结构,就是放置设计的目的。
8.6 交付负载计算:把全部组合数展开
原文推导:
对照翻译: 总共存在 个用户子集,每个子集发送一段长为 的 XOR,所以得到上述总负载。
展开推导:
最后代入 ,于是 。
注意计数对象是广播条数,不是 XOR 项数。每条 XOR 含 个子文件,但只发一个子文件长度。如果误乘 ,就恰好把全局增益丢掉了。
8.7 Example 7:一般交付规则回到
原文:
Let and . Then and the content placement is . For request , the signal transmitted in the delivery phase is
对照翻译: 对三文件三用户、缓存为 1 的系统,,每个用户缓存以自己编号为标签的一段。请求分别为文件 1、2、3 时,广播上述三条 XOR。
展开解读: 三条消息分别对应 、、。所以第七章看似手工配对的三次交换,其实就是遍历所有大小为 的集合。
8.8 完整解码证明:不只证明“某一段能解”
原文:
Since each user already has access to the subfiles for all , it can solve for from the signal sent over the shared link.
对照翻译: 用户 已知该 XOR 中属于其他用户的所有子文件,因此可解出自己的缺失子文件。
展开证明: 对所有 ,因为 ,相应项属于 ,故
接下来还要证明每个缺失标签都会出现。用户 的缺失段标签满足
对任一这样的 ,选择唯一集合
服务器必定发送对应消息,其中属于 的项正是 。因此所有缺失段均能恢复。标签含 的其余段已经在缓存中,于是整个文件恢复完成。
子文件数量也闭合:
该论证没有用到 ,因此对全部 种需求成立。
8.9 Algorithm 1:原算法、翻译与执行含义
原算法版面:

原文算法(排版整理,数学记号与原算法一致):
PLAINTEXT
procedure PLACEMENT(W₁, …, W_N)
t ← MK/N
T ← {T ⊂ [K] : |T| = t}
for n ∈ [N] do
split Wₙ into (Wₙ,T : T ∈ T) of equal size
end for
for k ∈ [K] do
Zₖ ← (Wₙ,T : n ∈ [N], T ∈ T, k ∈ T)
end for
end procedure
procedure DELIVERY(W₁, …, W_N, d₁, …, d_K)
t ← MK/N
S ← {S ⊂ [K] : |S| = t + 1}
X_(d₁,…,d_K) ← (⊕_{k∈S} W_(dₖ,S\{k}) : S ∈ S)
end procedure
对照翻译: 放置过程先计算 、枚举所有 元标签并等分每个文件,再把含用户编号的所有子文件放入该用户缓存。交付过程枚举所有 元用户集合,为每个集合生成一条 XOR,并把这些 XOR 拼成公共广播。
展开解读: 为避免伪代码中字母集合和单个集合混淆,可用 、 表示“集合的集合”,用 、 表示其中的元素。算法本身不需要知道未来需求;只有第二个过程才接收 。
原算法针对 的整数构造点。完整定理还需补上端点、与未编码基准取较小值、以及一般 的内存共享。这三项不能从伪代码中省略后就声称已经实现所有参数。
8.10 定理 1 的闭环与零误差性质
原文:
Observe that the placement phase of the algorithm is designed such that, in the delivery phase, the caches enable coded multicasting between MK/N +1 users with different demands. These coded multicasting opportunities are available simultaneously for all N K possible user demands. This is again critical, since the placement phase has to be designed without knowledge of the actual demands in the delivery phase. We also point out that while the problem setting allows for vanishing probability of error as F → ∞, the achievable scheme presented here actually has zero error probability for finite F .
对照翻译: 算法的放置阶段使缓存能够在交付阶段支持 位、可能请求不同文件的用户之间的编码组播。这种机会对全部 种可能需求同时成立,这是放置阶段不知道实际需求时的关键。另外,尽管问题设定允许 时错误概率趋于零,这里给出的方案对于适当的有限文件长度实际上具有零错误概率。
展开解读:
因此定理 1 的证明闭环是:缓存长度合法 → 每条广播长度可计数 → 每个用户解出全部缺失段 → 对所有需求成立 → 获得可实现点 → 共享内存补齐连续容量。
它还暴露一个实践成本:每个文件要切成 段,服务器要构造 条消息。当 接近 时,子分包数量很大。论文证明的是速率与内存的最优量级,没有把子分包和计算成本一起优化。
九、最优速率下界(Proof of Theorem 2)精读
9.1 为什么需要跨需求的割集?
原文:
Let and consider the first caches . There exists a user demand and a corresponding input to the shared link, say , such that and determine the files . Similarly, there exists an input to the shared link, say , such that and determine the files .
对照翻译: 选取前 个用户的缓存。存在一种需求,使相应广播 和这些缓存足以恢复前 个文件;再存在另一种需求,使广播 和同一组缓存恢复接下来的 个文件。
展开解读: 如果只看一次需求,可得 。它在缓存略大后很快失去约束力,因为把 个缓存的全部容量一次性抵扣了。
但同一缓存要支持许多不同需求,不能在每一种需求下都被当作一份全新信息。因此把不同需求对应的广播放在一起,而缓存只保留一份,会得到更强约束。
令
第 个假想需求中,令前 位用户依次请求
其他 个用户的需求可任意合法指定。每个需求都必须由同一个可实现方案满足,故这些广播函数全都存在。
图 6 原图:

s=2 对应的割。图中 ,,。">
原文图注:
Fig. 6. Cut corresponding to parameter s = 2 in the proof of the converse. In the figure, N = K = 4, and X1 = X(1,2,3,4) , X2 = X(3,4,2,1) .
图注翻译: 下界证明中参数 对应的割。图中 ,,。
读图与分析:
第一种需求下,用户 1、2 分别从 和自身缓存恢复 。第二种需求下,同两位用户从 和相同缓存恢复 。
图中的四个恢复节点表示跨需求实例恢复的四个文件,不要误读成“现在给四个用户只保留两个缓存”。它是证明用的组合恢复网络。
所以 足以恢复四个独立文件,得到
这恰好是 的一般公式。图中没有要求用户真的共享缓存;证明者把各解码器的输入合并用于构造下界,这只会让恢复能力更强,是合法的下界论证方式。
9.2 割容量不等式与式中每个因子的来源
原文:
We then have that and determine .
By the cut-set bound,
对照翻译: 所有这些广播与所选缓存共同确定 个文件。因此广播总容量加缓存总容量不能少于这些文件的信息量。
展开推导: 先对任意可实现速率 写,
除以 :
取所有可实现 的下确界,再对 优化,得到
取整项表示只安排完整的 文件批次。若 ,只能使用两个不重叠批次、共四个文件,第五个文件暂不用于该条割。这是证明的选择,不是系统丢弃了第五个文件。
9.3 用熵和 Fano 不等式把渐近误差补完整
原文对应句:
By the cut-set bound ...
对照翻译: 通过割集界得到上述不等式。
展开证明(本精读补齐原文压缩的误差处理): 记
固定 ,每个文件的错误概率趋于零。由联合界,恢复整个 文件组的错误概率也趋于零。Fano 不等式给出
然后
除以 ,令 ,便得到相同的割集不等式。这里完全没有假设广播之间独立、缓存之间独立;联合熵不大于边缘熵之和就够了。
各行依据分别是:文件独立且均匀;互信息恒等式;;熵的次可加性;缓存与广播的长度约束。这使得下界适用于编码放置和一般编码方式。
9.4 为什么还要对 优化?
原文:
Solving for and optimizing over all possible choices of , we obtain ... proving the theorem.
对照翻译: 解出最优速率的约束,并在所有可选 中优化,得到定理。
展开解读: 小缓存时需要较大的 来体现“很多用户必须收到很多不同文件”;大缓存时, 的 仍保持有意义。中间缓存区域适合令 大约与 成比例。
粗略忽略取整,有
把 临时看成实数,抛物线最大值在 ,对应量级 。这只是帮助理解选参的近似,正式证明仍必须保证 是合法整数并保留取整损失。下一章的 0.275 与 0.3 就是在做这件事。
十、常数因子近似(Proof of Theorem 3)精读
10.1 原文证明路线:曲线有三个区域
原文:
The function has three distinct regimes ... The first regime is for between and approximately . ... The second regime ... behaves essentially like . The third regime ... is again close to linear.
对照翻译: 可实现速率有三个不同区域:小缓存区域大致呈线性;中间区域基本像 ;大缓存区域再次近似线性。
展开解读: 因为不同区域的速率量级不同,很难用同一个 和同一条粗糙上界覆盖全部参数。证明先处理用户数或文件数很小的情况,再把其余参数分三段比较。
源文档此处出现把 Theorem 2 叫作“upper bound”等表述,以及比值方向误写。数学关系应始终是
要证明的是 。本章按这个方向展开,不沿用这些文字笔误。
图 7 原图:

N=20,K=10 时的可实现速率 。图示三个近似区域为 、、;第一和第三区域近似线性,中间区域为非线性,图中虚线辅助显示其变化。">
原文图注:
Fig. 7. Achievable rate RC (M ) (solid curve) as defined in Theorem 1 for N = 20 files and K = 10 users. The function RC (M ) has three distinct regimes, which are approximately 0 ≤ M ≤ max{2, N/K}, max{2, N/K} < M ≤ N/2, and N/2 < M ≤ N . In the first and third regimes, RC (M ) is essentially linear; in the second regime, RC (M ) is nonlinear (as indicated by the dotted curve).
图注翻译: 时的可实现速率 。图示三个近似区域为 、、;第一和第三区域近似线性,中间区域为非线性,图中虚线辅助显示其变化。
读图与分析:
左端缓存很小时,速率仍与 同量级;中间区域的主要下降趋势近似反比函数;接近完整缓存时,剩余未缓存比例 决定下降到零的行为。
这张图用于直觉,而不是规定正式证明的切分常数。正式证明为了使最终常数不超过 12,使用
作为分界。 与图中的 不同并非推导矛盾,而是“示意区间”与“便于统一估计的严格区间”的区别。
10.2 先准备两个通用界
原文公式:
对照翻译: 编码方案至少可以选用未编码基准,因此速率不超过未编码直线;割集参数取 时得到第二条下界。
展开解读: 第一个界对一般 也成立:未编码基准本身是线性可实现方案,下凸包不会比它更差。第二个界来自 ,没有取整松弛。
记
后一恒等式可分 与 两种情况检验,在本章能减少不必要的重复。
10.3 情况一:,直接完成证明
原文式 (3):
对照翻译: 若文件数和用户数中的较小者不超过 12,直接用未编码上界与单用户割集下界,就能获得 12 倍保证。
展开推导: 对 ,
则两者均为零,直接验证 。此步不需要研究复杂编码的全部组合结构。
以下都假设 。
10.4 一个处理取整的通用下界
原文使用的不等式:
对照翻译: 向下取整至少是原实数减一。
展开推导: 对 ,右侧分母为正,因此
代入割集下界,
注意不等号方向:分母变小使被减去的项变大,因此得到一个更弱但有效的下界。本章选择的 都小于 ,不会出现零分母。
10.5 区域一: 的上界
原文式 (4):
对照翻译: 增加缓存不会使可实现速率变差,因此用无缓存速率作为整个小缓存区域的上界。
展开解读: 这一步故意不用更精确的上界。只要能证明最优速率仍至少为 ,比值就能控制在 12 以内。
10.6 区域一:选择 ,逐行证明式 (5)
原文选参和式 (5):
Setting , we obtain ...
对照翻译: 选择约为较小系统规模 27.5% 的用户组成割,可以证明该区域的最优速率至少是较小系统规模的十二分之一。
展开推导: 因 ,;又 ,所以参数合法。
由于 ,
每一处松弛分别来自:通用取整下界; 的区域上限; 且 ;提取 ; 和 。
最后数值确实为
余量非常小,随意把常数改成“约 0.28”会破坏这条证明。原文使用这些具体小数有算术目的。
原文式 (6):
对照翻译与结论: 将式 (4) 的 与式 (5) 的 相除,小缓存区域证明完成。
10.7 区域二:,先把一般 向下对齐构造点
原文:
Let be the largest multiple of less than or equal to , so that
对照翻译: 取不超过 的最大整数构造容量 ,它与 相差至多一个网格间距 。
展开解读: 本身可能不在整数构造点,不能直接套光滑公式。因为较小缓存的方案也能在较大缓存中运行,所以
而 是构造点,可以使用定理 1 的代数表达式。
原文式 (7),完整展开:
对照翻译: 将缓存向下对齐最多损失一个网格间距后,仍可把中间区域的可实现速率界在 以下。
每一步为什么成立: 由 ,分子可界为 ,分母可界为 ;本区域 ,故 ,最后括号不超过 1。
这个步骤没有假定所有实数 都实现了光滑表达式,而是给出了一个经过网格误差处理的有效上界。
10.8 区域二:选择 ,证明式 (8)
原文:
Setting in Theorem 2, we obtain ...
对照翻译: 在中间区域选择约为 位用户,可证明最优速率至少是 。
先验证参数合法:
由 ,
所以 。由 ,
因此 。
完整不等式链:
第三到第四行用到 ,以及 。因此 ,负项可以按显示方式放大。
最后括号数值为
原文式 (9):
对照翻译与结论: 用式 (7) 的 除以式 (8) 的 ,中间区域证明完成。
10.9 区域三:,用凸性连到完整缓存端点
原文:
Let be the largest multiple of less than or equal to , so that
Then, using convexity of and that , ...
对照翻译: 将 向下对齐到一个构造点,再利用可实现曲线的凸性以及完整缓存端点的速率为零,控制大缓存区域。
展开解读: 与区域二不同,这次 固定在分界附近,不随待分析的 变化。因为 ,所以 ,保证下方的网格估计非负。
由 与 的内存共享,
凸函数位于两点连线的下方,所以上式方向为“”。
再对构造点处的速率估计:
第二行将分子 放大为 1;第三行代入网格下界。
原文式 (10):
对照翻译: 在大缓存区域,可实现速率至多是未缓存比例的 12 倍。
系数核对:
10.10 区域三的下界、区间覆盖与最终闭环
原文式 (11):
对照翻译: 取 的单用户割集下界。
展开解读: 在接近完整缓存时, 仍约为 1,不能刻画速率下降到零的行为,而 正好会趋于零,因此这时选 。
原文式 (12):
对照翻译: 将式 (10) 与式 (11) 比较,得到大缓存区域的 12 倍保证; 用非比值形式验证。
检查三个区间确实覆盖: 当 时,
所以区域一、二、三按顺序排列,中间没有遗漏。边界归属分别是
原文一处概览文字漏写区域二下端的系数 1.1,但后面的实际假设与证明使用的是上面这一组区间;必须以证明所需条件为准。
原文结论:
Combining (3), (6), (9), and (12) yields ... for all and all .
对照翻译: 合并小系统情况与三个缓存区域的结果,定理对全部系统参数成立。
最终结果:
证明的结构可以逐项核对:
参数范围 | 上界 | 下界 | 比值保证 |
|---|---|---|---|
用 |
12 是这组估计统一得到的常数,不是物理系统中的特殊阈值。证明最值得学习的是根据速率形状选不同的割、处理取整和利用内存共享,而不是死记三个小数。
十一、讨论与未来方向(Discussion and Directions for Future Work)精读
本章按原文 VIII-A 至 VIII-G 的顺序解读。所有“后续工作”“开放问题”均指论文写作时的叙述,不把 2014 年的状态当作今天仍未解决的事实。
11.1 VIII-A:与索引编码、网络编码的关系
原文:
The caching problem introduced in this paper is related to the index coding problem [8], [9] (or, equivalently [11], the network coding problem [12]). We now explain this connection. The caching problem consists of a placement phase and a delivery phase. The most important aspect of this problem is the design of the placement phase in order to facilitate the delivery phase for any possible user demands. Now, for fixed content placement and for fixed demands, the delivery phase of the caching problem induces a so-called index coding problem. However, it is important to realize that the caching problem actually consists of exponentially many parallel such index coding problems, one for each of the N K possible user demands. Furthermore, the index coding problem itself is computationally hard to solve even only approximately [13]. The main contribution of this paper is to design the content placement such that each of the exponentially many parallel index coding problems has simultaneously an efficient and analytical solution. This, in turn, allows to solve the caching problem within a constant factor of optimality. The proposed coded caching scheme is based on prefetching uncoded raw bits and on delivering linearly encoded messages. This contrasts with the index coding problem, where linear codes are not sufficient to operate within a bounded factor of optimality (i.e., nonlinear codes can offer unbounded gain) [14].
对照翻译: 本文缓存问题与索引编码问题相关,也通过已有等价关系与网络编码相关。缓存包含放置和交付两个阶段,其中关键是设计放置,使任何用户需求下的交付都容易完成。一旦固定放置与具体需求,交付就诱导出一个索引编码问题。但完整缓存问题包含数量为 的、对应不同需求的索引编码实例,而且一般索引编码即使近似求解也很困难。本文的贡献是设计缓存,使所有这些实例同时具有高效且可分析的解,从而在常数倍内解决缓存问题。方案预取未编码的原始比特、交付线性编码消息;而一般索引编码中,线性码与非线性码之间可能存在无界增益差距。
展开解读:
固定缓存相当于固定各接收方的旁信息;固定需求相当于指定各接收方要恢复哪个消息。交付于是成为索引编码:一个发送者知道全部消息,多个接收者有不同旁信息,只能共同接收广播。
本文没有给出任意索引编码实例的通用最优算法。它做的是在需求揭示前主动设计旁信息结构,使之后出现的所有实例都属于一类能统一处理的结构。
“线性编码足够实现常数近似”也不等于“线性编码在每一点都最优”。附录会表明仅改变放置就能改善某些点。一般索引编码的线性与非线性结论来自原文引用的文献,不是本论文重新证明的定理。
11.2 VIII-B:去中心化缓存
原文:
The coded caching scheme described in this paper has a placement phase that is orchestrated by a central server. Crucially for this scheme, both the number and the identity of the users in the delivery phase are already known in the prior placement phase. This is clearly not a realistic assumption since we usually do not know in the morning which users will request content in the following evening. Moreover, if instead of the synchronized user requests here we have more realistic asynchronous requests, then users join and leave the system over a period of several hours during the delivery phase, resulting in a time-varying number of users. Finally, users may be in different networks during the two phases, e.g., a mobile connected to a wireless local area network (e.g. WiFi) during the placement phase and connected to a cellular network (e.g. LTE) during the delivery phase. To deal with these issues, we need a placement phase that is decentralized. We have developed such a decentralized coded caching scheme in follow-up work [15], in which each user caches a randomly selected subset of the bits. We show that the rate of this scheme is within a constant factor of optimal universally for any number of users K. Using this universality property allows to address the problem of asynchronous user requests and of differing networks during the two phases.
对照翻译: 本文方案的放置阶段由中心服务器协调,而且在放置时就要知道交付阶段的用户数量与身份。这不总是现实:事先未必知道晚上谁会发请求,用户也可能在交付期间不断加入、离开,或在放置和交付阶段连接不同网络。为应对这些情况,需要去中心化放置。作者在后续工作 [15] 中让每个用户随机缓存部分比特,并得到对任意用户数都成立的常数近似保证;这种通用性有助于处理异步请求和阶段间网络变化。
展开解读:
一般构造中的标签 依赖预先固定的用户集合。若新增用户没有对应标签结构,原来的精确组合安排就不再直接适用。
随机放置的思路是在足够大的文件上形成统计规律,让不同旁信息交叠自然出现。但它的速率表达式、分析方法与本篇集中式方案不同,不能把本篇的 放置直接称为去中心化算法。
原文 [15] 的题名为 Decentralized coded caching attains order-optimal memory-rate tradeoff,是继续研究这一方向的直接衔接。
11.3 VIII-C:在线缓存
原文:
The caching problem here has two distinct phases: placement and delivery. The cache is updated only during the placement phase, but not during the delivery phase. Many caching systems used in practice use online cache updates, in which a decision to update the cache is made during file delivery. One popular update rule is least-recently used (better known by its abbreviation LRU), in which the least-recently requested file is evicted from the cache [16]. It is hence of interest to develop an online version of the coded caching algorithm proposed here. We present prelim- inary results in this direction in [17], where we introduce a coded least-recently sent delivery and update rule. For a probabilistic model of user requests, this update rule is shown to be approximately optimal in [17]. An open question is to find schemes that have stronger competitive optimality guarantees for individual sequences of user requests as in [16].
对照翻译: 本文把放置和交付分成两个阶段,交付时不更新缓存。但实际系统常在交付过程中做在线更新,例如 LRU 逐出最久未被请求的文件。因此有必要开发在线编码缓存算法。作者在 [17] 中提出 coded least-recently sent 的交付与更新规则,并在概率需求模型下得到近似最优结果;相对于单个需求序列的更强竞争性保证是文中提出的问题。
展开解读:
离线两阶段模型只优化一次给定放置后的交付;在线模型还要决定每次传输后缓存如何变化,而变化又影响下一次的编码机会。
不能把编码缓存简单与 LRU 并排组合就认为理论保证保留了。LRU 的替换可能破坏集合标签形成的对称旁信息结构。需要把更新与编码交付重新联合设计。
概率模型下的期望最优,与对每一条需求序列的竞争分析,也不是同一个保证。原文明确区分这两种评价标准。
11.4 VIII-D:非均匀文件流行度
原文:
Throughout this paper, we have adopted a worst-case definition of rate with respect to user requests. However, different pieces of content have usually different popularities (i.e., probabilities of being requested by the users). In order to capture this effect, the definition of rate needs to be changed from worst case to expected value. We report initial results extending the coded caching approach to this setting in [18]. The optimality results there are however weaker, providing only an approximation to within a factor that is (in most cases of interest) logarithmic in the number of users. Finding better schemes for this important setting of nonuniform file popularities and more precisely quantifying the impact of the file distribution on the global gain arising from coding is hence of interest. Furthermore, the results in [18] hold only when all users have the same file popularity distribution. Analyzing the impact of different per-user file popularities is an open problem.
对照翻译: 本文一直采用对用户需求取最坏情况的速率定义。但实际文件有不同流行度,即不同请求概率。要刻画这种效果,需要把最坏速率改为期望速率。作者在 [18] 中报告了相应编码缓存的初步扩展,但最优性保证较弱:在多数关注情形中,近似因子随用户数呈对数变化。进一步改进方案、量化文件分布对全局增益的影响,以及处理用户之间不同流行度分布,都是文中提出的研究问题。
展开解读:
原问题的目标是
改为概率需求后,可研究
这是本精读对文字的数学展开。即便某种需求极少出现,它仍决定最坏速率;在期望目标下,它的影响则乘以很小的概率。
非均匀流行度会鼓励把更多容量给热门文件,但过度集中缓存也可能减少互补旁信息。因此“提高本地命中率”与“扩大编码组播机会”之间出现新的权衡。原文并没有证明均匀切分在所有流行度下仍最优。
11.5 VIII-E:更一般网络
原文:
The discussion in this paper focuses on a basic caching network consisting of a single shared link. To be relevant in practice, the results here need to be extended to more general networks. We report extensions to tree networks with caches at the leaves as well as initial results on caches shared among several users in [15]. An interesting extension of the coded caching approach proposed in this paper to device-to-device networks without a central server is reported in [19]. Adapting coded caching to general networks and analyzing asymmetric scenarios arising for example from nonuniform cache sizes are open questions.
对照翻译: 本文聚焦于单一共享链路的基本缓存网络。要与实践相关,需要扩展到更一般网络。作者在 [15] 中报告了缓存位于叶节点的树网络,以及多个用户共享缓存的初步结果;[19] 给出了无中心服务器的设备到设备网络扩展。将编码缓存推广到一般网络,并分析不同缓存大小等导致的不对称场景,是文中提出的方向。
展开解读:
共享链路把所有用户看成同一次广播的接收者;真实网络可能只有部分用户共享同一瓶颈,还可能存在不同路径和容量。编码服务的用户集合于是必须与拓扑一起考虑。
设备到设备场景还改变了发送者:没有一个始终持有完整文件库的中心节点,哪些用户有能力形成并发送某条 XOR 需要重新分析。
所以本论文可以提供设计启发,但 与 12 倍保证不能不经证明地移植到无线衰落链路、树网络或异构缓存系统。
11.6 VIII-F:更紧的近似保证
原文:
The upper and lower bounds on the memory-rate tradeoff derived in this paper are shown here to be within a factor 12 from each other. Sharpening this approximation guarantee is of interest. As mentioned, numerical simulations suggest that a more careful analysis should be able to decrease the gap to within a factor of 5. To go beyond that, better lower and upper bounds are needed, both of which we know from Example 4 can be improved (see also the Appendix). Some further questions in this context are as follows.
对照翻译: 本文得到的上下界相差至多 12 倍,进一步缩小近似差距值得研究。数值结果提示更细致分析可能把差距缩小到 5 倍。若还要继续改进,需要更好的上界或下界;例 4 与附录已经表明两侧一般都可改进。
展开解读:
两种改进途径必须分清:改进分析,指对同一个方案和同一个下界少做松弛;改进构造或 converse,指真正改变上下边界。前者不能自动得到逐点精确最优。
11.6.1 线性编码与非线性编码
原文:
This raises the questions if we can improve the gap using nonlinear schemes or if there exist caching networks for which nonlinear schemes can offer unbounded gain.
对照翻译: 是否能用非线性方案改善差距?是否存在某些缓存网络,非线性方案能带来无界增益?
展开解读: 本文已在当前共享链路模型下证明一个线性方案常数近似最优,所以此模型中非线性方案相对于它的速率改善被 12 所控制。第二个问题涉及其他缓存网络,并不与本篇定理矛盾。
11.6.2 更大的有限域
原文:
All operations in this paper are over the binary field. In contrast, in network and index coding larger field sizes are useful. The question is thus if larger field sizes can improve the performance of coded caching.
对照翻译: 本文所有运算都在二元域上进行,而网络编码和索引编码中较大的有限域有时有用,因此可以研究更大的域是否能改善编码缓存性能。
展开解读: XOR 就是 上的加法。当前构造每位用户只差一项,因此二元加法已经足够消去其他项。更大域的潜在价值需要不同构造或更复杂的线性关系,不能仅把 XOR 替换成另一种加法就获得速率收益。
11.6.3 编码放置
原文:
Coded Content Placement: Example 4 presents a scenario with two users, two files, and cache size 1/2, where coded content placement can improve the achievable rate. While this type of coded content placement is not needed for a constant-factor approximation of the memory-rate tradeoff, it might lead to a smaller constant factor.
对照翻译: 例 4 给出了二用户、二文件、缓存大小为 的场景,其中编码内容放置可以改善可实现速率。常数因子近似不需要这种放置,但它可能帮助缩小近似常数。
展开解读:
“coded caching”中的 coded 并不要求放置和交付都编码。本文一般方案是未编码放置、编码交付;附录进一步展示编码放置的价值。
如果下界仅针对未编码放置方案,它与本篇允许任意缓存函数的 就不是同一个优化对象。阅读后续文献时必须先看优化类是否相同。
11.6.4 零错误与渐近消失错误
原文(合并双栏断句):
The problem setting as described in Section II allows for a vanishing error probability. However, the proposed achievable scheme has zero error probability, while still being approximately optimal. Schemes with vanishing error probability or lower bounds making explicit use of the zero-error requirement might be used to find sharper approximations.
对照翻译: 模型允许错误概率趋于零,但本文方案是零错误且仍近似最优。利用允许小概率错误的方案,或针对严格零错误要求建立更强下界,可能得到更紧结果。
展开解读: 放宽错误要求会扩大允许方案的集合,因而最优速率可能降低;加强为严格零错误则限制方案集合,可能支持更强 converse。具体能否改善还需证明,不能只因两类定义不同就断言两类最优值一定不同。
11.7 VIII-G:实现复杂度
原文:
Compared to uncoded caching, the coded caching approach suggested in this paper imposes additional computational burden on the server and the users, especially for large values of K. One approach to deal with this burden is to use coded caching only among smaller subgroups of users. This results in lower computational load at the expense of higher rates over the shared link. Deriving the fundamental tradeoff between rate and memory subject to complexity constraints is of great interest.
对照翻译: 相比未编码缓存,本文编码缓存增加了服务器与用户的计算负担,特别是在用户数量很大时。一种办法是只在较小的用户子组内进行编码缓存,从而降低计算负载,但共享链路速率会提高。在复杂度限制下刻画速率—内存的基本权衡很有意义。
展开解读:
组合数量直接揭示原因:
例如 时,,每个文件需要
段。归一化负载很小,并不等于文件分段、索引和调度开销也小。
若把用户分成每组 人,各组分别运行类似方案(为说明量级,暂假设整除与整数构造条件满足,并顺序共享链路),总速率约为
这是本精读对分组取舍的补充计算:全局组播改善由 降为 ,但组合规模从 降到 。原文提出方向,并未在本篇证明一个包含复杂度约束的新最优定理。
十二、附录(Appendix)精读:二文件、二用户的精确解
12.1 附录要补上哪两个缺口?
原文:
Example 4 in Section IV derives upper and lower bounds on the memory-rate tradeoff claimed in Theorems 1 and 2 for K = N = 2. While these two bounds are sufficient to characterize to within a constant multiplicative gap, as we show in what follows, neither of the two bounds are tight in general.
对照翻译: 例 4 为 推导了定理 1 和定理 2 的上下界。虽然这些界足以在常数倍范围内刻画最优速率,但一般而言它们都不紧,下面说明如何改进。
展开解读:
第七章蓝线在 给出 。附录先构造 ,把可实现曲线向下压;再证明 ,把下界向上抬。最后上下界相遇,得到整个区间的精确权衡。
这部分不是与正文无关的补充:它划清了“本方案的速率”“cut-set 下界”和“信息论最优值”之间的边界。
12.2 编码放置实现
原文:
We start by arguing that the achievable scheme can be improved by focusing on the case M = 1/2. As before, we split each file into two subfiles, i.e., A = (A1, A2) and B = (B1, B2). In the placement phase, we choose the cache contents as Z1 = A1 ⊕ B1 and Z2 = A2 ⊕ B2. Assume that user one requests file A and user two requests file B. The server can satisfy these requests by transmitting (B1, A2) at rate R = 1. The other three possible requests can be satisfied in a similar manner. This shows that (M, R) pair (1/2, 1) is achievable. This new point improves the boundary of the achievable region from the solid blue to the dotted black curve in Fig. 3 in Section IV.
对照翻译: 先考虑 来改善可实现方案。仍把文件分别分为两段,、。放置时令 、。如果用户 1 请求 、用户 2 请求 ,服务器广播 ,速率为 1。其他三种请求也可类似满足,因此 可实现,使图 3 的可实现边界由蓝色实线改善为黑色点线。
展开解读:
每个缓存只存一段 XOR,长度为 ,所以确实是 ,不是 。原始子文件分别独立,用户从 本身通常不能直接读出 或 ;缓存保存的是关系。
对需求 ,服务器广播 ,两段共 比特:
用户 1 由解出的 加广播的 恢复 ;用户 2 由广播的 加解出的 恢复 。
补齐原文没有逐项列出的其他请求:
请求 | 广播 | 用户 1 如何恢复 | 用户 2 如何恢复 |
|---|---|---|---|
,直接取得 | 直接取得 , | ||
,直接取得 | 直接取得 , | ||
直接恢复 | 直接恢复 | ||
直接恢复 | 直接恢复 |
全部需求最多发送一个文件大小。两个同文件需求下可以不用缓存,不影响最坏速率保证。
这个例子说明,缓存中的信息可以不以“可直接读取的文件片段”形式存在,却仍能在交付时降低负载。因此不能把一般 理解成“提前知道请求文件的 比例”。那个解释只适用于特定未编码放置。
12.3 更强 converse 的起点:两组都能解出 的观察
原文公式:
对照翻译: 两份广播和两份缓存的总长度,上界住这两组随机变量的熵之和。
展开解读: 定义
在需求 中,用户 1 要 ,故 能恢复 ;在需求 中,用户 2 也要 ,故 也能恢复 。
同时 包含 和 ,所以还足以恢复 。这三个恢复事实将分别贡献约一个 的信息量。
12.4 原文完整熵不等式链
原文(按逻辑顺序恢复跨栏公式):
对照翻译: 先把两组观察的熵分解为“给定 后剩余的熵”和“各自包含的 信息”。再把两个条件熵合并下界为联合条件熵,并将其下界为它们对 提供的条件互信息。
逐行解释: 第一行使用长度约束。第二组等号使用恒等式
对 同理。第一次“”使用条件熵次可加性:
第二次“”使用
于是整条式子可缩写为
关键在于右侧保留了两份分别能恢复 的互信息,而不是一开始就把 粗略合并为 。后一种做法会丢掉这里所需的重复信息结构。
12.5 Fano 不等式给出三个接近 的项
原文:
Now, since can be decoded from and also from , and since can be decoded from , we obtain using Fano’s inequality that
for any as long as is large enough.
对照翻译: 由于相应文件都可以从这些观察中恢复,由 Fano 不等式,文件足够大时,这三个互信息分别至少为 。
展开推导: 前两项例如
第三项利用文件独立性,
因此原文得到
除以 :
令 ,对所有可实现方案都有
这是比前述简单 cut-set 更强的约束,其力量来自对不同需求的解码关系进行联合熵分析,而不只是把某一个割内的容量加起来。
12.6 精确权衡:把改进上界与改进下界闭合
原文:
This bound, together with the two cut-set bounds derived earlier, proves that the dotted black curve depicted in Fig. 3 in Section IV is indeed equal to .
对照翻译: 将新的下界和前面的两条割集下界结合,就证明图 3 中的黑色点线确实是精确最优速率。
展开推导: 下界为
上界方面,对四个已证明可实现点进行内存共享:
三条线段分别为
可以逐个检查连接点: 时前两段都给 1; 时后两段都给 ; 时为零。可实现曲线和下界处处相等,故这次才有资格写“精确”。
在 ,正文一般方案为 ,附录最优为 1,差距是 倍;这既表明正文方案不逐点最优,也与最多 12 倍的保证完全相容。
十三、整篇论文的复核与阅读收束
13.1 从问题定义到定理的完整证据链
本文先规定独立等长文件、相互隔离的缓存和共享无差错链路,把可实现性要求放在全部需求上。这个模型确定了优化对象 。
随后按 元用户子集切分文件,把每个子文件存到标签中的 位用户;交付时对每个 元用户集合发送一个 XOR。组合计数保证每位用户的缓存恰好为 ,解码的集合对应保证所有缺失段都能恢复,因此得到 。
接着选 位用户,让同一组缓存支持 个假想需求,使用割集或等价熵论证得到 。最后根据缓存规模选择不同的 并处理网格取整,证明上下界只差常数倍。
附录再通过编码放置和更细的熵不等式,展示小系统中的精确权衡。这条完整逻辑是:
13.2 八个必须能独立回答的问题
为什么缓存放置不能依赖实际需求? 因为放置发生在需求揭示前;同一组缓存必须支持所有需求向量。
为什么 不是缓存的文件个数约束? 它限制比特容量,允许分段和跨文件编码。
为什么一条 XOR 能服务 人? 对每个人,其他 项都在本地,恰好只有自己的项未知。
为什么分成 段? 标签遍历所有 元用户子集,使每个可能的 人组都有所需旁信息关系。
为什么广播条数为 ? 交付逐一遍历所有 元用户集合。
为什么割集里的缓存只算一次? 多个假想需求使用的是同一套需求揭示前确定的缓存。
为什么不能把一般实数 直接代入光滑速率式? 构造要求 为整数;一般容量由可实现点的下凸包定义。
为什么 12 倍不代表精确最优? 它只给出统一乘法误差保证,附录已经展示正文方案可以改进的具体点。
13.3 数值核对表
参数 | 未编码基准 | 定理 1 的 | 定理 2 的 | 能得出的结论 |
|---|---|---|---|---|
精确为 | ||||
附录实现 ,正文方案不紧 | ||||
附录精确为 | ||||
精确为 | ||||
本文一般界未闭合 | ||||
精确为 | ||||
相对未编码改善 倍 |
最后一行的下界是定理 2 对所有合法整数 取最大值后的结果;不是只取 。例如 得 , 得 ,而 得 ;所有 的候选均不超过 ,因此最大值为 。
13.4 参考文献如何衔接阅读
原文 [1]–[7] 支持传统放置、普通组播和内容分发背景;[8]–[9] 是索引编码背景;[10] 是割集界使用的信息论教材;[11]–[14] 讨论网络编码、索引编码、计算困难和非线性编码;[15]–[19] 对应原文讨论的去中心化、在线缓存、非均匀需求和设备到设备网络等方向。
编号 | 作者与题名 | 在原文中的作用 |
|---|---|---|
[1] | Dowdy and Foster, Comparative models of the file assignment problem | 文件放置背景 |
[2] | Almeroth and Ammar, The use of multicast delivery to provide a scalable and interactive video-on-demand service | 普通组播与视频点播 |
[3] | Dan, Sitaram, and Shahabuddin, Dynamic batching policies for an on-demand video server | 点播批处理 |
[4] | Korupolu, Plaxton, and Rajaraman, Placement algorithms for hierarchical cooperative caching | 层次缓存放置 |
[5] | Meyerson, Munagala, and Plotkin, Web caching using access statistics | 基于访问统计的缓存 |
[6] | Baev, Rajaraman, and Swamy, Approximation algorithms for data placement problems | 数据放置近似算法 |
[7] | Borst, Gupta, and Walid, Distributed caching algorithms for content distribution networks | CDN 分布式缓存 |
[8] | Birk and Kol, Coding on demand by an informed source (ISCOD) for efficient broadcast of different supplemental data to caching clients | 旁信息编码广播 |
[9] | Bar-Yossef et al., Index coding with side information | 索引编码 |
[10] | Cover and Thomas, Elements of Information Theory | 割集界与信息论工具 |
[11] | Effros, El Rouayheb, and Langberg, An equivalence between network coding and index coding | 两类编码问题的联系 |
[12] | Ahlswede et al., Network information flow | 网络编码基础 |
[13] | Langberg and Sprintson, On the hardness of approximating the network coding capacity | 近似计算困难 |
[14] | Blasiak, Kleinberg, and Lubetzky, Lexicographic products and the power of non-linear network coding | 非线性编码的潜在优势 |
[15] | Maddah-Ali and Niesen, Decentralized coded caching attains order-optimal memory-rate tradeoff | 去中心化扩展 |
[16] | Sleator and Tarjan, Amortized efficiency of list update and paging rules | 在线替换与竞争分析 |
[17] | Pedarsani, Maddah-Ali, and Niesen, Online coded caching | 在线编码缓存 |
[18] | Niesen and Maddah-Ali, Coded caching with nonuniform demands | 非均匀需求 |
[19] | Ji, Caire, and Molisch, Fundamental limits of distributed caching in D2D wireless networks | 设备到设备扩展 |

