Fundamental Limits of Caching in Wireless D2D Networks

本文我们读一下 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 ) \Theta\left(\frac{M}{m}\right) Θ(mM), 用户请求被拒绝的概率即 outage Pr可以被固定为一个很小的常数,前提是 n , m → ∞ n,m\to\infty n,m and n M ≫ m nM\gg m nMm.

coded multicasting – 在中心化的基站场景下,[10] 中考虑让每个用户存储精心设计的caches,从而使得对于用户的任意需求,一个coded message就可以满足他们所有的需求。这个coded message的大小是一个常数乘以单个file的大小. 当 n M ≫ m nM\gg m nMm 时,throughput scaling 也是 Θ ( M m ) \Theta\left(\frac{M}{m}\right) Θ(mM).

现有部署 – 当 M M M 固定 m m m 很大时,实际中部署的系统用一个TCP/IP connection服务一个用户的demand,这种scheme的per-user throughout scaling 是 Θ ( 1 n ) \Theta\left(\frac{1}{n}\right) Θ(n1). 这是因为下行的throughput被 n n n 个用户共享,每个人只能分到 1 / n 1/n 1/n. 本质原因还是它没有利用 caching 来 exploit 用户之间需求的重复性,即需求很大,但是library里的文件是有限的 n M ≫ m nM\gg m nMm.

本文主要探索 coded multicasting 和 spatial reuse能否一起使用从而使两种增益叠加。

Remark (notation of order): 对于任意两个函数 f f f g g g:

  1. 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);
  2. 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_{n\to\infty}\frac{f(n)}{g(n)}=0 limng(n)f(n)=0;
  3. 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));
  4. 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));
  5. 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,其中

  1. 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;
  2. 总共有 m m m 个files F = { 1 , 2 , . . . , m } \mathcal{F}=\{1,2,...,m\} F={1,2,...,m}, 用户可任意索取其中一个file f u ∈ F f_u\in\mathcal{F} fuF, u = 1 , 2 , . . . , n u=1,2,...,n u=1,2,...,n.
  3. 用户 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都可,但是小于就不行);
  4. 用户以固定的rate C r C_r Cr bits/s/Hz 发送数据且 C r C_r Cr 是距离的非增函数.
  5. 每个用户有大小为 M M M files 的cache,注意D2D场景下的一个必须条件是
    t ≜ n M / m ≥ 1 t\triangleq nM/m\geq 1 tnM/m1 否则肯定有一部分files是missing的. 这个条件在有base station的情况下不需要,或者用户请求时随机的时候也不需要 (本文将会考虑最坏的请求比如所有人要所有的file,此时这个条件就是必须的了,不然总有需求不能被满足)。

在video on-demand streaming 这一应用中,两个用户同时索取同一file的概率是0,这被称为 asynchronous content reuse. 为了描述这一特征且避免overhearing for free,本文的streaming model如下:

  1. library 中的 m m m 个files每个都被分为 L L L 个packets;

  2. 每个用户下载所需要的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_u\in\{1,2,...,L-L'+1\} su{1,2,...,LL+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+L1.


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_u\triangleq \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}_2\to\mathbb{F}^{MLF}_2 ϕu:F2mLFF2MLF 是一个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}_2\times \mathcal{F}^n\to\mathbb{F}^{R^T_u}_2 ψu:F2MLF×FnF2RuT

X u , q ≜ ψ u ( Z u , q ) X_{u,q}\triangleq \psi_u\left(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=LFRuT.

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_u\left(\{X_{v,q}:v\in\mathcal{D}_u\},Z_u, q \right) W^u,qλu({Xv,q:vDu},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_{v\in\mathcal{D}_u} R^T_u}_2\times \mathbb{F}^{MLF}_2\times \mathcal{F}^n\in \mathbb{F}^{FL'}_2 F2vDuRuT×F2MLF×FnF2FL.


作者将考虑使系统吞吐量最差的用户需求。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_{q\in\mathcal{F}^n,s\in\{1,2,...,L-L'+1\}^n}\max_{u\in\mathcal{U}}\mathbb{P}\left(\hat{W}_{u,q}\neq(W^{s_u}_{f_u},...,W^{s_u+L'-1}_{f_u}) \right) Pe=qFn,s{1,2,...,LL+1}nmaxuUmaxP(W^u,q=(Wfusu,...,Wfusu+L1))
即,内层的max是在所有的用户中选一个错误率最高的,外层的max是遍历所有用户的可能需求, 包括files (共 F n \mathcal{F}^n Fn) 和可能的起始位置 (共 { 1 , 2 , . . . , L − L ′ + 1 } n \{1,2,...,L-L'+1\}^n {1,2,...,LL+1}n), max内部的概率是译码错误的概率。


R = ∑ u ∈ U R u R=\sum_{u\in\mathcal{U}}R_u R=uURu. 那么一个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 \forall\varepsilon>0 ε>0. 即满足:
lim sup ⁡ F → ∞ R ( F ) ≤ R ,    lim sup ⁡ F → ∞ P e ( F ) ≤ ε . \limsup_{F\to\infty}R^{(F)}\leq R, ~~ \limsup_{F\to\infty}P_e^{(F)}\leq \varepsilon. FlimsupR(F)R,  FlimsupPe(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/LF 的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} A2L 所有 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.


假设

  1. 我们有一种caching scheme,encoding/decoding schemes 使得 ( M , R ) (M,R) (M,R) achievable。注意这里的 R R R 是所有用户 R u R_u Ru 的叠加。
  2. 我们有一种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=RLF 待传输bits全部送到对应用户手中。每次信道的使用可以传输 C r C_r Cr bits, r r r 是发送接收端的距离。
  3. Throughput per user 定义为:
    T ≜ L ′ F t s T\triangleq \frac{L'F}{t_s} TtsLF

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 的定义:

  1. ( M , R ) (M,R) (M,R) is achievable.
  2. 存在一种传输policy使得所有的bits能够在 t s ≤ L ′ F T t_s\leq\frac{L'F}{T} tsTLF 次信道使用中完成传输。

最优 achievable throughput 定义为
T ∗ ( M ) ≜ sup ⁡ { T : ( M , T )  is achievable } T^*(M)\triangleq \sup\left\{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 r\geq\sqrt{2} r2 so that 所有nodes之间都可以相互听到。在这个场景下,每个时刻只能有一个node发送,因此我们可以集中注意解决caching, encoding, decoding 的设计。

deterministic caching, achievability, and converse bound

简单情况: r ≥ 2 r\geq\sqrt{2} r2

Theorem 1: For r ≥ 2 r\geq\sqrt{2} r2 , t = n M / m ∈ Z + t=nM/m\in\mathbb{Z}^+ t=nM/mZ+, 以下rate是可达的
R ( M ) = m M ( 1 − M m ) R(M)=\frac{m}{M}\left(1-\frac{M}{m}\right) R(M)=Mm(1mM) 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 r\geq\sqrt{2} r2 所有人都能相互听到;
  • 一个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 2L6 个subpkts, 因此均分到 m = 3 m=3 m=3 个pkts,每个用户可以从预先在每个file里存储 2 L ∗ 6 / 3 = 4 L 2L*6/3=4L 2L6/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).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值