IA in Coded-Caching Delivery

Why Caching and Distributed Computing Are the Same Problem

Coded caching (Maddah-Ali / Niesen 2014) and coded distributed computing (Li / Maddah-Ali / Yu / Avestimehr 2018, our Chapter 2) are two faces of the same information-theoretic coin. In coded caching, KK users with local memory request files from a central server; the server uses a single broadcast to satisfy all demands. In coded computing, NN workers store partial intermediate values; the master uses an all-to-all shuffle to collect the missing parts. Both schemes use interference alignment to cram more information into fewer broadcasts: the user-side cache content is precisely what allows the "interference" of unwanted file fragments to be cancelled.

This section makes the connection precise. The cross-reference is intentionally heavy: readers of Book CC will recognize the Maddah-Ali / Niesen scheme of Β§4.3, and readers of Chapter 2 of this book will recognize the same achievability counting. The unifying principle is finite-field IA β€” the topic of Section 4.1 β€” applied to the broadcast / shuffle channel.

Definition:

Coded-Caching Problem

A coded-caching system has:

  • A library of FF files W1,…,WFW_1, \ldots, W_F, each of size ∣W∣=b|W| = b bits.
  • A server connected to KK users via a noiseless shared broadcast link.
  • Per-user cache of size Mβ‹…bM \cdot b bits (M∈[0,F]M \in [0, F]), populated in a placement phase when user demands are unknown.
  • A delivery phase in which user kk requests file WdkW_{d_k} for a random demand vector d∈[F]K\mathbf{d} \in [F]^K.

The delivery rate R(d)R(\mathbf{d}) is the number of bits the server must broadcast (normalized by bb) to satisfy demand d\mathbf{d}. The worst-case rate is Rβˆ—=max⁑dR(d)R^* = \max_{\mathbf{d}} R(\mathbf{d}). The information-theoretic question is: given cache size MM, what is the minimum achievable Rβˆ—R^*?

Coded Caching

A two-phase scheme in which user caches are filled (placement) before demands are known, and a single broadcast satisfies all requests (delivery). Coded broadcasts exploit the cached side information to reduce the delivery rate.

Cache Memory MM

The size of each user's local cache, measured in number-of-files units (M∈[0,F]M \in [0, F]). Larger MM allows more side information to be exploited, reducing the delivery rate. The Maddah-Ali / Niesen tradeoff Rβˆ—(M)R^*(M) characterizes the optimal exchange.

Theorem: Maddah-Ali / Niesen Coded-Caching Tradeoff

For the symmetric coded-caching system with KK users and FF files (assume KM∈{0,1,…,K}K M \in \{0, 1, \ldots, K\} for clarity), the centralized coded-caching scheme achieves worst-case delivery rate Rβˆ—(M)β€…β€Š=β€…β€ŠK ⁣(1βˆ’MF)β‹…11+KM/F,R^*(M) \;=\; K \!\left(1 - \frac{M}{F}\right) \cdot \frac{1}{1 + KM/F}, which improves over the uncoded baseline Runcoded(M)=K(1βˆ’M/F)R_{\text{uncoded}}(M) = K(1 - M/F) by a multiplicative factor of 1+KM/F1 + KM/F β€” the global caching gain. The scheme uses finite-field IA in the delivery phase: each broadcast XOR combines 1+KM/F1 + KM/F user demands into a single transmission, and each user's cache content cancels the unintended interferers.

Without caching, the server needs one broadcast per demanded file: R=K(1βˆ’M/F)R = K(1 - M/F) if uncached portions are sent in the clear. With coded delivery, the server XORs together 1+KM/F1 + KM/F requests at a time; each user already has all but its own desired chunk and so can solve for the missing chunk by subtracting (XORing out) the others using its local cache. The "alignment" is in the cache placement: it is chosen centrally so that the right chunks meet at the right users.

Key Takeaway

The global caching gain 1+KM/F1 + KM/F is finite-field IA in disguise. Each broadcast satisfies 1+KM/F1 + KM/F users simultaneously by XOR-aligning their unintended portions inside their local caches. The factor KK in the gain is the number of users β€” not the cache size β€” confirming that the coding (alignment), not the storage, is what delivers the multiplicative improvement.

Example: K=3K = 3 Users, F=3F = 3 Files, M=1M = 1

Three users, three files A,B,CA, B, C, each cache holds M=1M = 1 file. Design a coded-caching scheme. Compare the delivery rate to the uncoded baseline.

Coded Caching Memory–Rate Tradeoff

Plot the delivery rate Rβˆ—(M)R^*(M) vs. the per-user cache size MM for coded vs. uncoded caching, for various numbers of users KK. The coded curve achieves the global gain 1+KM/F1 + KM/F over the uncoded baseline. As KK grows, the gain widens β€” the operational signature of the IA-style alignment in the delivery broadcasts.

Parameters
8

Number of users sharing the broadcast link

16

Total library size in number of files

One Broadcast Satisfying Three Users

Animation of the K=3K = 3, M=1M = 1 Maddah-Ali / Niesen scheme. The server XORs three subfiles into a single broadcast; each user XORs out the two it does not need from its local cache, isolating its desired chunk.

Why This Matters: Coded Caching ≑\equiv Coded Shuffling

The Maddah-Ali / Niesen scheme is mathematically equivalent (up to relabeling) to the Li-Maddah-Ali-Avestimehr coded- shuffling scheme of Chapter 2. In both, the global gain is 1+KM/F=NΞΌ1 + KM/F = N\mu, achieved by the same XOR-aligned broadcast construction. Chapter 7 of this book formalizes the equivalence and uses the connection to handle non-uniform demand distributions in distributed-ML data shuffling β€” a result where the CommIT group has made several contributions (Wan / Tuninetti / Caire 2021).

Common Mistake: Coded Caching Requires Coordinated Placement

Mistake:

Treat each user as caching independently β€” e.g., each user caches its top-MM favorite files based on local statistics.

Correction:

The global caching gain depends critically on coordinated placement: the server (or a designated controller) must assign each user a specific subset of subfiles, chosen so that the delivery-phase XOR alignment works. Decentralized placement (Maddah-Ali / Niesen 2014, Β§VI) recovers most of the gain at a small rate cost, but completely uncoordinated placement forfeits the alignment and reverts to uncoded performance.

⚠️Engineering Note

Coded Caching in Production CDNs

Major content delivery networks (Akamai, Cloudflare, Netflix Open Connect) currently use uncoded caching at the edge nodes. The reasons are practical: video chunks are large relative to per-edge memory, demand statistics shift on short timescales, and the IA-style coordination among edge nodes is hard to deploy without a tightly-controlled cluster. Several research-track deployments (Cisco's coded-caching pilot, MIT's TICS testbed) have demonstrated the predicted gains in laboratory settings, but production adoption is waiting for tighter integration with QUIC / HTTP/3 transport. Wireless-edge (5G / 6G) deployments are expected to be more receptive because spectrum is precious and coordination overhead is amortized over many users.

Practical Constraints
  • β€’

    Production CDNs typically use uncoded LRU/LFU eviction

  • β€’

    Coded-caching gains require coordinated placement, hard at scale

  • β€’

    5G / 6G edge caching standards (3GPP TR 23.748) leave room for coded variants

πŸ“‹ Ref: 3GPP TR 23.748 (edge computing and caching)

Historical Note: Coded Caching: A Decade of Impact

2014–present

Mohammad Ali Maddah-Ali and Urs Niesen's 2014 paper introduced coded caching as an information-theoretic problem distinct from cache-eviction policies. Their main result β€” a multiplicative global caching gain of 1+KM/F1 + KM/F β€” was the first polynomial-in-KK improvement over uncoded caching at any non-trivial cache size. The paper opened a decade of follow-on work: decentralized variants, hierarchical networks, demand-private caching (with relevant CommIT contributions in Chapters 7 and 15 of this book), and extensions to wireless interference networks. The "coded" half of the modern coded-computing field traces directly to this paper.

Quick Check

For K=10K = 10 users with cache size M=F/5M = F/5, the global caching gain over the uncoded baseline is approximately:

1+KM/F=31 + KM/F = 3

M/F=1/5M/F = 1/5

K=10K = 10

F/M=5F/M = 5