• No results found

Model of the Caching Process of Multiple Coordinating CRs

5.4 Bloom Filter

5.5.1 Model of the Caching Process of Multiple Coordinating CRs

In order to investigate the cache redundancy and the diversity of content distribution between neighbouring CRs, we extend our analysis previously in Chapter 4 to a multi-router modelling. Since we are interested in the duplicate caching in a pool of neighbouring CRs, the caching state (i) (𝑖 ∈ β„’ = {0,1,2, … , 2π‘›βˆ’ 1}) is characterized as 𝑖th case regarding the distribution of a single chunk among 𝑛 caches of a neighbourhood. For instance, for a single router, the distribution of a single chunk can be in two cases as analysed previously: cached and non-cached. Then for a pool of 𝑛 neighbouring CRs, the overall caching states can be characterized as 2𝑛 states. With coordination enabled at adjacent CRs, the duplicate caching can be avoided. Specially, with 𝑛 neighbouring CRs coordinating with each other, state (𝑖, 𝑗, π‘˜, …�����

𝑛

) corresponds to the case of the distribution of a chunk among 𝑛 neighbouring CRs, wherein binary values of 𝑖, 𝑗, π‘˜, … = 1 indicates a cached case of the chunk, otherwise 𝑖, 𝑗, π‘˜, … = 0. From the analytical aspect, the goal of the coordinated caching can be formulated to reduce the probability that a single chunk is held by more than one router in a neighbourhood, so as to reduce cache redundancy.

0 (0,0) 1 (0,1) 2 (1,0) 3 (1,1) Ξ»A(j) Ξ»B(j) ΞΌA(j,j’) ΞΌB(j,j’) ΞΌB(j,j’) Ξ»B(j) Ξ»A(j) ΞΌA(j,j’) Ξ»AB(j) ΞΌAB(j,j’)

Figure 5-14: CTMC of coordinated caching process among two neighbouring CRs of a content chunk For illustration simplicity, a CTMC model with two neighbouring CRs (e.g., router A and B) is given in Fig. 5-14 to depict the distribution of a single chunk among two neighbouring CRs. The dotted transitions show the case of caching process under non-cooperation, wherein a duplicate caching can happen even if one of the neighbouring CRs already holds a replica. A direct transition from state (0,0) to state (1,1) can happen if the same data is demanded by multiple requestors via different delivery paths, wherein πœ†π΄π΅(𝑗) = πœ†π΄(𝑗) βˆ™ πœ†π΅(𝑗) , πœ‡π΄π΅(𝑗, 𝑗′) = πœ‡π΄(𝑗, 𝑗′)πœ‡π΅(𝑗, 𝑗′) based on Eq. (4.2) and (4.3) in Chapter 4.

Chapter 5. Decision Making for In-network Caching of P2P Content Chunks – A Coordinated Approach

In Fig. 5-14, state (0) corresponds to a non-cached case for both CRs of the chunk, and state (1) (or state (2)) corresponds to a cached-case of the chunk at router A (or router B). The transition from state (0) to state (1) indicates a caching action of the chunk, with rate at πœ†π΄(𝑗). The transition from state (1) to state (0) implies an eviction action of the chunk, with rate at πœ‡π΄(𝑗, 𝑗′), where 𝑗′ is the index of the following in-coming chunk when chunk 𝑗 is cached. As analysed in the previous chapter, the transition rate of πœ†(𝑗) and πœ‡(𝑗, 𝑗′) can be defined as the following, respectively.

πœ†(𝑗) = πœ†π‘—βˆ™ π‘ƒπ‘Ÿπ‘œπ‘π‘π‘Žπ‘β„Žπ‘–π‘›π‘”(𝑗) (5.3) πœ‡(𝑗, 𝑗′) = πœ†(𝑗′) βˆ™ π‘ƒπ‘Ÿπ‘œπ‘π‘’π‘£π‘–π‘π‘‘π‘–π‘œπ‘›(𝑗) (5.4)

where π‘ƒπ‘Ÿπ‘œπ‘π‘’π‘£π‘–π‘π‘‘π‘–π‘œπ‘›(𝑗) is the probability that the cached chunk 𝑗 is to be replaced by the in- coming chunk 𝑗′, which equals to 1

𝑛 under a random eviction policy and equals to 1βˆ’π‘ƒπ‘œπ‘π‘—

𝑛 under a LFU eviction policy. And π‘ƒπ‘Ÿπ‘œπ‘π‘π‘Žπ‘β„Žπ‘–π‘›π‘”(𝑗) is the caching probability of chunk 𝑗 at the router (see Eq. (4.1) in Chapter 4).

Then the corresponding set of differential equations based on the model of Fig. 5-14 can be derived according to Eq. (4.4) (Chapter 4) as below.

⎩ βŽͺ βŽͺ ⎨ βŽͺ βŽͺ βŽ§π‘‘π‘ƒπ‘‘π‘‘0(𝑑)= βˆ’(πœ†π΄+ πœ†π΅+ πœ†π΄π΅)𝑃0(𝑑) + πœ‡π΄π‘ƒ1(𝑑) + πœ‡π΅π‘ƒ2(𝑑) + πœ‡π΄π΅π‘ƒ3(𝑑) 𝑑𝑃1(𝑑) 𝑑𝑑 = πœ†π΄π‘ƒ0(𝑑) βˆ’ πœ‡π΄π‘ƒ1(𝑑) + πœ‡π΅π‘ƒ3(𝑑) 𝑑𝑃2(𝑑) 𝑑𝑑 = πœ†π΅π‘ƒ0(𝑑) βˆ’ πœ‡π΅π‘ƒ2(𝑑) + πœ‡π΄π‘ƒ3(𝑑) 𝑑𝑃3(𝑑) 𝑑𝑑 = πœ†π΄π΅π‘ƒ0(𝑑) βˆ’ (πœ‡π΄+ πœ‡π΅+ πœ‡π΄π΅)𝑃3 (5.4)

Solving the set of the equations with the initial conditions 𝑃0(𝑑) = 1 and 𝑃𝑖(𝑑) = 0, 𝑖 ∈ {1,2,3} yields the transient probability that the process will be in state (𝑖) at time 𝑑.

In order to investigate the caching performance achieved by coordination, the cache redundancy

ratio (𝑅) is derived, which indicates the intensity of cache redundancy in a neighbourhood of CRs.

From an analytical point, the cache redundancy ratio can be expressed as the probability that the chunk is held by more than one content router in a neighbourhood. For instance in Fig. 5-14, 𝑅 = 𝑃3(𝑑). In addition the probability that the replica of the object chunk is held by no more than one content router in a neighbourhood can be described as the caching efficiency, which refers to the diversity degree of content chunk distribution in the network. In Fig. 5-14, the caching efficiency is expressed as 𝑃1(𝑑) + 𝑃2(𝑑). As compared to independent caching, we have the following statement to show the performance gain achieved by coordination.

Lemma 1: Suppose the cache redundancy ratio under uncoordinated and coordinated in-network caching strategy is 𝑅′ and 𝑅, respectively, then 𝑅′> 𝑅 holds.

Proof: The statement is straightforward and can be derived from the model in Fig. 5-14. Since

transitions from state (1,0) (or state (0,1)) to state (1,1) is removed due to coordination between nearby CRs, the probability of the system in state (1,1) (the case that the chunk is cached by more than one router in a neighbourhood) is thus decreased, while the probability of the system in state (1,0) and state (0,1) (caching efficiency) is increased, indicating the case that the chunk is cached by only one of the CRs in a neighbourhood. The conclusion can be easily extended to multi-CRs coordinated with each other. Thus the cache redundancy can be reduced while the caching efficiency can be improved based coordination between neighbouring CRs.

By reducing the possibilities of duplicate caching, the coordination can promote the diversity of the cached contents among CRs, compared to the non-coordinated policy.

5.5.2 Numerical Results

Next, we evaluate the cache redundancy between coordination and incoordination. In order to show the previous analytical results that the coordinated in-network caching can achieve better performance compared to the independent in-network caching, we plot in Fig. 5-15 the cache redundancy ratio based on the model in Fig. 5-14. As shown in the figures, the trend of the cache redundancy is increasing with time elapsing due to Markov property of transient probabilistic results, with 𝑑 β†’ ∞, the results reach steady states. Given the same value of πœ†(𝑗) πœ‡(𝑗, 𝑗′)⁄ = 2.7 for both CRs, indicating high caching probability of the chunk, the cache redundancy ratio can be reduced by 5 times as observed from the figure, from around 50% under the uncoordinated scenario down to around 10% with the coordinated scenario. It is worth mentioning that such a dramatic gain in caching redundancy reduction should be regarded as the theoretical upper bound. In practice, to use Bloom Filters to aggregate chunk identifiers may suffer from false positives. In the following simulation experiments we will evaluate the impact of such false positives to the overall caching performance. Fig. 5-16 shows the cache efficiency under uncoordinated and coordinated caching policy. As observed, under coordination, the cache efficiency can be improved by 40% compared to non-coordination, which further proves the effectiveness of the coordinated in-network caching.

Chapter 5. Decision Making for In-network Caching of P2P Content Chunks – A Coordinated Approach

Figure 5-15: Comparison of cache redundancy ratio under coordinated and non-coordinated in- network caching

Figure 5-16: Comparison of caching efficiency under coordinated and non-coordinated in-network caching