概述
本文我们读一下 D2D coded caching 中citation比较高的paper: Fundamental Limits of Caching in Wireless D2D Networks.
Abstract
首先这是一个D2D网络,只有用户没有基站,所有人的通信都是one-hop。每个用户都可以提前cache一些信息,取决于他们的本地容量。他们的需求可以是一个有限信息集中的任意信息。实际上这个问题在有基站的中心化场景下已经被研究过了。在他们的场景下,有一个全知的基站拥有所有的信息。由这个基站给所有用户广播coded info。本文研究的是这个问题的D2D版本。我们将提出一个deterministic caching policy和coded delivery policy使得用户之间可以传输线性编码的信息从而满足相互的需求。为了适用于完全分布式系统,我们也考虑一个随机的caching policy。这俩策略都能达到 outer bounds.
我们之前的工作已经证明了,当用户数和信息数量很大的时候,D2D+random caching+uncoded delivery这个框架可以达到与基站+multicast/broadcast框架同样的 throughout scaling law。换句话说,D2D网络中的空间复用增益与单基站编码广播增益是order-equivalent的。因此一个自然的问题是,空间复用增益和编码广播增益可以累加吗?违反直觉的,本文会证明这两者不能累加。
Comment: 直觉上他俩就不应该能累加,空间复用是说一个时间同时给不同空间的人发信息,coded multicast是说同时给多个人发送同样信息可以用coding带来增益。这俩本质上就是违背的。作者如果能证明他们能累加那才是违反直觉的。
Introduction
caching的意义在于,用户的需求有大量相同,因此没必要让每个用户都从core network中下载信息,而是可以在一些网络节点, 比如base station, device, or helper node,处存储一些信息。
D2D random caching – 在 [5,8] 中,本文作者研究了一个D2D网络 with n n n 个用户。caching 发生在用户端,每个用户可以从一个大小为 m m m files 的library中存储 M M M files. 在[9]中的简单协议模型下,我们发现 random caching + interference-avoidance transmission with full spatial reuse 可以使得每个用户的吞吐量表现为 Θ ( M m ) Thetaleft(frac{M}{m}right) Θ(mM), 用户请求被拒绝的概率即 outage Pr可以被固定为一个很小的常数,前提是 n , m → ∞ n,mtoinfty n,m→∞ and n M ≫ m nMgg m nM≫m.
coded multicasting – 在中心化的基站场景下,[10] 中考虑让每个用户存储精心设计的caches,从而使得对于用户的任意需求,一个coded message就可以满足他们所有的需求。这个coded message的大小是一个常数乘以单个file的大小. 当 n M ≫ m nMgg m nM≫m 时,throughput scaling 也是 Θ ( M m ) Thetaleft(frac{M}{m}right) Θ(mM).
现有部署 – 当 M M M 固定 m m m 很大时,实际中部署的系统用一个TCP/IP connection服务一个用户的demand,这种scheme的per-user throughout scaling 是 Θ ( 1 n ) Thetaleft(frac{1}{n}right) Θ(n1). 这是因为下行的throughput被 n n n 个用户共享,每个人只能分到 1 / n 1/n 1/n. 本质原因还是它没有利用 caching 来 exploit 用户之间需求的重复性,即需求很大,但是library里的文件是有限的 n M ≫ m nMgg m nM≫m.
本文主要探索 coded multicasting 和 spatial reuse能否一起使用从而使两种增益叠加。
Remark (notation of order): 对于任意两个函数 f f f 和 g g g:
- Big O notation: f ( n ) = O ( g ( n ) ) f(n)=O(g(n)) f(n)=O(g(n)) 表示存在有常数 c c c 和 整数 N N N 使得 n > N n>N n>N 时 f ( n ) ≤ c g ( n ) f(n)leq c g(n) f(n)≤cg(n);
- Small o notation: f ( n ) = o ( g ( n ) ) f(n)=o(g(n)) f(n)=o(g(n)) 等价于 lim n → ∞ f ( n ) g ( n ) = 0 lim_{ntoinfty}frac{f(n)}{g(n)}=0 limn→∞g(n)f(n)=0;
- Big Omega notation: f ( n ) = Ω ( g ( n ) ) f(n)=Omega(g(n)) f(n)=Ω(g(n)) 等价于 g ( n ) = O ( f ( n ) ) g(n)=O(f(n)) g(n)=O(f(n));
- Small omega notation: f ( n ) = ω ( g ( n ) ) f(n)=omega(g(n)) f(n)=ω(g(n)) 等价于 g ( n ) = o ( f ( n ) ) g(n)=o(f(n)) g(n)=o(f(n));
- Big Theta notation: f ( n ) = Θ ( g ( n ) ) f(n)=Theta(g(n)) f(n)=Θ(g(n)) 等价于 f ( n ) = O ( g ( n ) ) f(n)=O(g(n)) f(n)=O(g(n)) and g ( n ) = O ( f ( n ) ) g(n)=O(f(n)) g(n)=O(f(n)).
System Model
我们考虑图1所示的 grid network,其中
- 有 n n n 个节点 U = { u : u = 1 , 2 , . . . , n } U={u:u=1,2,...,n} U={u:u=1,2,...,n}, 小正方形边长 1 / n 1/sqrt{n} 1/n, 即总面积fix, 人越多越dense;
- 总共有 m m m 个files F = { 1 , 2 , . . . , m } mathcal{F}={1,2,...,m} F={1,2,...,m}, 用户可任意索取其中一个file f u ∈ F f_uinmathcal{F} fu∈F, u = 1 , 2 , . . . , n u=1,2,...,n u=1,2,...,n.
- 用户 i i i 给 j j j 传消息能成功的前提是 i , j i, j i,j之间的距离小于 r r r (等于都不行), j j j 方圆 ( 1 + Δ ) r (1+Delta)r (1+Δ)r 距离以内无人发送信号 (另一发送节点在 ( 1 + Δ ) r (1+Delta)r (1+Δ)r都可,但是小于就不行);
- 用户以固定的rate C r C_r Cr bits/s/Hz 发送数据且 C r C_r Cr 是距离的非增函数.
- 每个用户有大小为
M
M
M files 的cache,注意D2D场景下的一个必须条件是
t ≜ n M / m ≥ 1 ttriangleq nM/mgeq 1 t≜nM/m≥1 否则肯定有一部分files是missing的. 这个条件在有base station的情况下不需要,或者用户请求时随机的时候也不需要 (本文将会考虑最坏的请求比如所有人要所有的file,此时这个条件就是必须的了,不然总有需求不能被满足)。
在video on-demand streaming 这一应用中,两个用户同时索取同一file的概率是0,这被称为 asynchronous content reuse. 为了描述这一特征且避免overhearing for free,本文的streaming model如下:
-
library 中的 m m m 个files每个都被分为 L L L 个packets;
-
每个用户下载所需要的file的任意 L ′ L' L′ 个packets;
综上,只要 L L L 很大, L ′ L' L′ finite, 即使两个用户需求同一个file,他们所需要的segments也是不一样的。
对于任意一个用户
u
u
u, 他需求的file
f
u
f_u
fu 可以被划分为
f
u
=
{
W
f
u
j
:
i
=
1
,
2
,
.
.
.
,
L
}
,
f
u
=
1
,
2
,
.
.
.
,
m
f_u = {W^j_{f_u}:i=1,2,...,L}, ~~ f_u=1,2,...,m
fu={Wfuj:i=1,2,...,L}, fu=1,2,...,m
其中每个packet W f u j W^j_{f_u} Wfuj 有 F F F 个bits,且每个bits是i.i.d. uniform的。换句话说, W f u j W^j_{f_u} Wfuj 有 2 F 2^F 2F 种可能,每种概率一致。用户 u u u 会从 L L L 个pkts里面选取 L ′ L' L′ 个连续的segments,因此只要我们把他需要的起始指针记作 s u ∈ { 1 , 2 , . . . , L − L ′ + 1 } s_uin{1,2,...,L-L'+1} su∈{1,2,...,L−L′+1}, 那它所需要的的pkts便是 W f u s u W^{s_u}_{f_u} Wfusu, W f u s u + 1 W^{s_u+1}_{f_u} Wfusu+1, …, W f u s u + L ′ − 1 W^{s_u+L'-1}_{f_u} Wfusu+L′−1.
Definition 1 (Caching Phase) Caching phase 顾名思义就是把
m
m
m 个file怎么预先存到每个用户大小为
M
M
M files 的caches中去。第
u
u
u 个用户存放的内容可以记作
Z
u
≜
ϕ
u
(
W
f
j
,
f
=
1
,
2
,
.
.
.
,
.
;
j
=
1
,
2
,
.
.
.
,
L
)
,
Z_utriangleq phi_u left( W^j_f, f= 1,2,...,.;j=1,2,...,L right),
Zu≜ϕu(Wfj,f=1,2,...,.;j=1,2,...,L),
其中 policy
ϕ
u
:
F
2
m
L
F
→
F
2
M
L
F
phi_u: mathbb{F}^{mLF}_2tomathbb{F}^{MLF}_2
ϕu:F2mLF→F2MLF 是一个mapping。
Comment: 这个定义很dull, 而且confuse readers到底是按bits还是按pkts存放。合理的猜测是按照pkts存放。
Definition 2 (Coded Delivery Phase) Delivery phase 可以由两组函数定义出: 每个用户的encoding functions { ψ u } {psi_u} {ψu} 和每个用户的 decoding functions { λ u } {lambda_u} {λu}.
Transmit: 对于任意一个用户
u
u
u, 当收到一个request vector
q
q
q 时,他要根据request内容和自己的本地caches来决定自己要发送的内容,即
ψ
u
:
F
2
M
L
F
×
F
n
→
F
2
R
u
T
psi_u:mathbb{F}^{MLF}_2times mathcal{F}^ntomathbb{F}^{R^T_u}_2
ψu:F2MLF×Fn→F2RuT
X u , q ≜ ψ u ( Z u , q ) X_{u,q}triangleq psi_uleft(Z_u, q right) Xu,q≜ψu(Zu,q)
其中 F = { 1 , 2 , . . . , m } mathcal{F}={1,2,...,m} F={1,2,...,m} 是 file library; R u T R^T_u RuT 是要发送的bit 个数,那么用户 u u u 的coding rate便为 R u = R u T L ′ F R_u=frac{R^T_u}{L'F} Ru=L′FRuT.
Receive: 假设用户
u
u
u 接收到了 a set of users
D
u
mathcal{D}_u
Du 的信号。那么,它将试图解自己需求的那些packets,即
W
^
u
,
q
≜
λ
u
(
{
X
v
,
q
:
v
∈
D
u
}
,
Z
u
,
q
)
hat{W}_{u,q}triangleq lambda_uleft({X_{v,q}:vinmathcal{D}_u},Z_u, q right)
W^u,q≜λu({Xv,q:v∈Du},Zu,q)
其中, λ u lambda_u λu 这个映射可以表示为 F 2 ∑ v ∈ D u R u T × F 2 M L F × F n ∈ F 2 F L ′ mathbb{F}^{sum_{vinmathcal{D}_u} R^T_u}_2times mathbb{F}^{MLF}_2times mathcal{F}^nin mathbb{F}^{FL'}_2 F2∑v∈DuRuT×F2MLF×Fn∈F2FL′.
作者将考虑使系统吞吐量最差的用户需求。Worst-case error Pr. 为
P
e
=
max
q
∈
F
n
,
s
∈
{
1
,
2
,
.
.
.
,
L
−
L
′
+
1
}
n
max
u
∈
U
P
(
W
^
u
,
q
≠
(
W
f
u
s
u
,
.
.
.
,
W
f
u
s
u
+
L
′
−
1
)
)
P_e=max_{qinmathcal{F}^n,sin{1,2,...,L-L'+1}^n}max_{uinmathcal{U}}mathbb{P}left(hat{W}_{u,q}neq(W^{s_u}_{f_u},...,W^{s_u+L'-1}_{f_u}) right)
Pe=q∈Fn,s∈{1,2,...,L−L′+1}nmaxu∈UmaxP(W^u,q=(Wfusu,...,Wfusu+L′−1))
即,内层的max是在所有的用户中选一个错误率最高的,外层的max是遍历所有用户的可能需求, 包括files (共
F
n
mathcal{F}^n
Fn) 和可能的起始位置 (共
{
1
,
2
,
.
.
.
,
L
−
L
′
+
1
}
n
{1,2,...,L-L'+1}^n
{1,2,...,L−L′+1}n), max内部的概率是译码错误的概率。
令
R
=
∑
u
∈
U
R
u
R=sum_{uinmathcal{U}}R_u
R=∑u∈URu. 那么一个cache-rate对
(
M
,
R
)
(M,R)
(M,R) 是 achievable 的 if 随着包长
F
F
F 的增加,总存在一组 caching mapping
{
ϕ
u
}
{phi_u}
{ϕu}, encoding and decoding functions
{
ψ
u
,
λ
u
}
{psi_u,lambda_u}
{ψu,λu} 使得总速率小于
R
R
R 的情况下保证最差的错误率大小于
ε
varepsilon
ε,
∀
ε
>
0
forallvarepsilon>0
∀ε>0. 即满足:
lim sup
F
→
∞
R
(
F
)
≤
R
,
lim sup
F
→
∞
P
e
(
F
)
≤
ε
.
limsup_{Ftoinfty}R^{(F)}leq R, ~~ limsup_{Ftoinfty}P_e^{(F)}leq varepsilon.
F→∞limsupR(F)≤R, F→∞limsupPe(F)≤ε.
需要注意的是他这里的rate定义的是发送bits除以传输bits,跟传统的rate定义刚刚好相反,因此它需要minimize。最优可达rate定义为
R
∗
(
M
)
≜
inf
{
R
:
(
M
,
R
)
is achievable
}
R^*(M)triangleq inf {R:(M,R) text{ is achievable}}
R∗(M)≜inf{R:(M,R) is achievable}
总之,给定存储大小 M M M, 作者的意图就是用更小的rate来让 Pe text{Pe} Pe 尽可能小。而且更小的 rate 意味着干同样的事情需要发送bits少,吞吐量就更高。下面,作者进一步定义了吞吐量。
需要注意的是, ( M , R ) (M,R) (M,R) is achievable 仅仅意味着存在caching scheme,encoding/decoding schemes 使得每个用户可以用 R u = R u T / L ′ F R_u=R^T_u/L'F Ru=RuT/L′F 的rate传输使得总体 P e Pe Pe 任意小。但是实际中,由于通信的限制,两个用户之间传输的rate还要受 C r C_r Cr 的限制。也就是说 ( M , R ) (M,R) (M,R) 虽然理论上可达,但是实际中加上通信的限制后并不一定可达。这就需要我们设计用户之间的 transmission policy尽量能把 R u T R^T_u RuT bits 传输给目标用户。
Definition 3 (Transmission policy) 传输策略 Π t Pi_t Πt 是一种在网络中建立D2D link的方式。我们把所有的 directed link 归纳到一个 set中并记为 L mathcal{L} L. 令 A ⊆ 2 L mathcal{A}subseteq2^mathcal{L} A⊆2L 所有 L mathcal{L} L 的subsets构成的集合。那么 A mathcal{A} A 中任意元素就是所有一种D2D link的配置,它规定了哪些link是active的哪些是inactive的。 对于给定的 caching 方式和所有用户的 requests, Π t Pi_t Πt 就是定义在 A mathcal{A} A 上的一个PMF, 其每一个元素 Π t ( A ) Pi_t(A) Πt(A) 就是 A mathcal{A} A 中一个元素 A A A, 即一种 D2D link 配置, 的概率。本文只考虑deterministic transmission policy, 即 Π t Pi_t Πt是一个one-hot vector.
Comment: 简而言之就是网络中所有可能有的direct link是 L = { 1 , 2 , . . . , B } mathcal{L}={1,2,...,B } L={1,2,...,B}, 那么可能的D2D link配置就有 2 B 2^B 2B 种,他们一起构成 A mathcal{A} A. 给定一种caching方式和所有的requests, 我们可以从这 2 B 2^B 2B 种配置中选择,这个选择概率分布就是 Π t Pi_t Πt.
假设
- 我们有一种caching scheme,encoding/decoding schemes 使得 ( M , R ) (M,R) (M,R) achievable。注意这里的 R R R 是所有用户 R u R_u Ru 的叠加。
- 我们有一种transmission policy Π t Pi_t Πt 使得在使用 t s t_s ts 次信道后能够把所有的 ∑ u R u T = R L ′ F sum_u R^T_u=RL'F ∑uRuT=RL′F 待传输bits全部送到对应用户手中。每次信道的使用可以传输 C r C_r Cr bits, r r r 是发送接收端的距离。
- Throughput per user 定义为:
T ≜ L ′ F t s Ttriangleq frac{L'F}{t_s} T≜tsL′F
Comment: 这个定义是不是略显草率。首先每个用户传输的bits R u T R^T_u RuT 各不相同,每个人每次传输能够传输的bits C r C_r Cr 也各不相同。这里这个定义感觉非常的coarse. 可能后面坐着假设所有人的coding rate都是一样的, C r C_r Cr 也都是一样的?
To summarize,作者给出 ( M , T ) (M,T) (M,T) is achievable 的定义:
- ( M , R ) (M,R) (M,R) is achievable.
- 存在一种传输policy使得所有的bits能够在 t s ≤ L ′ F T t_sleqfrac{L'F}{T} ts≤TL′F 次信道使用中完成传输。
最优 achievable throughput 定义为
T
∗
(
M
)
≜
sup
{
T
:
(
M
,
T
)
is achievable
}
T^*(M)triangleq supleft{T:(M,T) text{ is achievable} right}
T∗(M)≜sup{T:(M,T) is achievable}
总之,本文主要需要解决两方面问题: 一是caching, encoding, decoding schemes 的设计; 二是 D2D 网络中传输策略的设计以决定同activate 的 links.
简单起见,作者先考虑一个简单的场景where整个网络中同时只能有一个node是active的; r ≥ 2 rgeqsqrt{2} r≥2 so that 所有nodes之间都可以相互听到。在这个场景下,每个时刻只能有一个node发送,因此我们可以集中注意解决caching, encoding, decoding 的设计。
deterministic caching, achievability, and converse bound
简单情况: r ≥ 2 rgeqsqrt{2} r≥2
Theorem 1: For
r
≥
2
rgeqsqrt{2}
r≥2,
t
=
n
M
/
m
∈
Z
+
t=nM/minmathbb{Z}^+
t=nM/m∈Z+, 以下rate是可达的
R
(
M
)
=
m
M
(
1
−
M
m
)
R(M)=frac{m}{M}left(1-frac{M}{m}right)
R(M)=Mm(1−mM)当
t
t
t 不是整数时,
R
(
M
)
R(M)
R(M) 的 convex lower envelope 是可达的。
一个例子:
- 令用户数 n = 3 n=3 n=3, 存储大小 M = 2 M=2 M=2, 总共有 m = 3 m=3 m=3 个文件 A , B , C A,B,C A,B,C;
- r ≥ 2 rgeqsqrt{2} r≥2 所有人都能相互听到;
- 一个file被分为 L L L 个pkt, 每个用户只需要其中 L ′ = 1 L'=1 L′=1个pkt;
- 一个pkt被分为 6 6 6 个subpkt,因此大小为 F / 6 F/6 F/6 bits;
比如说,file A 就被分为
L
L
L个pkt,每个pkt又被分为了
6
6
6个subpkt,可以记为
{
A
j
,
ℓ
:
j
=
1
,
2
,
.
.
.
,
L
;
ℓ
=
1
,
2
,
.
.
.
,
6
}
{A_{j,ell}:j=1,2,...,L;ell=1,2,...,6}
{Aj,ℓ:j=1,2,...,L;ℓ=1,2,...,6}
存储方案: 三个用户
u
=
1
,
2
,
3
u=1,2,3
u=1,2,3 分别存储
Z
1
=
(
A
j
,
1
,
A
j
,
2
,
A
j
,
3
,
A
j
,
4
,
B
j
,
1
,
B
j
,
2
,
B
j
,
3
,
B
j
,
4
,
C
j
,
1
,
C
j
,
2
,
C
j
,
3
,
C
j
,
4
)
,
∀
j
Z_1=left(A_{j,1},A_{j,2},A_{j,3},A_{j,4},B_{j,1},B_{j,2},B_{j,3},B_{j,4},C_{j,1},C_{j,2},C_{j,3},C_{j,4} right),~forall j
Z1=(Aj,1,Aj,2,Aj,3,Aj,4,Bj,1,Bj,2,Bj,3,Bj,4,Cj,1,Cj,2,Cj,3,Cj,4), ∀j
Z
2
=
(
A
j
,
1
,
A
j
,
2
,
A
j
,
5
,
A
j
,
6
,
B
j
,
1
,
B
j
,
2
,
B
j
,
5
,
B
j
,
6
,
C
j
,
1
,
C
j
,
2
,
C
j
,
5
,
C
j
,
6
)
,
∀
j
Z_2=left(A_{j,1},A_{j,2},A_{j,5},A_{j,6},B_{j,1},B_{j,2},B_{j,5},B_{j,6},C_{j,1},C_{j,2},C_{j,5},C_{j,6} right),~forall j
Z2=(Aj,1,Aj,2,Aj,5,Aj,6,Bj,1,Bj,2,Bj,5,Bj,6,Cj,1,Cj,2,Cj,5,Cj,6), ∀j
Z
3
=
(
A
j
,
3
,
A
j
,
4
,
A
j
,
5
,
A
j
,
6
,
B
j
,
3
,
B
j
,
4
,
B
j
,
5
,
B
j
,
6
,
C
j
,
3
,
C
j
,
4
,
C
j
,
5
,
C
j
,
6
)
,
∀
j
Z_3=left(A_{j,3},A_{j,4},A_{j,5},A_{j,6},B_{j,3},B_{j,4},B_{j,5},B_{j,6},C_{j,3},C_{j,4},C_{j,5},C_{j,6} right),~forall j
Z3=(Aj,3,Aj,4,Aj,5,Aj,6,Bj,3,Bj,4,Bj,5,Bj,6,Cj,3,Cj,4,Cj,5,Cj,6), ∀j
换句话说,如果把每个文件的pkt当做行, subpkt当做列,那么用户1存储了每个文件的1,2,3,4列,用户2存储了每个文件的1,2,5,6列,用户2存储了每个文件的3,4,5,6列. 这个4列的来源是因为每个人的容量为 M = 2 M=2 M=2 files, 因此每人实际上可以存储 2 L ∗ 6 2L*6 2L∗6 个subpkts, 因此均分到 m = 3 m=3 m=3 个pkts,每个用户可以从预先在每个file里存储 2 L ∗ 6 / 3 = 4 L 2L*6/3=4L 2L∗6/3=4L 个subpkts即4列。
我们假设三个用户需求的file是 q = ( A , B , C ) q=(A,B,C) q=(A,B,C) (当然他们只需要其中的 L ′ / L = 1 / L L'/L=1/L L′/L=1/L).
最后
以上就是甜甜康乃馨为你收集整理的Fundamental Limits of Caching in Wireless D2D NetworksAbstractIntroductionSystem Modeldeterministic caching, achievability, and converse bound的全部内容,希望文章能够帮你解决Fundamental Limits of Caching in Wireless D2D NetworksAbstractIntroductionSystem Modeldeterministic caching, achievability, and converse bound所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复