我是靠谱客的博主 甜甜康乃馨,最近开发中收集的这篇文章主要介绍Fundamental Limits of Caching in Wireless D2D NetworksAbstractIntroductionSystem Modeldeterministic caching, achievability, and converse bound,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文我们读一下 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 nMm.

coded multicasting – 在中心化的基站场景下,[10] 中考虑让每个用户存储精心设计的caches,从而使得对于用户的任意需求,一个coded message就可以满足他们所有的需求。这个coded message的大小是一个常数乘以单个file的大小. 当 n M ≫ m nMgg m nMm 时,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 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_{ntoinfty}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_uinmathcal{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 ttriangleq nM/mgeq 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_uin{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_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: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}_2times mathcal{F}^ntomathbb{F}^{R^T_u}_2 ψu:F2MLF×FnF2RuT

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=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_uleft({X_{v,q}:vinmathcal{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_{vinmathcal{D}_u} R^T_u}_2times mathbb{F}^{MLF}_2times mathcal{F}^nin 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_{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=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_{uinmathcal{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 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. 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 Ttriangleq 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_sleqfrac{L'F}{T} tsTLF 次信道使用中完成传输。

最优 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} r2 so that 所有nodes之间都可以相互听到。在这个场景下,每个时刻只能有一个node发送,因此我们可以集中注意解决caching, encoding, decoding 的设计。

deterministic caching, achievability, and converse bound

简单情况: r ≥ 2 rgeqsqrt{2} r2

Theorem 1: For r ≥ 2 rgeqsqrt{2} r2 , t = n M / m ∈ Z + t=nM/minmathbb{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 rgeqsqrt{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).

最后

以上就是甜甜康乃馨为你收集整理的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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部