Professional Documents
Culture Documents
16
I. I NTRODUCTION
Caching is an essential technique to improve throughput
and latency in a vast variety of applications such as virtual
memory hierarchies in CPU design, web caching for content
delivery networks (CDNs), and inquiry caching in domain
name systems. The core idea of caching is to use memories
distributed across the network to duplicate data. This stored
data can be then used to facilitate the delivery of future
requests, thereby reducing network congestion and delivery
delay. Companies like Akamai, Facebook, Netflix, Google, etc.
are heavily investing in their cache networks to increase the
performance of their systems.
There is a rich and beautiful theory, developed mostly in the
computer science community during the 80s and 90s, for systems with a single cache. However, when it comes to networks
of caches, the existing theory falls short, and engineers instead
rely on heuristics and the intuition gained from the analysis of
single-cache systems. Quoting Van Jacobson, one of the key
contributors to TCP/IP and expert on content distribution:
ISPs are busily setting up caches and CDNs to
scalably distribute video and audio. Caching is a
necessary part of the solution, but there is no part of
todays networkingfrom Information, Queuing, or
Traffic Theory down to the Internet protocol specs
that tells us how to engineer and deploy it. [1,
p. 302]
We argue that information theory can in fact provide the
theoretical underpinnings for the deployment and operation of
cache networks. Indeed, we show that the caching problem
M. A. Maddah-Ali is with Bell Labs, Alcatel-Lucent. U. Niesen is with
Qualcomms New Jersey Research Center. Emails: mohammadali.maddahali@alcatel-lucent.com, urs.niesen@ieee.org.
caches
size M
M/N
fraction
of
any
requested
file
over
the signal sent over the shared link during the delivery phasethe
is
shared
link,ofand
each
user cantherecover
requested
file.
a function
thethus
users
requests,
cache its
content
designed
size M
Since,
are Kplacement
requests to
be delivered,
the worst-case
during there
the earlier
phase
cannot depend
on those
delivery
rate
is
ontaining N files of
requests (since they are unknown at the time). In addition,
K users each with an
since R is determined
the worst
possible user
) respect
K (1 toM/N
).
(1)
RU (Mwith
the placement phase
requests,
the
cache
content
cannot
be
tuned
for
a
specific set
hared bottleneck link
The function RU (M ) describes the trade-off between rate and
of requests.
memory for the baseline uncoded caching scheme. The factor
K
in (1) 1is(Uncoded
the rate that
we would
achieve without
accessa
Example
Caching).
As a baseline,
let us review
to
any
caches.
The
factor
1
M/N
arises
because
an
M/N
ork with several
fraction
of
each
file
is
locally
cached
at
each
user.
We
call
this
December
2015
the shared link
second
factor
in
(1)
the
local
caching
gain.
n the server and
We refer to this caching strategy as uncoded caching, since
both
the content placement and delivery are uncoded. From
ontent placement
the above discussion, we see that the role of caching in this
shared link, and thus each user can recover its requested file.
Since, there are K requests to be delivered, the worst-case
delivery rate is
RU (M ) K (1 M/N ).
(1)
The
role
of
caching
is
to
deliver
part
of
the content
and
delivery R
phase
such
that the peak
rate
of the shared
bottleneck
link
(M
)
describes
the
trade-off
between
rate
and
Thethefunction
U
The function RU (M
is minimized.
locally.In the figure, N = K = 3 and M = 1.
memory for the baseline uncoded caching scheme. The factor memory for the ba
Users with statistically identical demands have the same
K in (1) is the rate that we would achieve without access K in (1) is the ra
cache contents.
to any caches.
factor
1
M/N arises
because
M/N to any caches. The
channel.
can The
also
model
a wireline
network
withan
several
For It
isolated
private
caches,
each user
can only
derive
a
fraction
of
each
file
is
locally
cached
at
each
user.
We
call
this fraction of each file
caches
connected
a common
server; here the shared link
caching
gain to
from
its own cache.
second factor
in (1) the
local
gain. the server and second factor in (1
models
a bottleneck
along
thecaching
path between
As
see caching
next,
these
three
principles,
We we
referwill
to this
strategy
as main
uncoded
caching,which
since
We refer to this
the
users.
are
sensible
for
single-cache
systems,
do
not
carry over
to
both the content placement and delivery are uncoded.
From
both
the content p
The system
operates
in two argue
phases:that
a content
placement
networks
caches.
Indeed,
of
caching
the aboveofdiscussion,
we seewethat
the role the
of role
caching
in this the above discussi
phase
and beyond
a content delivery
phase.
Thelocal
placement
phase
goes
well
deliverypart
andofthat
delivery
only
uncoded
scheme islocal
to deliver
the requested
content
occurs
during
a time
of lowofnetwork
traffic,
say
in the
early uncoded scheme i
achieves
a
small
fraction
the
gain
that
cache
networks
locally.
morning,
network
abundant
cheap. locally.
can offer.soWethat
explain
the resources
main ideaare
with
two toyand
examples
The
uncoded
caching
scheme
in Example
1 is justcache
one
The
main
constraint
during
this phase
is the limited
The uncoded ca
from
[2].
among a We
longmodel
list of
uncoded
approaches,
de- among a long list
memory.
thisconventional
placement phase
by giving
each user
Example
2 (Coded
Caching
K=
N. , =
3, of
M files.
=
Consider
velopedto for
different
applications,
and1).objectives.
access
the
entire database
W
WN
Each
user veloped for differe
1 , . . scenarios,
a
system
with
K
=
3
users,
each
with
a
cache
large
enough
to
This
popular
schemes
such asonly
least-recently
used
is
thusincludes
able to fill
its own
cache subject
to the memory
This includes pop
store
one
file,
i.e.,
M
=
1.
Assume
that
the
server
has
N
=
(LRU) andofleast-frequently
used (LFU)
e.g., [3]).
All3 (LRU) and least-f
constraint
M F bits. Critically,
in the(see,
placement
phase,
files,system
A,
B,isand
We of
split
each
file
into
three
subfiles
of
these
conventional
approaches
share
three
main
principles:
the
not C.
aware
users
future
requests,
so
that the
these conventional
,
A
,
A
),
B
=
(B
,
B
,
B
),
and
equal
size,
i.e.,
A
=
(A
1
2
3
1
2
3
content
cached
by caching
the usersiscannot
depend
on of
them.
The
role of
to deliver
part
the content
The role of
C = (C1 , C2 , C3 ). In the placement phase, instead of placing
Thelocally.
delivery phase occurs after the placement phase during
locally.
the same content in all caches, we place different content
Users
withnetwork
statistically
identical
have the
same
a time
of high
traffic,
say indemands
the evening.
Network
Users with sta
pieces at the users caches as shown in Fig. 2. Formally, the
cacheare
contents.
resources
now scarce and expensive and become the main
cache content
cache of user k is populated with (Ak , Bk , Ck ). Since the size
For isolated
private
can onlyEach
derive
constraint.
We model
this caches,
deliveryeach
phaseuser
as follows.
usera
For isolated p
of each subfile has 1/3 of the size of a whole file, the size
caching
from
its W
own
cache.
k requests
onegain
of the
files
in
the database. The server is
caching gain
k
file, satisfying the memory
of (Ak , Bk , Ck ) is equal to done
informed
these
and responds
by sending
a signal
of
As we ofwill
seerequests
next, these
three main
principles,
which
As
we will see
constraint of M = 1.
size
RF bits for
oversingle-cache
the shared link
for some
real number
are sensible
systems,
do fixed
not carry
over to are sensible for si
R
called the
rate. This
signalwesent
from
has
to be networks of caches
networks
of caches.
Indeed,
argue
thatthe
theserver
role of
caching
constructed
such that
each
user can
its requested
file goes well beyond
goes well beyond
local
delivery
andrecover
that local
delivery only
from
the signal
received
over
the networks
contents achieves a small
achieves
a small
fraction
ofthe
theshared
gain link
that and
cache
of
own We
cache.
canitsoffer.
explain the main idea with two toy examples can offer. We exp
from
We [2].
need to design both the content placed in the users from [2].
caches during the placement phase and the signal sent by the
Example 2 (Coded Caching K = N = 3, M = 1). Consider
server during the delivery phase. The objective is to minimize Example 2 (Coded
a system with K = 3 users, each with a cache large enough to
the rate R subject to the constraint that every possible set of a system with K =
store one file, i.e., M = 1. Assume that the server has N = 3
user demands can be satisfied. We again emphasize that, while store one file, i.e.,
files, A, B, and C. We split each file into three subfiles of
the signal sent over the shared link during the delivery phase is files, A, B, and C
equal size, i.e., A = (A1 , A2 , A3 ), B = (B1 , B2 , B3 ), and
a function of the users requests, the cache content designed equal size, i.e., A
C = (C1 , C2 , C3 ). In the placement phase, instead of placing C = (C1 , C2 , C3 ).
during the earlier placement phase cannot depend on those
the same content in all caches, we place different content
requests (since they are unknown at the time). In addition, the same content
pieces at the users caches as shown in Fig. 2. Formally, the
since R is determined with respect to the worst possible user pieces at the users
cache of user k is populated with (Ak , Bk , Ck ). Since the size
requests, the cache content cannot be tuned for a specific set cache of user k is p
of each subfile has 1/3 of the size of a whole file, the size of each subfile ha
of requests.
of (Ak , Bk , Ck ) is equal to one file, satisfying the memory of (Ak , Bk , Ck ) is
constraint1of(Uncoded
M = 1. Caching). As a baseline, let us review a constraint of M =
Example
IEEE Information Theory Society Newsletter
A1 , A2 , A3
A11 ,, A
A22 ,, A
A33
A
B
, B33
1 , B2
A
B111 ,,, A
B222 ,,, A
B33
B
B
B
C11 ,, B
C22 ,, C
B
B3
C
,
C
,
C
C11 , C22 , C333
C1 , C2 , C3
A2 B1 , A3 C1 , B3 C2
A22
B
B11 ,, A
A33
C
C11 ,, B
B33
C
C22
A
A2 B1 , A3 C1 , B3 C2
A
B
C
A
B
C
A
B
C
A
B
C
A1 , B1 , C1
A2 , B2 , C2
A3 , B3 , C3
A11 ,, B
A22 ,, B
A33 ,, B
B11 ,, C
C11
B22 ,, C
C22
B33 ,, C
C33
A
A
A
A1 , B1 , C1
A2 , B2 , C2
A3 , B3 , C3
Fig. 2. Coded caching strategy for K = 3 users, N = 3 files, and
Fig.
for
3
3
files,
and
Fig. 2.
2.sizeCoded
Coded
caching
strategy
for K
K
=three
3 users,
users,
N of=
=size
3 1/3,
files, e.g.,
and
cache
M =caching
1. Eachstrategy
file is split
into =
subfilesN
cache
size,Coded
M, A
=caching
1. The
Eachcontent
file is
isplacement
split
into =
three
subfiles
of=
size
1/3,
e.g.,
cache
size
M
=
1.
Each
file
split
into
three
subfiles
of
size
1/3,
e.g.,
Fig.
strategy
for
K
3
users,
N
3
files,
and
A = 2.
(A
A
).
is
not
a
function
of
the
demands.
1
2
3
A
= delivery
(A
AM
A
).
The
content
placement
isthree
notuser
function
ofsize
the 1/3,
demands.
1 ,, A
2phase
A
(A
,, A
The
is
not
aasubfiles
function
the
demands.
cache
size
=33 ).
1.uses
Eachcontent
file isplacement
into two
ofof
e.g.,
1
2
The=
coding
tosplit
satisfy
demands
with
a single
The
delivery
phase
uses
coding placement
to satisfy
satisfy two
two
user
demands
with
single
The
coding
to
demands
aa single
A
= delivery
(A1 , A2phase
, A3 ). uses
The content
is notuser
a function
of with
the demands.
transmission.
transmission.
transmission.
The delivery phase uses coding to satisfy two user demands with a single
transmission.
B
over
the
shared
exploit
this
situation
by
transmitting
A
2
1user one already
link, where
denotes
XOR.ASince
over thealready
shared
exploit
this situation
by bitwise
transmitting
2 B1user
link,
where
its
denotes
bitwise
XOR.
Since
from
local
cache,
it
can
recover
A2 one
fromalready
A2
has
B
1
link,Bwhere
denotes
bitwise
XOR.
Since
user
one
1
2
from
its
local
cache,
it
can
recover
A
from
has
1
2to A , A
B
.
Similarly,
since
user
two
already
has
access
it 22can
1 B from its local cache, it can recover A from
2 A
has
1
2
2
1
2
B
.
Similarly,
since
user
two
already
has
access
to
A
,
it
can
1
2
A2 user
B1two
. Thus,
the signal
A2 toB1Areceived
recover
B1 from
B
.
Similarly,
since
already
has
access
,
it
can
1
2
1 from A2
2 B1
1 . Thus, the signal A2
2 B1
1 received
recover
1
over
theB
link
helps
to effectively
A2
B1 . both
Thus,users
the signal
A2 B1exchange
received
recover
Bshared
1 fromlink
over
the
shared
helps
both
users
to
effectively
exchange
the
missing
subfiles
the cache
of the other
user.
over
the shared
link available
helps bothin
users
to effectively
exchange
the
missing
subfiles
available
in
the
cache
of the
the shared
other
user.
C
over
link
Similarly,
the
server
transmits
A
3
1
the missingthesubfiles
cache
of the
the shared
other user.
C
link
Similarly,
server available
transmits in
A33the
1 over
1
to
user
one
and
C
to
user
three.
Finally,
the
to
deliver
A
3
1
the Finally,
shared link
Similarly,
to usertransmits
one and A
C311 toCuser
three.
the
to
deliver the
A33 server
1 over
server
transmits
B
C
to
deliver
B
to
user
two
and
C
to
3
2
3
2
one
and
C
to
user
three.
Finally,
to
deliver
A3 toBuser
server
transmits
C
to
deliver
B
to
user
two
and
C
to
1
3
2
3
2the
3
2
3
2
user
three
as
shown
in
Fig.
2.
Since
each
server
transmission
is
server
transmits
B3 in
C
B3 toserver
user transmission
two and C2 to
user
three
as shown
Fig.
2.deliver
Since each
is
2 to
simultaneously
useful
for
two
users,
the
load
of
the
shared
link
user three as shown
in for
Fig.two
2. Since
server
is
simultaneously
useful
users,each
the load
of transmission
the shared link
is
reduced by auseful
factor 2 compared
approach.
simultaneously
two users, to
thethe
loaduncoded
of the shared
link
is
reduced by a factorfor
2 compared
to
the
uncoded
approach.
The
resulting
is equal to
is reduced
by delivery
a factor rate
2 compared
to 1.
the uncoded approach.
The
resulting
delivery
rate
is equal to
1.
Here
we
have
focused
on
the
demand
(A, B, C). It is
The
resulting
delivery
rateonisthe
equal
to 1. tuple
Here
we
have
focused
demand
tuple
(A, B,
C). It is
straightforward
to
verify
that
the
same
rate
is
also
achievable
Here we havetofocused
on the
demand
tuple
(A, B,
C). It is
straightforward
verify
that
the
same
rate
is
also
achievable
for
all other 26 to
possible
tuples.rate is also achievable
straightforward
verify demand
that the same
for
all other 26 possible
demand
tuples.
forThe
all other
possible highlights
demand tuples.
above26example
that, in addition to local
The above example highlights that, in addition to local
delivery
of
content,
caching
offers
another
benefit.
The
conThe above
example
highlights
in benefit.
addition The
to local
delivery
of content,
caching
offers that,
another
con3
tent
placed
the caches
opportunities
delivery
of into
content,
cachingcreates
offers multicasting
another benefit.
The content
placed
into
the caches
creates
multicasting
opportunities
through
coding
that
can
further
reduce
the
rate
over
the
shared
tent placed
intothat
the can
caches
creates
multicasting
opportunities
through
coding
further
reduce
the rate over
the shared
through
coding that
canuncoded
further reduce
theofrate
over the1.shared
link compared
to the
scheme
Example
Both
schemes enjoy the gain of local delivery as 1/3 of the content
is delivered locally,
the coded
scheme enjoys an additional
IEEE Information
Theorybut
Society
Newsletter
gain of a factor 2 due to coded multicasting.
How do these two caching gains, i.e., the gain of local
delivery and the gain of coded multicasting, scale with the
parameters of the problem? To get some insight, we increase
A
B
C
A
B
C
A
B
C
A
B
C
A12 , B12 , C12
A12 , B12 , C12
A13 , B13 , C13
A12
A
A
,
B
,
C
,
B
,
C
,
B
C13
12
12
12
12
12
13
13
A
A
A
,
B
,
C
,
B
,
C
,
B
12
12
12
12
12
12
13
13 ,, C
13
A
,, B
,, C
A
,, B
,, C
A
,, B
,, C
23
23
23
A13
A23
A23
B13
C13
B
C
B
C23
12
12
12
12
12
12
13
13
A
,
B
,
C
A
,
B
,
C
A
,
B
,
13
13
13
23
23
23
23
23
23
A13 , B13 , C13
A23 , B23 , C23
A23 , B23 , C
C13
23
A13 , B13 , C13
A23 , B23 , C23
A23 , B23 , C23
Fig. 3. Coded caching strategy for K = 3 users, N = 3 files, and
Fig.
3.sizeCoded
Coded
caching
for K
K
=three
3 users,
users,
N of=
=size
3 1/3,
files, e.g.,
and
Fig. 3.
strategy
for
3
3
files,
and
cache
M =caching
2. Eachstrategy
file is split
into =
subfilesN
cache
sizeCoded
M
=
2.). Each
Each
file
isdelivery
split
into
three
subfiles
of=
size
e.g.,
cache
size
file
split
into
subfiles
1/3,
e.g.,
Fig.
for K
=three
3uses
users,
N of
3 1/3,
files,three
and
A =3.(A
A2 ,=
Acaching
Here,strategy
the is
phase
coding
tosize
satisfy
1,M
32.
A =
=demands
(A
A22with
A332.).
).
Here, file
the isdelivery
delivery
phase
uses
codingof to
tosize
satisfy
three
A
(A
A
,,=
A
Here,
the
phase
coding
satisfy
cache
size11 ,, M
Each
split into
threeuses
subfiles
1/3, three
e.g.,
user
a single
transmission.
user
aa single
user
demands
with
single
transmission.
A =demands
(A1 , A2with
, A3 ).
Here, transmission.
the delivery phase uses coding to satisfy three
user demands with a single transmission.
of
Example
of 1/3.
All other 26 possible
requests
can1,beresulting
satisfiedinina arate
similar
manner.
requests
can last
be satisfied
similar
From the
example in
wea see
that,manner.
as we increase the size
From the last example we see that, as we increase the size
From
lastboth
example
we see
wecoded
increase
the size
of
the the
cache,
the local
gainthat,
andasthe
multicasting
gain improve. For the general case, it is shown in [2] that
for arbitrary number N of files and K N users
each with
December
2015
cache of size M {0, N/K, 2N/K, . . . , N }, coded caching
achieves a rate of
1
.
(2)
RC (M ) K (1 M/N )
1 + KM/N
30
ate (R)
A3 C1 , B3 C2
3
3
3
18
20
4
4
4
December 2015
30
30
30
bottleneck
bottleneck
bottleneck
rate
rate
rate
(R)
(R)
(R)
of the cache, both the local gain and the coded multicasting
of the cache, both the local gain and the coded multicasting
gaintheimprove.
For the
the general
is shownmulticasting
in [2] that
of
cache, both
gaincase,
and it
gain improve.
For the local
general
case,
ittheis coded
shown in [2] that
for arbitrary
number
N general
of files case,
and Kit
N
usersineach
gain
improve.
For
the
is
shown
[2] with
that
for arbitrary number N of files and K N users each
with
cache
of sizenumber
M {0,
N/K,
2N/K,
. . ., N
},users
codedeach
caching
for
arbitrary
N
of
files
and
K
N
with
cache of size M {0, N/K, 2N/K, . . . , N }, coded caching
achieves
rateMof {0, N/K, 2N/K, . . . , N }, coded caching
cache of aasize
achieves
rate of
1
achieves a rate of
1
.
(2)
RC (M ) K (1 M/N )
.
(2)
RC (M ) K (1 M/N ) 1 + KM/N
1
(2)
RC (M ) K (1 M/N ) 1 + KM/N .
1 +convex
KM/Nenvelope of
For general 0 M N , the lower
For general 0 M N , the lower convex envelope of
these points is
achievable.
The
case
K > N canenvelope
be handled
For
0 achievable.
M NThe
, the
lower
of
thesegeneral
points is
case
K >convex
N can be handled
similarly,
but istheachievable.
resulting expression
is
a>
bitNmore
complicated
these
points
The
case
K
can
be
handled
similarly, but the resulting expression is a bit more complicated
(see [2]). The
function
R (M
) describes
trade-off
between
similarly,
but the
resulting
expression
is a the
bit more
complicated
(see [2]). The
function
RC
C (M ) describes the trade-off between
rate and
memory
for the
coded
caching
scheme.
(see
[2]).
The
function
R
(M
)
describes
the
trade-off
between
rate and memory for theCcoded caching scheme.
compare
thefor
three
terms
incaching
the ratescheme.
expression RC (M )
rateWe
and
memory
the
coded
We compare the three terms in the rate expression RC (M )
in We
(2) achieved the
by codedterms
caching
with
two termsRCin(M
the
in the
ratethe
expression
in (2) compare
achieved by three
coded caching
with
the
two terms in the)
rate
expression
R
(M
)
in
(1)
achieved
by
uncoded
caching.
in
achieved R
byU (M
coded
with by
the uncoded
two terms
in the
rate(2)
expression
) in caching
(1) achieved
caching.
U
The first term
K, )representing
the rate
without caching.
caching,
rate expression
RU (M
in (1) achieved
by uncoded
The first term K, representing the rate without caching,
thefirst
same
in K,
both rate expressions.
is
The
term
the rate without caching,
is
the same
in bothrepresenting
rate expressions.
is
The
second
term
1M/N
, representing the local caching
the
same
in
both
rate
expressions.
The second term 1M/N , representing the local caching
gain,second
is also the1M/N
same in both rate expressions.
Thus,
The
the local caching
gain, is alsoterm
the same in, representing
both rate expressions.
Thus,
both the
coded
and
uncoded
schemes
enjoy theThus,
gain
gain,
is
also
the
same
in
both
rate
expressions.
both the coded and uncoded schemes enjoy the gain
from the
having
a fraction
M/N ofschemes
each fileenjoy
beingthelocally
both
coded
and
uncoded
gain
from having a fraction M/N of each file being locally
available.
from
having
a
fraction
M/N
of
each
file
being
locally
available.
On
top of this, the coded scheme alone enjoys a second
available.
On top of this, the coded scheme alone enjoys a second
gain
that is absent
the scheme
uncoded scheme.
Thisa gain
is
On top
the in
coded
enjoys
second
gain thatofisthis,
absent
in
the uncodedalone
1scheme. This gain is
quantified
by
the
extra
factor
,
which
captures
1scheme. This gain is
gain
that isbyabsent
in the
uncoded
1+KM/N
quantified
the extra
factor
, which captures
1+KM/N
1
the gain resulting
fromfactor
creating
and exploiting
coded
quantified
by
the
extra
, which captures
1+KM/N
the gain resulting from creating
and exploiting
coded
multicasting
opportunities.
Perhaps
surprisingly,
we
see
the
gain resulting
from creating
exploiting we
coded
multicasting
opportunities.
Perhapsand
surprisingly,
see
that
this
gain
is
a
function
of
the
cumulative
memory
size,
multicasting
surprisingly,
wesize,
see
that this gain opportunities.
is a function ofPerhaps
the cumulative
memory
i.e.,
KMgain
, even
though
theofcaches
are isolated.
We refer
that
this
is
a
function
the
cumulative
memory
size,
i.e., KM , even though the caches are isolated. We refer
to
this
gain
as thethough
global caching
gain.
attain this
i.e.,
KM
, even
caches
are To
isolated.
We gain,
refer
to this
gain
as the globalthe
caching
gain.
To
attain this
gain,
we
follow
a
particular
pattern
of
content
placement.
the
to this
gainaas
the global
caching
gain. To
attain thisIn
gain,
we
follow
particular
pattern
of content
placement.
In
the
delivery
phase,
this pattern
allows
the creation
of coded
we
follow
a
particular
pattern
of
content
placement.
In
the
delivery phase, this pattern allows the creation of coded
packets each
useful
for 1 +allows
KM/N
users.
This
coded
delivery
phase,
this
pattern
the
creation
of
coded
packets each useful for 1 + KM/N users. This coded
multicasting
available
for
packets
each opportunity
useful for 1is
KM/N simultaneously
users. This coded
multicasting
opportunity
is+available
simultaneously
for
set of user
demands, i.e.,for
it
every one of the
NK
multicasting
opportunity
is
available
simultaneously
K possible
every one of the N K possible set of user demands, i.e., it
provides
aofsimultaneous
codedset
multicasting
opportunity.
possible
of
user
demands,
i.e.,
it
every
one
the
N
provides a simultaneous coded multicasting opportunity.
Weprovides
next compare
the two caching
gains in more
detail.
a simultaneous
coded multicasting
opportunity.
We next compare the two caching gains in more detail.
The
caching
1 M/N
if the
We
nextlocal
compare
the gain
two caching
gainsis insignificant
more detail.
The local caching gain 1 M/N is significant if the
local
cache
size
M
is
comparable
to
the
size
of
the
entire
The local caching gain 1 M/N is significant if
the
local cache size M is comparable to the size of the entire
content
N
.
local
cache
size
M
is
comparable
to
the
size
of
the
entire
content N .
1
content
The global
is significant if the
1
N . caching gain
The global caching gain 1+KM/N
is significant if the
1+KM/N
1comparable to the size of
cumulative
cache
size
KM
is
The global caching gain
is significant
if the
cumulative cache size KM1+KM/N
is comparable
to the size
of
the
entire content
N
. As
a result,
the globaltocaching
gain
cumulative
cache
size
KM
is
comparable
the
size
of
the entire content N . As a result, the global caching gain
can entire
reducecontent
the load
ofAs
thea shared
linkglobal
in thecaching
order ofgain
the
the
N
.
result,
the
can reduce the load of the shared link in the order of the
number
of caches
in theshared
system.
can reduce
the loadK
link in the order of the
number
of caches
Kofinthe
the system.
Thusnumber
we see of
that,
for networks
caches, the global gain can
caches
K in theofsystem.
Thus we see that, for networks of caches, the global gain can
be
much
morethat,
important
than the
local gain.
Thus
we see
for networks
of caches,
the global gain can
be much
more important
than the
local gain.
The
order
difference
between
the
local
and global gains is
be The
much
more
important
than
the
local
gain.
order difference between the local and global gains is
illustrated
in difference
Fig. 4 for a system
= global
30 users.
The order
thewith
localK
gainsFor
is
illustrated
in Fig. 4 forbetween
a system
with
Kand
= 30 users.
For
example,
if
each
user
has
space
to
cache
half
of
the
content,
illustrated
in
Fig.
4
for
a
system
with
K
=
30
users.
For
example, if each user has space to cache half of the content,
then
uncoded
caching
thetoload
of the
from
example,
if each
user reduces
has space
cache
halfshared
of thelink
content,
then
uncoded
caching
reduces
the load
of the
shared
link
from
30 files
down caching
to the equivalent
of load
15 files.
Onshared
the other
hand,
then
uncoded
reduces
the
of
the
link
from
30 files down to the equivalent of 15 files. On the other hand,
coded
caching
reduces
the load of
of 15
thefiles.
shared
link
to
lesshand,
than
30
files
down
to
the
equivalent
On
the
other
coded caching reduces the load of the shared link to less than
the equivalent
of
just a the
single
file.
coded
caching
reduces
load
of
the
shared
link
to
less
than
the equivalent of just a single file.
can be shown
thata the
ratefile.
RC (M ) of the coded caching
theIt
equivalent
of
just
single
It can be shown that the rate RC (M ) of the coded caching
scheme
within
factor
the) information-theoretic
It canis
shownaa constant
that the rate
RCof
of the coded caching
scheme
isbewithin
constant
factor
of(M
the information-theoretic
optimumis for
all avalues
of the
problem
parameters [2]. This
scheme
within
constant
factor
of
the
information-theoretic
optimum for all values of the problem parameters [2]. This
optimum for all values of the problem parameters [2]. This
19
uncoded caching
uncoded
caching
coded caching
uncoded
caching
coded
caching
coded caching
20
20
20
10
10
10
0
0
0 0
0
0
0.2
0.4
0.6
0.8
1.0
0.2
0.4
0.6
0.8
1.0
normalized
cache
size
(M/N
)
0.2
0.4 cache0.6
0.8)
1.0
normalized
size (M/N
normalized cache size (M/N )
Fig. 4. Rate R required in the delivery phase as a function of normalized
Fig.
4. Rate
R required
the30delivery
phase[2].
as aThe
function
normalized
memory
size M/N
for Kin =
users from
figure of
compares
the
Fig. 4. Rate
Rthe
required
the
phase
as aThe
function
normalized
memory
sizeofM/N
for Kin =
30delivery
users
from
[2].
figure
compares
the
performance
proposed
coded
caching
scheme
with
that ofof
conventional
memory caching.
sizeofM/N
for K =
30 users
from
[2]. The
the
performance
the proposed
coded
caching
scheme
with figure
that ofcompares
conventional
uncoded
performance
of the proposed coded caching scheme with that of conventional
uncoded
caching.
uncoded caching.
implies that the local and global gains identified above are
implies that the local and global gains identified above are
fundamental,
i.e.,local
there are global
no other gainsidentified
that scale with the
implies
that the
are
fundamental,
i.e., thereand
are no othergains
gains that scaleabove
with the
system
parameters.
fundamental,
i.e.,
there
are
no
other
gains
that
scale
with
the
system parameters.
system
Openparameters.
Problem 1: Sharpening the approximation of the rateOpen Problem 1: Sharpening the approximation of the ratememory
trade-off1:is Sharpening
of both theoretical
and practical
interest.
Open
the approximation
of the
ratememory Problem
trade-off is of both theoretical
and practical
interest.
It is known
that both
theboth
achievable
scheme
and the converse
memory
trade-off
is
of
theoretical
and
practical
interest.
It is known that both the achievable scheme and the converse
canis be
improved
[2]. the
For achievability,
the first
is if
It
known
that both
scheme
andquestion
the converse
can be
improved
[2]. For achievable
achievability,
the first
question
is if
linear
codes
are sufficient
for optimalitythe
or if
nonlinear
codes
can
be
improved
[2].
For
achievability,
first
question
is if
linear codes are sufficient for optimality or if nonlinear codes
are
needed.
The
second
question
is if, within
the
class of codes
linear
linear
codes
are
sufficient
for
optimality
or
if
nonlinear
are needed. The second question is if, within the class of linear
codes,
largerThe
field
sizes question
can improve
performance.
are
needed.
second
is if,the
within
the class ofFinally,
linear
codes,
larger field
sizes can improve
the
performance.
Finally,
the
content
placement
presented
so
far
is
uncoded
and only
the
codes,
larger
field
sizes
can
improve
the
performance.
Finally,
the content placement presented so far is uncoded and only the
delivery
is
coded.
It
is
known
that
coded
content
placement
the
content
so farcoded
is uncoded
only the
delivery
is placement
coded. It ispresented
known that
contentand
placement
can
improve
system
performance
for
smallcontent
cache placement
sizes [2].
delivery
is
coded.
It
is
known
that
coded
can improve system performance for small cache sizes [2].
Whether
coded
content
placement for
can increase
performance
can
improve
system
performance
cache
sizes [2].
Whether
coded
content
placement cansmall
increase
performance
for
larger
cache
sizes
as
well
is
unknown.
There
have also
Whether
coded
content
placement
can
increase
performance
for larger cache sizes as well is unknown. There have also
been
some cache
recent effortsastowell
improve
the converse
parthave
[4], [5].
for
is unknown.
There
beenlarger
some recent sizes
efforts to improve
the converse
part [4], also
[5].
been
some
recent 2:
efforts
improve thetrade-off
converseispart
[4], [5].
Open
Problem
The to
rate-memory
known
exOpen Problem 2: The rate-memory trade-off is known exactly
for
a
system
with
K
=
2
users
and
N
=
2
files
[2].
Open
The K
rate-memory
exactly
forProblem
a system2:with
= 2 users trade-off
and N =is 2known
files [2].
Finding
the
exact trade-off
for
Kusers
= 3 and
N
=
3,2 the
nextactly
for
a
system
with
K
=
2
and
N
=
files
[2].
Finding the exact trade-off for K = 3 and N = 3, the nextbigger
case,
of interest.
There
has=been
some
progress
Finding
the is
exact
trade-off
for K
3 and
N recent
= 3, the
nextbigger case,
is
of interest.
There
has been
some
recent
progress
in
this
direction,
and
for
some
values
of
cache
size
M the
bigger
case,
is
of
interest.
There
has
been
some
recent
progress
in this direction, and for some values of cache size M the
optimal
trade-off is
[6]. However,
general
in
this direction,
andknown
for some
values of for
cache
size M
M,, the
the
optimal
trade-off is
known
[6]. However,
for
general
M
the
K
=
3
and
N
=
3
case
is
still
open.
optimal
trade-off
is
known
[6].
However,
for
general
M
,
the
K = 3 and N = 3 case is still open.
K = 3 and N = 3 case is still open.
III. OTHER S ERVICE R EQUIREMENTS
III. OTHER S ERVICE R EQUIREMENTS
OTHER S
ERVICE
R EQUIREMENTS
Practical III.
applications
and
constraints
may necessitate differPractical applications and constraints may necessitate differentPractical
service requirements
thanconstraints
the ones inmay
the canonical model.
applications
and
different service requirements than the ones in the necessitate
canonical model.
We service
next discuss
several of
those
requirements.
ent
requirements
than
the
ones
in
the
canonical
model.
We next discuss several of those requirements.
We next discuss several of those requirements.
A. Decentralized Caching
A. Decentralized Caching
A. InDecentralized
the canonicalCaching
cache network both the number and the
In the canonical cache network both the number and the
identity
ofcanonical
the userscache
in the delivery both
phase arenumber
already known
In
the
the
identity of the users in thenetwork
delivery phasethe
are alreadyand
known
in the prior
placement
phase.
This phase
is clearly
not a realistic
identity
of
the
users
in
the
delivery
are
already
known
in the prior placement phase. This is clearly not a realistic
in the prior placement phase. This is clearly not a realistic
IEEE Information Theory Society Newsletter
20
pn
Troy
Natl. Treasure
ratings
102
103
5000
2500
104
105
0
0
106
100
n
101
102
103
104
10
20
30
week
40
50
Fig. 5. File popularities pn for the Netflix movie catalog from [8].
Fig. 6. Number of ratings in the Netflix database for two movies (Troy and
National Treasure) as a function of week in 2005 from [12]. Each movie was
very popular upon release and then gradually reduced its popularity thereafter.
December 2015
server
21
N files
rate R1
K1 mirrors
size M1
rate R2
K1 K2 caches
rate R2
size M2
K1 K2 users
Fig. 8. System setup for the hierarchical caching problem from [15].
Fig. 7. Screenshot of video-streaming demo from [14]. The lower left window
shows the server process. The upper left window shows the decoding process
at a local cache. The three windows on the right show the reconstructed videos
being played in real time.
22
X1
cache 2
X2
..
.
..
.
..
.
cache K
XK
YK
A, B
M
M
R
Y1
interference
channel
Y2
To reduce load and delay of the backhaul, cache-aided cellular base stations have received considerable attention [23]
[25]. This raises the question if caches at the base stations
can also improve communication rate over the wireless links.
This question is investigated in [22] using the interference
channel model depicted in Fig. 9. It is shown that there are
three distinct gains from caching at the transmitters of an
interference channel: a load balancing gain, an interference
cancellation gain, and an interference alignment gain. The
load balancing gain is achieved through specific file placement, creating a particular pattern of content overlap in the
caches. This overlap also enables interference cancellation
through transmitters cooperation. Finally, the cooperation
among transmitters creates many virtual transmitters, which
in turn increases interference alignment possibilities.
Open Problem 10: The rate-memory trade-off for cacheaided interference channels is still unknown. Even characterizing the degrees-of-freedom version of this trade-off is open.
Open Problem 11: Many multi-user channels could have a
cache-aided version, where caches can be at the transmitters
side or at the receivers side or both. Cataloguing what type
of gains (similar to the coded multicasting, load balancing,
interference cancellation, and alignment gains seen so far)
caching can provide in these settings will be useful to guide
the design and operation of noisy cache networks.
V. C ONNECTION WITH N ETWORK AND I NDEX C ODING
Having surveyed the coded caching problem for various
network topologies and service requirements, we now return to
the basic canonical cache network and explore its connection
to network and index coding.
The canonical caching problem is related to the network
coding problem [26]. Indeed, the canonical cache network
with K users and N files can be expressed as a single-source
multiple-multicast problem with KN K sinks and N multicast
groups (see Fig. 10). Unlike the single-source single-multicast
problem, the single-source multiple-multicast problem is a
hard problem in general [27]. It is the special structure of
IEEE Information Theory Society Newsletter
December 2015
23
With sadness, we conclude this issue with tributes to two prominent members of our community, Oscar Moreno de Ayala who
passed away on July 14, and Victor Wei who passed away on October 17th. Thanks to Heeralal Janwa, P. Vijay Kumar and Andrew
Z. Tirkel; and to Lolita Chuang, Yu Hen Hu, Yih-Fang Huang, and
Ming-Ting Sun for preparing the tributes.