Content uploaded by Abdollah Ghaffari Sheshjavani
Author content
All content in this area was uploaded by Abdollah Ghaffari Sheshjavani on Feb 11, 2022
Content may be subject to copyright.
Content uploaded by Aresh Dadlani
Author content
All content in this area was uploaded by Aresh Dadlani on Feb 06, 2022
Content may be subject to copyright.
Content Caching in Shared Medium Networks with
Non-Uniform and User-Dependent Demands
Abdollah Ghaffari Sheshjavani∗, Ahmad Khonsari∗†, Seyed Pooya Shariatpanahi∗, Masoumeh Moradian†,
and Aresh Dadlani‡
∗School of Electrical and Computer Engineering, University of Tehran, Tehran, Iran
†School of Computer Science, Institute for Research in Fundamental Sciences (IPM), Tehran, Iran
‡Department of Electrical and Computer Engineering, Nazarbayev University, Nur-Sultan, Kazakhstan
Emails: {abdollah.ghaffari, a khonsari, p.shariatpanahi}@ut.ac.ir, mmoradian@ipm.ir, aresh.dadlani@nu.edu.kz
Abstract—Content caching is perceived as a promising approach
to offload traffic from shared medium networks by pre-fetching
and placing contents in caches during off-peak hours, and taking
advantage of multicasting in the delivery times. While most existing
efforts on caching are directed towards reducing the traffic rate
over the shared medium, little attention is given to user preferences.
Though placement based on the heterogeneity of content popularity
improves the caching performance, it is understood to be a non-
trivial combinatorial optimization problem. In this paper, we
investigate the content caching problem under non-uniform and
user-dependent demands and propose several heuristic methods
by leveraging hybrid coded-uncoded caching, clustering, and the
trade-off between local and global popularity of contents. Simula-
tion results validate our analysis and show the out-performance of
the proposed schemes with respect to existing methods.
Index Terms—Cache-aided communication, heterogeneous de-
mands, coded caching, non-uniform content popularity.
I. INTRODUCTION
Pervasive penetration of high-throughput wireless devices
in parallel to emerging applications with high bandwidth re-
quirements have induced significant traffic growth over cellular
networks in recent years. To mitigate the overwhelming data
traffic, deployment of small base stations (SBSs) is foreseen as a
viable solution to increase spatial reuse by shrinking the network
cell size. Nonetheless, the primary obstacle in this approach is
the provision of high-speed backhaul to connect these SBSs to
the core network. A solution proposed in the literature is using
wireless media and caching popular contents at the base stations
(BSs) to relieve the need for high-speed backhaul links [1], [2].
Conventional caching methods attempt to store the most lo-
cally popular content in caches close to the users. The gain of such
caching methods, known as local gain, is proportional to the local
memory size. Contrary to such standard methods, the authors in
[3] leverage the multicasting nature of the shared medium to
introduce the coded caching approach, which results in global
gain from coded-multicast opportunities. They consider a system
with a single server connected to a finite set of caches via a shared
error-free link. The system operates in two phases: a placement
phase, followed by a delivery phase. In the former phase, each
content is partitioned into smaller non-overlapping equally-sized
sub-files, which are then equally distributed over caches. In
the latter phase, each cache receives a request for a single
content. The server then XORs the requested sub-files based
on a specific coding strategy and multicasts coded messages to
the corresponding groups of caches. While it has been shown
that coded caching surpasses the conventional methods, this
scheme is inefficient in scenarios with non-uniform content
popularity, where all contents are not equally popular. To handle
non-uniform popularity, the same authors propose splitting the
library content into almost equiprobable groups and share each
user’s cache equally among these groups [4]. Further works [5]–
[7] show that the asymptotically optimum startegy for coded
caching in [4] is to partition the library into only two groups:
the popular contents that are cached according to [3], and the
remaining non-popular contents that are not cached at all. More
recently, in [8], the authors show that partitioning contents into
three groups and using hybrid conventional uncoded and coded
caching of [3] boosts the performance.
Although all the aforementioned works consider non-uniform
content popularity, they assume that content popularity is the
same for all users and exploit global popularity to select the cache
placement strategy. This however, is not plausible in reality.
For instance, results of a study in China reveal that the average
popularity rank of the 1000 most globally popular videos (top
0.3% of all videos) is below the top 40% in as many as 60%
of locations [9]. A few works have considered heterogeneous
users’ preferences (user-dependent demands) in caching, where
the popularity of each particular content is not alike for different
users. A game-theoretic analysis of coded caching studied in [10]
shows that heterogeneous user preferences have profound impact
on caching gains. The original coded caching in [3] has also been
investigated under user-dependent content popularity in [11] and
[12]. Though insightful, these works do not account for non-
uniform content popularity. In [13], each user caches its most
popular contents in the placement phase, and then tries to reap
the benefits of multicasting in the delivery phase that follows.
In spite of accounting for heterogeneity in users’ preferences,
the authors do not consider any optimization for the placement
phase. A simple two-user/two-file scenario was analyzed in [14].
Moreover, in [15], while the hybrid coded-uncoded caching was
shown to outplay two pure coded and conventional pure uncoded
schemes under non-uniform and user-dependent demands in a
small-scale system, adopting the best content placement in the
caches exhibited combinatorial complexity.
To address the shortcomings of the above efforts, we dedicate
MBS
Library
SBS 1
Libr
ڮ
ڮ
Cache
SB
University
SBS 2
Cache
Hospital
SBS 3
ڮ
ڮ
ڮ
Cache
Cache
SBS 4
Sports Arena
Fig. 1. Illustrative system model with heterogeneous demands.
this paper to investigate caching under non-uniform and user-
dependent demands for large-scale systems. In particular, we
propose some heuristic methods by leveraging the hybrid coded-
uncoded caching scheme [15], k-means clustering, and the trade-
off between global and regional popularity of contents to select
an appropriate caching strategy in polynomial time. Validated
through simulation results, we show that the proposed heuristics
outperform the baseline methods reported in the literature.
The rest of the paper is organized as follows. Section II
describes the system model and the problem formulation. The
proposed heuristic methods for caching under non-uniform and
user-dependent demands are given in Section III. Section IV
discusses the numerical and simulation results. Finally,Section V
draws conclusions with directions for potential future works.
II. SY ST EM MO DE L AN D PROB LE M FOR MU LATI ON
In this section, we first introduce our system model and then
formulate the problem statement.
A. System Model and Preliminaries
Consider a cellular network in which a single macro base
station (MBS) is connected to KSBSs through a shared error-
free link as depicted in Fig. 1. The MBS stores a total of Ndistinct
contents all having the same size of Fbits. Each SBS, denoted by
c∈ {1,2, . . . , K}, is equipped with a M×Fbit cache memory
and is responsible for serving Zcusers within its range. Each
user can connect and receive data from only one SBS and the
MBS. The system operates in the placement and delivery phases.
In the placement phase, which is carried out during off-peak
periods, the cache of each SBS is filled with segments of contents
based on the caching strategy. In the delivery phase, each user
requests a content from its corresponding SBS. As a result, each
SBS receives Zcdemands at each time slot. Content popularity
distribution is non-uniform and SBS-dependent. We assume that
the content’s popularity at different SBSs are known and does
not change during the delivery phase. Specifically, let pn,c be the
probability that users under the coverage of SBS crequest some
content n, where n∈ {1,2, . . . , N }and ∀c, PN
n=1pn,c = 1.
Table I defines the main notations used henceforth.
Unlike typical caching schemes that maximize the local gain
by storing the most locally popular contents in caches, coded
caching exploit multicast opportunities to benefit from the global
caching gain. When the content popularity is not the same at
TABLE I
MAIN NOTATIO NS AN D DEFI NIT IO NS
Notation Definition
NNumber of contents
KNumber of SBSs
MCache capacity of the SBS
ZcNumber of users (demands) within coverage of SBS c
pn,c Popularity of content nin SBS c
GGeneric cover of the groups of SBSs
Yn,c Indicates if content nis cached in SBS cor not
Xn,g Indicates if content nis cached in group g∈ G or not
Sc,g Indicates if SBS cparticipates in group g∈ G or not
different SBSs, ignoring the local popularities and including all
SBSs in a single multicast group may reduce the performance of
caching. However, there may be some subsets of SBSs that share
similar content popularity distribution in the system. Grouping
SBSs with similar content popularity distribution increases the
cache hit ratio due to the increased allocated cache memory
for more locally popular contents. Yet, increasing the number
of such groups will decrease the allocated cache size for each
group as well as the number of participating SBSs in each group.
Therefore, the global cache gain of coded caching decreases.
We now describe the problem under the hybrid coded-uncoded
scheme of [15]. Let G={G1, G2, . . . , G|G|}denote a cover
of the set of SBSs (|∪|G|
i=1Gi|=K), where the SBSs in group
Gishare similar content popularity distribution. Also, let Kg
and Ngdenote the number of SBSs and the number of contents
participating in the coded caching scheme of group g∈ G,
respectively. In the placement phase, the cache of each SBS cis
divided into uncoded and coded parts. Let M1cbe the capacity
of the uncoded part in SBS c, i.e., M1ccontents (usually most
popular ones) are cached entirely in this part of c’s cache. Thus,
M−M1cof cache capacity is left for the coded part, where a
separate coded caching scheme is applied within each group
containing SBS c. In other words, Mgfraction of the cache
capacity at SBS cis dedicated to group gif SBS cparticipates
in group g. Contents to be included in the coded scheme
corresponding to the SBSs of group gare split into Kg
Tgnon-
overlapping equally-sized sub-files, where Tg=Kg×Mg/Ng
and the size of each sub-file is equal to F/Kg
Tg[3]. The sub-
files are distributed at caches of the corresponding group such
that each cache stores Mg/Ngfraction of each content.
Based on the placement strategy, each request belongs to either
one of the following categories in the delivery phase: (i) cached
uncoded and completely in the M1csegment of the cache, (ii)
cached coded according to the scheme of [3] and placed in the
Mgcache segment, or (iii) not cached in SBS cat all. Requests
belonging to the first category are satisfied by the SBSs, but
the list of distinct demands from the other two categories are
forwarded to the MBS. The MBS then sends information of size
Rbits at each time slot over the shared link to satisfy these coded
and un-cached demands. The coded requests in each group are
responded independently from other groups by employing the
coded caching scheme [3]. More specifically, the coded caching
scheme is applied at each step to respond to a single request
from each participating SBS, if available. Consequently, at most
Zmax = max Zcsteps are needed to satisfy the requests of all
participating SBSs, if there exists at least one participating SBS
with Zcdistinct requests. If Pr{Qi,g =k}is the probability that
exactly kSBSs (in group g) have a request for coded contents at
the i-th step, then the expected traffic load of coded demands in
the delivery phase, denoted by r1, is proven to be:
r1=X
g∈G
PZmax
i=1
(Kg
Tg+1)−PKg
k=0 Pr{Qi,g=k}(Kg−k
Tg+1 )
(Kg
Tg),if Ng>Mg,
0,otherwise.
(1)
Moreover, the expected traffic load of un-cached requests in the
delivery phase, denoted by r2, is given as follows:
r2=
N
X
n=11−
K
Y
c=11−pn,c(1−Yn,c)·Y
g∈G
(1−Xn,g ·Sc,g )Zc
,
(2)
where Yn,c = 1 if content nis cached uncoded at SBS cand
0, if otherwise. Similarly, Xn,g = 1 if content nparticipates in
the coded caching scheme of group gand 0, if otherwise. Also,
Sc,g = 1 if SBS cparticipates in group g∈ G; else Sc,g = 0.
Subsequently, we have ∀g, PnXn,g =Ngand PcSc,g =Kg,
and also, ∀c, PnYn,c =M1c. The total expected traffic rate is
r=r1+r2, which has been proven to be approximated with
polynomial time complexity. The proofs and details on (1) and
(2) can be found in [15].
B. Problem Formulation
Assuming that the placement phase is carried out during
off-peak times, the incurred traffic load cost in this phase is
negligible. Hence, our goal is to optimize the content placement
in the cache of SBSs in order to minimize the expected traffic load
on the shared link during the delivery phase. By defining e
Gas
the set of all possible covers of SBSs, the optimization problem
can be formulated as:
min
G⊂ e
G
{min
0≤M1c≤M,
1≤Mg≤M,
Mg<Ng≤N,
Xn,g,Yn,c ∈{0,1}
r}
s.t.
N
X
n=1
Xn,g =Ng,∀g∈ G,
N
X
n=1
Yn,c =M1c,∀c∈ {1,2, . . . , K},
M1c+X
g∈G
Mg·Sc,g =M, ∀c∈ {1,2, . . . , K }.
(3)
As evident in (3), the size of all possible covers of SBSs is
|e
G| = 2K−K−1(i.e., each group has at least two SBSs for coded
multicasting). In order to find the best content placement for each
possible cover, even if the number of contents involved in each
group (Ng) and the memory partitioning (Mg) are specified, we
need to calculate the MBS rate rfor QK
c=1 N
M1c×Qg∈G N
Ng
possible configurations. Additionally, in the cases of pure un-
coded and two-partitioning pure coded schemes [5]–[7], we need
to check N
MKand N
N1possible configurations, respectively, to
determine the optimal content placement. Thus, the optimization
problem is generally intractable. In this regard, we present our
heuristic approaches in what follows.
III. PROP OS ED HEURISTIC SCHEMES
As seen in preceding section, the time complexity of finding
the optimal grouping and cache partitioning, and optimal content
placement strategy that minimizes the rate is combinatorial
under non-uniform and SBS-dependent content popularity. In
this section, we thus introduce some polynomial-time placement
heuristic methods to find the appropriate configuration.
A. Heuristic I: Dependent Hybrid
The dependent hybrid (DH) method matches the situations
where there are no similarities between the content popularity
distribution of SBSs. In essence, this method tries to trade-off
between local and global popularities by caching the most locally
and globally popular contents with uncoded and coded schemes,
respectively. As shown in Algorithm 1, the contents indexes are
sorted based on the local and global popularities in two separate
arrays denoted by I(L)and I(G), respectively (lines 2 to 4). Note
that in DH, there exists only one global group for coded caching
which includes all SBSs ({Sc,g}K,1
c,g=1 = 1, in line 5). Then, each
SBS selects M1of its most locally popular contents to cache in its
uncoded segment (lines 10 and 11) and dedicates the remaining
M−M1capacity to the coded part. Therefore, different SBSs can
cache different contents in the uncoded segment of their caches.
Next, N1most globally popular contents, which are not cached
at any SBS in the previous step, are selected to be cached with
the original coded caching scheme [3] in all SBSs (lines 12 to
14). Finally, the expected traffic rate is calculated based on this
cache placement and the content popularity distribution (lines
15 and 16). The best configuration, i.e., the optimum values for
M1and N1are chosen through exhaustive search.
Algorithm 1 Dependent Hybrid (DH)
1: function DH (K, N , M, {Zc}K
c=1,{pn,c }N,K
n,c=1)
2: for all c∈ {1,2,...,K}do
3: {I(L)
n,c }N
n=1 ←Sort content indexes w.r.t. {pn,c}N
n=1
4: {I(G)
n}N
n=1 ←Sort content indexes w.r.t. {pn=1
KPK
c=1pn,c
}N
n=1
5: {Sc,g}K,1
c,g=1 ←1
6: r⋆← −1
7: for N1∈ {M−M1,...,N}, where M1∈ {0,...,M},do
8: {Xn}N
n=1 ←0
9: {Yn,c}N ,K
n,c=1 ←0
10: for all c∈ {1,...,K}and i∈ {I(L)
1,c ,...,I(L)
M1,c}do
11: Yi,c ←1
12: {ˆ
In}N
n=1 ← {I(G)
n}N
n=1 −{I(G)
n|PK
c=1YI(G)
n,c >0}N
n=1
13: for all i∈ { ˆ
I(G)
1,..., ˆ
I(G)
N1}do
14: Xi←1
15: Calculate r1and r2based on equations (1) and (2)
16: r←r1+r2
17: if (r < r⋆)|| (r⋆== −1) then
18: r⋆
1, r⋆, X ⋆
n, Y ⋆
n,c ←r1, r, Xn, Yn,c
19: return r⋆
1, r⋆, X ⋆
n, Y ⋆
n,c
B. Heuristic II: Clustered Dependent Hybrid
As mentioned earlier, there may be some groups of SBSs with
similar content popularity distribution in the system. Grouping
these SBSs and applying coded caching separately to each group
can increase the caching performance. The clustered DH (CDH)
method given in Algorithm 2 attempts to trade-off between local
and global popularity distributions by clustering SBSs and using
the DH method. It clusters SBSs into jgroups by passing the
{pn,c}N
n=1 for each SBS cto the k-means algorithm as the SBSs’
features vectors (line 4). SBSs with similar content popularity
distributions are more likely to be located in the same cluster.
The algorithm then extracts group-related information (such as
Zcand {pn,c}N
n=1 for SBSs inside each group) (lines 10-12) and
applies the DH method to each group separately (line 13). Next,
it updates the rate and cache placement based on the output of
the DH method explained in Algorithm 1 (lines 14-16). Finally,
it calculates the traffic load of MBS for the given clustering (line
18). The optimum clustering size, i.e., the optimum value of jis
chosen via exhaustive search.
C. Heuristic III: Split Clustered Dependent Hybrid
Although content popularity distribution is not the same at
different SBSs, some contents may be popular in almost all SBSs.
Caching these contents in all SBSs with the coded scheme can
possibly improve the global cache gain. However, as shown in
[9], the average popularity rank of the top 0.3% of most globally
popular videos is below the top 40% in as many as 60% of
locations. Therefore, since the most local popular contents may
possess a low average popularity rank and high average global
Algorithm 2 Cluster Dependent Hybrid (CDH)
1: function CDH (K, N, M , {Zc}K
c=1,{pn,c }N,K
n,c=1)
2: r⋆← −1
3: for j∈ {1,2,...,K}do
4: G ← k-means{pn,c }N,K
n,c=1, j
5: if |G| < j then break
6: {Sc,g}K,|G |
c,g=1 ←Extract clusters from G
7: {Xn,g}N ,|G|
n,g=1 ←0
8: {Yn,c}N ,K
n,c=1 ←0
9: for g∈ {1,2,...,|G|} do
10: Kg←PK
c=1 Sc,g
11: {Z′
c′}Kg
c′=1 ← {Zc|Sc,g = 1}K
c=1
12: {p′
n,c′}N,Kg
n,c′=1 ←{pn,c}N
n=1|Sc,g = 1K
c=1
13: r′
1, r′,{Xn,g }N
n=1,{Y′
n,c′}N,Kg
n,c′=1 ←
DH Kg, N, M , {Z′
c′}
Kg
c′=1,{p′
n,c′}N,Kg
n,c′=1
14: for all csuch that Sc,g = 1 do
15: {Yn,c}N
n=1 ← {Y′
n,c′}N
n=1
16: r1←r1+r′
1
17: Calculate r2based on equation (2)
18: r←r1+r2
19: if (r < r⋆)|| (r⋆== −1) then
20: r⋆, S⋆
c,g, X ⋆
n,g, Y ⋆
n,c ←r, Sc,g, Xn,g , Yn,c
21: return r⋆, S⋆
c,g, X ⋆
n,g, Y ⋆
n,c
popularity,these average metrics are not appropriate for selecting
actual global popular contents.
In this regard, the split CDH (SCDH) scheme in Algorithm 3
uses a scoring method based on the contents’ popularity rank
to identify the global popular content (lines 2-8). That is to say,
SCDH employs the tunable N(G)parameter in a scoring method
to check the popularity distribution of each content over all SBSs.
If the content falls within the 2N(G)most popular contents of an
SBS, then the content’s score increases by one. Further on, the
contents are sorted based on their scores and then N(G)contents
with the highest scores are selected as global popular ones. Based
on the local and global popularity distribution, contents are stored
into {p(L)
n,c }N,K
n,c=1 and {p(G)
n,c }N,K
n,c=1, respectively (lines 9-12). The
SCDH method splits the cache memory of SBSs into distinct
global and local segments, where the segment dedicated to global
contents is indicated by M(G). To harness the advantages of
multicasting, SCDH handles the global popular contents in the
cache of all SBSs. It also exploits SBS clustering for handling
the locally popular contents. As a result of this, the selected
global and local contents are cached into the corresponding cache
segments of the SBSs using DH and CDH methods, respectively
Algorithm 3 Split Cluster Dependent Hybrid (SCDH)
1: function SCDH (K, N, M, {Zc}K
c=1,{pn,c }N,K
n,c=1, N (G), β)
2: {Scoren}N
n=1 ←0
3: {p(G)
n,c }N,K
n,c=1 ←0
4: {p(L)
n,c }N,K
n,c=1 ←0
5: for all c∈ {1,2,...,K}and n∈ {1,2,...,N}do
6: if nfalls in the 2N(G)popular contents in SBS cthen
7: Scoren←Scoren+ 1
8: {SIi}N
i=1 ←Sort content indexes w.r.t. {Scoren}N
n=1
9: for all c∈ {1,2,...,K}and i∈ {SI1,...,SIN(G)}do
10: p(G)
i,c ←pi,c
11: for all c∈ {1,2,...,K}and i∈{SIN(G)+1 ,...,SIN}do
12: p(L)
i,c ←pi,c
13: r⋆
,{S⋆
c,g}K,|G |
c,g=1,{X(L)⋆
n,g }N,|G|
n,g=1,{Y(L)⋆
n,c }N,K
n,c=1 ←
CDH K, N, M , {Zc}K
c=1,{pn,c }N,K
n,c=1
14: {X(G)⋆
n}N
n=1 ←0
15: {Y(G)⋆
n,c }N,K
n,c=1 ←0
16: M(G)⋆←0
17: M(G)←β×M
18: while M(G)≤Mdo
19: K′, r(G),{X(G)
n}N
n=1,{Y(G)
n,c }N,K
n,c=1 ←
DH K, N, M (G),{Zc}K
c=1,{p(G)
n,c }N,K
n,c=1
20: r(L),{Sc,g}K,|G |
c,g=1,{X(L)
n,g }N,|G|
n,g=1,{Y(L)
n,c }N,K
n,c=1 ←
CDH K, N, M −M(G),{Zc}K
c=1,{p(L)
n,c }N,K
n,c=1
21: r←r(G)+r(L)
22: if r < r⋆then
23: r⋆, S⋆
c,g, X (L)⋆
n,g , Y (L)⋆
n,c ←r, Sc,g, X (L)
n,g , Y (L)
n,c
24: M(G)⋆, X(G)⋆
n, Y (G)⋆
n,c ←M(G), X(G)
n, Y (G)
n,c
25: M(G)←M(G)+β×M
26: return M(G)⋆, S⋆
c,g, X (L)⋆
n,g , Y (L)⋆
n,c , X(G)⋆
n, Y (G)⋆
n,c
D
0 10 20 30 40 50 60 70 80 90 100
16
18
20
22
24
26
28
30
32
34
36
(b)
(d)
(c)
Fig. 2. MBS traffic load versus (a) the SBS caching capacity (M), (b) the fraction of locally popular content requests (ρL) for M=50, and (c) the parameter
βalong with the corresponding computational time in (d) for M=50. Here, N=1000,K=10,{Zc}10
c=1 =10, and α=1.
(lines 19 and 20). For better readability, we encapsulate some
steps by invoking CDH in lines 13 and 20. In the original
algorithm, the clusters are indeed found only once before the
loop in line 18. Finally, the expected traffic rate is calculated in
line 21. The best configuration is chosen via exhaustive search.
To find the appropriate (not the best) caching strategy however,
it is not needed to investigate every single value of M(G). In
fact, SCDH uses the βparameter (lines 17 and 25) to adjust the
trade-off between computational overhead and performance.
D. Complexity Analysis
All the three proposed heuristic methods entail polynomial
computational complexity. The complexity of CDH and SCDH
mainly lies in the DH function invocation. In DH however, most
of the computational time is spent on calculating rbased on
(1) and (2). Although CDH clusters SBSs and invokes DH for
each cluster separately, the total complexity of CDH is almost
the same as that of DH (as shown in Section IV). This is due to
the division of the problem into smaller subproblems. As seen
in Algorithm 3, the time complexity of SCDH is of the order
O(CDH) + 1
β×O(DH) + O(CDH), where 1
M≤β≤1.
IV. SIMULATION RESULTS AN D ANALY SI S
This section evaluates and compares the average performance
of the proposed methods and the following baseline schemes
through extensive simulations:
•Dependent pure uncoded (DPU): In SBS-dependent pure
uncoded caching, each SBS with cache capacity M, stores
the Mmost locally popular contents separately.
•Pure coded (PC): The two-partitioning pure coded caching
scheme ([5]–[7]) only considers the global popularity (i.e.,
{pn=1
KPK
c=1 pn,c}N
n=1) to find the best partitioning of
contents into popular and unpopular sets. It allocates the
SBSs’ caches to store the popular contents set based on the
original coded caching scheme reported in [3].
•Independent hybrid coded-uncoded (IH): Proposed in [8],
this caching scheme partitions the SBSs’ cache into coded
and uncoded segments. It uses the global popularity distri-
bution to divide contents into three sets, namely uncoded,
coded, and un-cached. It achieves order-optimal cache and
content partitioning through optimization in polynomial
time. It has been shown that IH beats PC and DPU under
SBS-independent and non-uniform content popularity [8].
By setting M1=Min Algorithm 1, we note that the algorithm
turns into DPU. Also, if we set M1=0, Algorithm 1 implements
the code of the PC method. While DPU only considers the
local popularity distribution, PC and IH only consider the global
popularity for cache placement. Besides, if PC and IH are used
instead of DH in our proposed heuristics, different versions of
the proposed methods can be developed. For instance, SCPC is
a pure coded version of the SCDH method that employs PC in
place of DH in Algorithm 2 and Algorithm 3.
A. Simulation Set-up
We consider four content categories based on their genre (such
as sports, films, music, and politics) in the system, where 20%
of each genre is popular for almost all users (globally popular).
The other contents are popular only for users within the coverage
of some SBSs (locally popular). In fact, we have five content
classes: one globally popular and four locally popular. The
popularity distribution of all classes follows the Zipf popularity
profile with parameter α. We ran our experiments in MATLAB
for 2000 time units on a machine with 3.6 GHz AMD FX-4100
CPU and 8 GB RAM. However, our runs were non-parallel and
used 25% of the CPU. Unless explicitly specified in the plots that
follow, β= 1/M in SCDH and SCPC, N= 1000, and K= 10.
Also, 50% of requests of each SBS are for the global popular
contents and the remaining 50% for the local popular contents.
B. Performance Comparison
Fig. 2a and Fig. 2b show the MBS traffic load (r) under the
impact of the cache size, where each SBS serves 10 users (i.e.,
Zc=Z= 10), and percentage of requests for locally popular
contents (ρL), respectively. As clearly seen in these figures,
the proposed SCDH heuristic imposes the least load on the
MBS. When ρL= 0 in Fig. 2b, we also observe that the global
cache gain is maximum because all users request only for the
globally popular contents. As ρLincreases to 50%, ralso rises
due to increase in diversity of requested contents. This traffic
then decreases as ρLgoes beyond 50% due to lesser diverse
requests. These requests, however, are for different categories.
Hence, the global cache gain is low. Users demand only for their
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3
20
30
40
50
60
70
(a)
E
5 10 15 20 25 30 35 40 45 50
20
40
60
80
100
120
140
160
180
F
Fig. 3. MBS traffic load versus (a) the popularity parameter (α) for {Zc}10
c=1 =10,M=50, (b) αfor {Zc}10
c=1 =[1,3,5,7,9,11,13,15,17,19],M=50,
and (c) the number of users served by each SBS ({Zc}10
c=1) for N= 2500,M= 100, and α= 1.
local popular contents when ρL=100%. Note that CDH and DH
perform almost alike when ρL<60% of all requests, whereas
the clustering methods (such as CDH and SCPC) surpass their
non-clustered counterparts. Fig. 2c and Fig. 2d plot the MBS
traffic load and the execution time of the split versions of the
proposed methods w.r.t. the βparameter. Determining the best
βvalue depends on the content popularity distributions. Even
so, as shown in Fig. 2c, an apt cache placement can be found by
merely checking a few splitting options (by selecting a larger β).
Figs. 3a and 3b plot ragainst the popularity parameter (α)
for uniform and non-uniform user distributions in the cells
(Zc). In Fig. 3b, SBSs 1,2,...,10 are responsible for serving
1,3,...,19 users, respectively. Though the performance of
coded-based methods degrades for non-uniform Zc, our methods
outperform all baseline methods under both, uniform and non-
uniform Zc, for all αvalues. Fig. 3c compares caching perfor-
mance in a different system scale and for varying Zcvalues. As
apparent in these figures, our proposed SBS-dependent methods
surmount all the baseline methods. In fact, SCDH is shown to
regulate the best MBS traffic load. Besides, DH and CDH also
mostly perform well in comparison to the baseline schemes and
SCPC. Although applying the concept of splitting and clustering
(as in SCPC) to PC improves performance, we see that the MBS
traffic load imposed by SCPC is yet higher than the proposed
SBS-dependent hybrid methods.
V. CONCLUSION
In this paper, we have investigated content placement in the
caching problem with non-uniform and user-dependent demands
for a system with multiple cache-enabled SBSs connected to an
MBS. To overcome the combinatorial time complexity of the
underlying problem, we have proposed three heuristic methods
that leverage the hybrid coded-uncoded scheme and adapt with
non-uniform and SBS-dependent content popularity by adjust-
ing local and global contents’ popularity and using clustering.
Validated by analytical and simulation results, we have shown
that our proposed heuristics outperform the baseline schemes
of pure uncoded, pure coded, and independent hybrid coded-
uncoded caching under different settings. As future work, we
plan to assess the efficacy of our methods for online caching in
the presence of dense SBSs, where each user can receive content
from multiple SBSs.
ACKNOWLEDGMENT
This work was supported by the Social Policy Grant funded
by Nazarbayev University, Kazakhstan.
REFERENCES
[1] K. Shanmugam, N. Golrezaei, A. G. Dimakis, A. F. Molisch, and
G. Caire, “Femtocaching: Wireless content delivery through distributed
caching helpers,” IEEE Trans. Inf. Theory, vol. 59, no. 12, pp. 8402–
8413, Dec. 2013.
[2] Y. Chen, M. Ding, J. Li, Z. Lin, G. Mao, and L. Hanzo, “Probabilistic
small-cell caching: Performance analysis and optimization,” IEEE Trans.
Veh. Technol., vol. 66, no. 5, pp. 4341–4354, May 2017.
[3] M. A. Maddah-Ali and U. Niesen, “Fundamental limits of caching,”
IEEE Trans. Inf. Theory, vol. 60, no. 5, pp. 2856–2867, May 2014.
[4] U. Niesen and M. A. Maddah-Ali, “Coded caching with nonuniform
demands,” IEEE Trans. Inf. Theory, vol. 63, no. 2, pp. 1146–1158, Feb.
2017.
[5] M. Ji, A. M. Tulino, J. Llorca, and G. Caire, “Order-optimal rate of
caching and coded multicasting with random demands,” IEEE Trans.
Inf. Theory, vol. 63, no. 6, pp. 3923–3949, Jun. 2017.
[6] J. Zhang, X. Lin, and X. Wang, “Coded caching under arbitrary
popularity distributions,” IEEE Trans. Inf. Theory, vol. 64, no. 1, pp.
349–366, Jan. 2018.
[7] S. A. Saberali, L. Lampe, and I. F. Blake, “Full characterization of
optimal uncoded placement for the structured clique cover delivery of
nonuniform demands,” IEEE Trans. Inf. Theory, vol. 66, no. 1, pp. 633–
648, Jan. 2020.
[8] A. G. Sheshjavani, A. Khonsari, S. P. Shariatpanahi, M. Moradian, and
A. Dadlani, “Coded caching under non-uniform content popularity distri-
butions with multiple requests,” in Proc. IEEE Wireless Communications
and Networking Conference (WCNC), 2020, pp. 1–6.
[9] G. Ma, Z. Wang, M. Zhang, J. Ye, M. Chen, and W. Zhu, “Understanding
performance of edge content caching for mobile video streaming,” IEEE
J. Sel. Areas Commun., vol. 35, no. 5, pp. 1076–1089, May 2017.
[10] Y. Lu, C. Li, W. Chen, and H. Vincent Poor, “On the effective throughput
of coded caching with heterogeneous user preferences: A game theoretic
perspective,” IEEE Trans. Commun., vol. 69, no. 3, pp. 1387–1402, Mar.
2021.
[11] S. Wang and B. Peleato, “Coded caching with heterogeneous user
profiles,” in Proc. IEEE International Symposium on Information Theory
(ISIT), 2019, pp. 2619–2623.
[12] C. Zhang and B. Peleato, “On the average rate for coded caching with
heterogeneous user profiles,” in Proc. IEEE International Conference on
Communications (ICC), 2020, pp. 1–6.
[13] Y. Lu, W. Chen, and H. V. Poor, “Coded caching under heterogeneous
user preferences: An effective throughput perspective,” in Proc. IEEE
International Conference on Communications (ICC), 2019, pp. 1–6.
[14] C.-H. Chang and C.-C. Wang, “Coded caching with full heterogeneity:
Exact capacity of the two-user/two-file case,” in Proc. IEEE Interna-
tional Symposium on Information Theory (ISIT), 2019, pp. 6–10.
[15] A. Ghaffari Sheshjavani, A. Khonsari, S. P. Shariatpanahi, and M. Mora-
dian, “Content caching for shared medium networks under heteroge-
neous users’ behaviors,” Comput. Networks, vol. 199, p. 108454, Nov.
2021.