The Memory-Load Theorem and Its Proof

The Headline Result

We are now ready for the headline result of coded caching. Having built the placement (§2.2) and verified the delivery (§2.3), the rate formula falls out as a direct counting argument. The result is clean, memorable, and — when first seen — slightly astonishing: the rate decomposes into a local factor (1M/N)(1 - M/N) times a coded factor (1+KM/N)1(1 + KM/N)^{-1}, with the latter growing the total gain without bound in KK.

Theorem: Maddah-Ali–Niesen Memory-Load Theorem

Let KNK \in \mathbb{N}, NNN \in \mathbb{N}, and M{0,N/K,2N/K,,N}M \in \{0, N/K, 2N/K, \ldots, N\}, i.e., t=KM/N{0,1,,K}t = K M/N \in \{0, 1, \ldots, K\} is integer. Then the MAN scheme achieves the worst-case delivery rate   RMAN(M)  =  Ktt+1  =  K1M/N1+KM/N  .\boxed{\; R_{\text{MAN}}(M) \;=\; \frac{K - t}{t + 1} \;=\; K \cdot \frac{1 - M/N}{1 + K M/N}\; }.

We send (Kt+1)\binom{K}{t+1} coded messages, each of size F/(Kt)F/\binom{K}{t} bits. Total bits is (Kt+1)/(Kt)F=(Kt)/(t+1)F\binom{K}{t+1}/\binom{K}{t} \cdot F = (K-t)/(t+1) \cdot F. Rate equals total bits divided by FF: done. The only remaining question is whether a shorter scheme exists — that is Chapter 3.

Key Takeaway

Coded caching gain = 1+t1 + t. Compared with uncoded delivery (Runc=K(1M/N)R_{\text{unc}} = K(1-M/N)), the MAN scheme divides the rate by 1+t1 + t. This is a multiplicative saving that grows with the aggregate cache size, not just per-user cache. For large networks this gain dominates the trivial local cache gain.

Memory–Load Tradeoff: MAN vs. Uncoded

The definitive plot of Chapter 2. The blue solid curve is the MAN rate R=K(1M/N)/(1+KM/N)R = K(1-M/N)/(1+KM/N); the red dashed curve is the uncoded baseline Runc=K(1M/N)R_{\text{unc}} = K(1-M/N). Comparison curves at K/2K/2 and 2K2K show that the MAN rate shrinks as KK grows: more users = more coded multicasting opportunities. For KK \to \infty at fixed M/NM/N, the MAN rate saturates at (1M/N)/(M/N)=1/μ1(1-M/N)/(M/N) = 1/\mu - 1, a finite limit independent of KK.

Parameters
10
10

MAN Rate vs. Number of Users (at Fixed M/NM/N)

As KK grows at fixed memory ratio M/NM/N, the uncoded rate K(1M/N)K(1-M/N) grows linearly, while the MAN rate K(1M/N)/(1+KM/N)K(1-M/N)/(1+KM/N) saturates at (1M/N)/(M/N)(1-M/N)/(M/N). The gap between the two curves is the coded caching gain 1+KM/N1 + KM/N, which is unbounded in KK. This is the single most important qualitative feature of coded caching.

Parameters
0.2
100
🎓CommIT Contribution(2014)

The Maddah-Ali–Niesen Scheme — Framework

M. A. Maddah-Ali, U. Niesen, G. CaireIEEE Transactions on Information Theory

The MAN scheme opened the field of coded caching. Though the 2014 paper lists Maddah-Ali and Niesen as authors (Caire was in the acknowledgments), the subsequent CommIT program — extending the scheme to wireless, D2D, correlated-files, privacy, and cloud-RAN settings — is a sustained collaboration led by Caire. The basic scheme presented in this chapter is the "shared link" version; every later chapter builds on this scaffold, so mastering it is non-optional.

Key insight (restated). The placement is combinatorial (each subfile in exactly tt caches, uniformly distributed); the delivery is coded (one XOR per (t+1)(t+1)-subset). Together they achieve R=K(1M/N)/(1+KM/N)R = K(1-M/N)/(1+KM/N) — a rate that is later proven optimal under uncoded placement (Chapter 3).

coded-cachingachievabilityman-schemeView Paper →

Two Illuminating Extremes

The formula RMAN=K(1M/N)/(1+KM/N)R_{\text{MAN}} = K(1-M/N)/(1+KM/N) has two informative limits:

Small MM (t0t \approx 0): RMANK(1M/N)1=KKM/NR_{\text{MAN}} \approx K(1 - M/N) \cdot 1 = K - KM/N. Almost no coding gain — each user needs a nearly full unicast, as caches are too small to create multicast opportunities.

Large MM (tKt \approx K): RMAN1(11)/(K+1)=0R_{\text{MAN}} \approx 1 \cdot (1 - 1)/(K+1) = 0. Naturally — if every user can cache the whole library, no delivery is needed.

Intermediate MM (tt moderate): The gain (1+t)1(1 + t)^{-1} is substantial. For t=10t = 10, the MAN rate is 111\frac{1}{11} of the uncoded rate. This is the regime where coded caching shines.

Common Mistake: Rate Is in File Units, Not Bits

Mistake:

Stating "RMAN=0.5R_{\text{MAN}} = 0.5" without specifying the unit and being confused when comparing to capacity results.

Correction:

RR is measured in files per shared-link channel use, where one shared-link channel use has capacity FF bits (in the error-free model). A rate R=0.5R = 0.5 means the server sends 0.5F0.5 F bits per delivery round to satisfy all KK users. Equivalently, the rate is dimensionless (files/files). When you later combine coded caching with a noisy channel of capacity CC bits/sec, the effective file delivery time is RF/CR F / C seconds per round.

Quick Check

For K=20K = 20, N=40N = 40, M=10M = 10, compute the MAN worst-case rate.

R=1R = 1

R=2.5R = 2.5

R=5R = 5

R=15R = 15