• Aucun résultat trouvé

Achievable Scheme for Kγ = 2

Dans le document Fundamental limits of shared-cache networks (Page 92-97)

In this section we present a caching and delivery scheme for the case ofKγ= 2. The scheme preserves the full local caching gain as in [26], and achieves a coding gain that strictly exceedsKγ+ 1.

5.3.1 Cache Placement Scheme

In the cache placement phase, we first split each fileW(n) intoS = K(K−2z+2)4 subfiles WT(n) for each pair T ,{T1,T2} from the set

Ψ,{T :T1∈[K−z],T2∈[T1+z: 2 : min{K−z+T1, K}]} (5.5) where in the above we used the notation [a:b:c] to denote an ordered set of integers5, fromatoc, in additive steps ofb. After splitting the files, each cachek is filled as follows Zk={WT(n) | ∀n∈[N],∀T 3k}. (5.6) Verifying the memory constraint To show that the cache placement satisfies the per-cache memoryM = 2NK, we focus without loss of generality on cache 1, and note that the

5Note thatbmay be negative.

number of subfiles (per file) in this cache is K−2z2 + 1. Recalling that each such subfile is of size 1/S, yields

N K−2z2 + 1

K(K−2z+2) 4

= 2N K =M thus proving that the memory constraint is satisfied.

5.3.2 Delivery Scheme

The delivery scheme has two phases, where the first phase transmits XORs composed of 4 subfiles, while the second phase transmits XORs composed ofKγ+ 1 = 3 subfiles.

Phase 1

Recall from above that any subfile WT(dk), k ∈ T ∈ Ψ (T1 ∈ [k : 1 : hk+z−1i]), is already available at one of the caches seen by the requesting userk∈[K]. For each user k∈[K], the aim of this first phase is to serve the subfiles in the set

n WT(dk)

1,T2 | ∀{T1,T2} ∈Ψ :T1 ∈ h[k−z+1:1:k−1]i∪h[k+z:1:k+2z−2]io

. (5.7)

For anyk∈[K], let us define the following two sets Ωk,1,[k+ 1 : 1 :k+z−1]

k,2,[k−z+ 1 : 1 :k−1] (5.8) and the set

Bk,j ,[Ωk,1(j) +z: 2 :Uk,j] (5.9) where

Uk,j,

hΩk,2(j)−zi, if Ωk,2(j)−z <0

K, otherwise. (5.10)

and where in the above we used the notation Γ(j) to denote the j-th element of an ordered set Γ. Next, for anyk∈[K] and any j∈[z−1] we form the following XOR

X(k, j, m) =WhΩ(dhk−z+1i)

k,1(j)i,Bk,j(m)⊕WhΩ(dk)

k,2(j)i,Bk,j(m)

⊕WhΩ(dhBk,j(m)−z+1i)

Bk,j(m),1(j)i,k ⊕WhΩ(dBk,j(m))

Bj,k(m),2(j)i,k. (5.11)

Creating the above XORs for every m∈[|Bk,j|] and every k∈[K], spans the entire set of requested files in (5.7), and what we show below is that each component subfile (in the XORs) can be successfully decoded by its corresponding user.

Decoding Consider any XOR as in (5.11) and let us focus on the subfilesW(dhk−z+1i)

k,1(j),Bk,j(m)

andW(dk)

k,2(j),Bk,j(m) which are desired by users hk−z+ 1i andk, respectively. By the cache placement phase, we notice that the subfilesWT(dhBk,j(m)−z+1i)

Bk,j(m),z,1(j),k andWT(dBk,j(m))

bj,k,z(m),z,2(j),k

are both cached in cache k, thus enabling both users hk−z+ 1i and k to subtract these subfiles fromX(k, j, m). Next, we also notice that userhk−z+ 1i can cache out W(dk)

k,2(j),Bk,j(m)since Ωk,2(j)∈ ∪i∈Chk−z+1iZi. Similarly, userkcan removeW(dhk−z+1i)

k,1(j),Bk,j(m)

fromX(k, j, m) because Ωk,1(j)∈ ∪i∈CkZi. Hence, we conclude that any XOR in (5.11) is decodable by both users k andhk−z+ 1i. In the same way, it can be shown that usershBk,j(m)−z+ 1i andBk,j(m) can successfully decode their own requested subfiles.

Phase 2

We start by defining the set δ=

"

z: 2 :

$K−2−z 3

%#

as well as the following set of triplets Θ =

(

1, θ2, θ3)|θ1 =δ(j), θ2 = 2δ(j) +z+ 2(i−1), θ3=δ(j) + 2(i−1), j∈[|δ|], i∈

K−3δ(j)−z 2

)

. (5.12)

For each tripletθ∈Θ and for each p∈[K], we generate the following two XORs Yp(θ,1) =W(dp)

2−θ1+p−1i,hθ2+p−1i⊕Wp,hθ(d2−θ1−z+pi)

2+pi

⊕Whz−2+pi,hz−2+θ(d2+p−1i) 3+pi (5.13)

Yp(θ,2) =W(dp)

2−θ1+pi,hθ2+pi⊕Wp,hθ(d2−θ1−z+1+pi)

2+pi

⊕Whz+p−1i,hz+θ(d2+p−1i) 3+p−1i. (5.14) As we did for phase 1, below we show that each subfile in the above XORs from (5.13) and (5.14) can be decoded successfully by their requesting user.

Decoding For anyp∈[K], we will prove that the subfiles inYp(θ,1) can be decoded by their intended users. The decodability proof forYp(θ,2) will then follow directly.

User p can cache out subfilesWp,hp+θ(d2−θ1−z+pi)

2i and Whz−2+pi,hz−2+θ(d2+p−1i) 3+pi from Yp(θ,1) since their subscripts p ∈ ∪i∈CpZi and hz−2 +pi ∈ ∪i∈CpZi correspond to the caches

that user p is connected to. Next, we notice that user hθ2−θ1−z+pi is connected to cache hθ2−θ1+p−1i and thus it can cache out subfile W(dp)

2−θ1+p−1i,hθ2+p−1i. The same user hθ2−θ1−z+pi=hδ(j) +p+ 2(i−1)i has access to subfiles with subscripts in the set h[δ(j) +p+ 2(i−1) : 1 : δ(j) +p+ 2(i−1) +z−1]i. A relabelling of hθ3+p+z−2i to hδ(j) +z+p−2 + 2(i−1)i highlights that user hθ2−θ1−z+pi can also removeWhz−2+pi,hz−2+θ(d2+p−1i) 3+pi from Yp(θ,1), and hence obtains its desired subfile Wp,hθ(d2−θ1−z+pi)

2+pi successfully. Finally, we recall that userhθ2+p−1i has access to caches C2+p−1i =h[θ2+p−1 : 1 :θ2+p−2 +z]i and hence can successfully decode its desired subfile since it can cache out subfiles W(dp)

2−θ1+p−1i,hθ2+p−1i and Wp,hθ(d2−θ1−z+pi)

2+pi .

Performance of the algorithm

We observe that each generated XOR serves a different set of 3 or 4 subfiles, which can all be decoded. Therefore, we can conclude that the achieved sum DoF is between 3 and 4.

From the description of the algorithm, it can be seen that the proposed delivery scheme is valid for any demand vectord. Following the construction, we can readily count the total number of XORs transmitted during phase 1 and phase 2 to respectively be X1 and X2 from (5.2), which concludes the proof of the achievable delay in Theorem 7.

5.3.3 Illustrative Example

In this subsection we offer an example that may help to better understand the scheme.

We consider the setting with parameters K = 10,Kγ = 2, and z= 2. For the sake of simplicity, we will use 0 to represent the index 10 and also, when describing a double indexi, j, we will omit the comma.

In the placement phase, we first split each file, according to (5.5), into S = 20 equally-sized subfiles with indices

Ψ ={13,15,17,19,24,26,28,20,35,37,39,46,48,40,57, 59,68,60,79,80}

and we then fill the caches according to (5.6) as follows

Z1 ={W13(n), W15(n), W17(n),W19(n), ∀n∈[N]} Z2 ={W24(n), W26(n), W28(n),W20(n), ∀n∈[N]}

...

Z9 ={W19(n), W39(n), W59(n),W79(n), ∀n∈[N]} Z0 ={W20(n), W40(n), W60(n),W80(n), ∀n∈[N]}.

We notice that the cache placement guarantees an empty intersection Zk∩ Zhk+1i=∅of any z= 2 neighboring caches, and thus a full local caching gain (zγ= 0.4).

In the delivery phase we consider the worst-case demand vector d= (1,2, . . . ,9,0).

We will list the XORs of phase 1 and phase 2, but before doing that, let us offer some intuition on the design of the XORs of the first phase.

Let us consider a pair of users (say, users 0 and 1) that “see” a common cache (in this case, cache 1). For these two users we will create a generic XOR

Wσ(0)12 ⊕W˜σ(1)

1σ2 (5.15)

which will be combined with another XOR Wτ(3)12 ⊕W˜τ(4)

1τ2 (5.16)

which is meant for another pair of users, say 3 and 4, that again share a common cache (cache 4). Combining the two XORs yields a new XORX=Wσ(0)12 ⊕W˜σ(1)

1σ2 ⊕Wτ(3)12 ⊕ Wτ˜(4)1τ2 of 4 subfiles. To guarantee decoding for all, we will set σ1 = ˜σ1 = 4 to let user 3 and user 4 “cache out” from X the subfiles in (5.15) and similarly we set τ1 = ˜τ1 = 1 in order to let users 0 and 1 cache out the XOR in (5.16). Next, we chooseσ2 = 2 so that user 1 can remove subfileW4,2(0) fromX and ˜σ2= 0 to let user 0 remove subfileW4,0(1) fromX. A similar choice of τ2 and ˜τ2 will result in6

X =W24(0)⊕W40(1)⊕W15(3)⊕W13(4). (5.17) The list of XORs sent during phase 1 is given below.

X(1,1,1) =W24(0)⊕W40(1)⊕W15(3)⊕W13(4) X(1,1,2) =W26(0)⊕W60(1)⊕W17(5)⊕W15(6) X(1,1,3) =W28(0)⊕W80(1)⊕W19(7)⊕W17(8) X(2,1,1) =W35(1)⊕W15(2)⊕W26(4)⊕W24(5) X(2,1,2) =W37(1)⊕W17(2)⊕W28(6)⊕W26(7) X(2,1,3) =W39(1)⊕W19(2)⊕W20(8)⊕W28(9) X(3,1,1) =W46(2)⊕W26(3)⊕W37(5)⊕W35(6) X(3,1,2) =W48(2)⊕W28(3)⊕W39(7)⊕W37(8) X(3,1,3) =W40(2)⊕W20(3)⊕W13(9)⊕W39(0) X(4,1,1) =W57(3)⊕W37(4)⊕W48(6)⊕W46(7) X(4,1,2) =W59(3)⊕W39(4)⊕W40(8)⊕W48(9) X(5,1,1) =W68(4)⊕W48(5)⊕W59(7)⊕W57(8) X(5,1,2) =W60(4)⊕W40(5)⊕W15(9)⊕W59(0)

6This intuition can be generalized forz >2 and used as a baseline in the general description of the scheme presented in Section 5.3.2.

X(6,1,1) =W79(5)⊕W59(6)⊕W60(8)⊕W68(9) X(7,1,1) =W80(6)⊕W60(7)⊕W17(9)⊕W79(0).

In phase 2, theX2 = 20 transmissions from (5.13) and (5.14) are cyclically generated as shown below.

Y1(θ,1)=W46(1)⊕W17(3)⊕W13(6), Y2(θ,1)=W57(2)⊕W28(4)⊕W24(7) Y3(θ,1)=W68(3)⊕W39(5)⊕W35(8)

...

Y0(θ,1)=W35(0)⊕W60(2)⊕W20(5) and

Y1(θ,2)=W57(1)⊕W17(4)⊕W24(6) Y2(θ,2)=W68(2)⊕W28(5)⊕W35(7) Y3(θ,2)=W79(3)⊕W39(6)⊕W46(8)

...

Y0(θ,2)=W46(0)⊕W60(3)⊕W13(5).

In the end, we haveS = 20,X1 = 15 and X2 = 20 which gives T = X1+X2

S = 35 20 and a coding gainK(1−zγ)/T = 3.43.

Dans le document Fundamental limits of shared-cache networks (Page 92-97)