Toward Coded Caching: Preview of the Memory–Load Tradeoff
What Coded Caching Gets You — A Preview
We close Chapter 1 with a preview of the promise of coded caching. Suppose we allow ourselves two things that uncoded caching forbids:
- Coded placement: each user's cache can hold combinations of file fragments, not entire files.
- Coded delivery: the server's transmission can be a function of multiple files, not individual unicasts.
The Maddah-Ali–Niesen theorem (Chapter 2) says that with a particular combinatorial placement and a particular XOR-based delivery, the worst-case delivery rate satisfies Compare with the uncoded bound : the MAN scheme divides the uncoded rate by where .
The parameter — the coded caching gain — is the golden thread of this book. Every chapter will touch it.
Definition: Coded Caching Gain
Coded Caching Gain
The coded caching gain (or global caching gain) is In the MAN scheme, each coded multicast message simultaneously satisfies users. For integer this is exact; for non-integer the scheme is defined by memory-sharing (convex combination) between the two nearest integers.
captures the aggregate cache in the network, measured in library units: with users each storing files, the total cached content is files. Dividing by the library size gives a dimensionless quantity — the number of "library copies" distributed across the network.
Key Takeaway
The coded caching gain is the whole story. Uncoded caching gives you — a per-user saving. Coded caching additionally gives you — a multiplicative saving that grows with the number of users. For large networks, the coded gain dominates.
The Memory–Load Tradeoff (Preview)
Preview of the memory–load tradeoff curve that will dominate Chapters 2–3. The blue curve is the MAN achievable rate; the red dashed line is the uncoded bound. The ratio between the two curves — — is the coded caching gain. Notice that the gain grows as grows: doubling the user population doubles the gain at fixed .
Parameters
Why Coding Helps — A Capsule Argument
Here is the capsule intuition for why coded caching can beat uncoded caching. Consider users and files, each of one bit. Each user has a cache of bit.
Uncoded: User 1 caches , user 2 caches . If demands are (worst case), the server must send two bits to each user — total rate . If demands are (lucky), rate . Worst-case . But note: if user 1's cache already has , placing in its cache was wasted — it still needs on a miss.
Coded: Split each file into halves: , . User 1 caches ; user 2 caches . For any demand pair, the server sends two XOR messages — say and... wait, this is not yet the MAN scheme. We need the full combinatorial structure of Chapter 2 to see how the bits interleave. But the spirit is here: by distributing partial information to each user, a single XOR multicast message can serve both users simultaneously.
Uncoded vs. Coded Caching at a Glance
| Property | Uncoded (popularity) caching | Coded caching (MAN) |
|---|---|---|
| Placement granularity | Whole files | Subfiles (combinatorial) |
| Delivery format | Unicast per user | XOR multicast ( users per message) |
| Worst-case rate | ||
| Gain over no caching | Local: | Local coded: |
| Scaling in | Linear in | Bounded as |
| Subpacketization | 1 (whole files) | (exponential in ) |
| Demand-dependent? | Depends on popularity distribution | Demand-agnostic (worst-case) |
| Optimal under own class? | Yes (within uncoded) | Optimal under uncoded placement (YMA '18) |
Why This Matters: Coded Caching as an Information-Theoretic Primitive
Coded caching is more than a CDN trick — it is a fundamental information-theoretic primitive in which side information (the caches) reduces capacity requirements (the shared link). The general principle — that correlated side information across receivers lets a single transmission simultaneously satisfy many of them — connects to classical results in network information theory: the index coding problem (a close cousin, treated in Chapter 4), Gaussian broadcast with message sets (Chapter 5), and coded computing (Chapter 15). The shared-link model is the cleanest setting in which to develop the machinery.
Practical Barriers We Will Address
Before you get too enthusiastic about a gain from the Netflix thought experiment, here are the practical barriers that will animate later chapters:
- Subpacketization (). The MAN scheme requires each file to be split into pieces. For and , . No real system can operate with that many subfiles. Chapter 14 introduces polynomial- subpacketization schemes (PDAs, graph coloring).
- Non-uniform demand / popularity. The MAN bound is for uniform demands, which is not real. Chapter 13 handles Zipf popularity and heterogeneous caches.
- Wireless channel effects. Chapter 5 replaces the error-free shared link with a multi-antenna Gaussian BC. The gain formula becomes , which is a much richer theory.
- Privacy. With vanilla MAN, each user must learn the demands of all other users to decode. Chapter 12 shows how to preserve the gain while hiding demands.
The theory in this book always acknowledges these gaps. Caire's approach — shared throughout — is to state the idealized result sharply, then honestly report where practice departs from theory, and what work closes the gap.
- •
MAN subpacketization is exponential in
- •
Demand distributions are non-uniform and time-varying
- •
Wireless channels are noisy and frequency-selective
- •
Privacy requires extra randomness (shared secret keys)
Quick Check
A coded caching system has users, files, per-user cache files. What is the multiplicative gain factor of the MAN scheme over uncoded caching?
, so the coded caching gain is . Each XOR message simultaneously serves users.