Nicolas Gast
email: nicolas.gast@inria.fr

Benny Van Houdt
email: benny.vanhoudt@uantwerpen.be

TTL Approximations of the Cache Replacement Algorithms LRU(m) and h-LRU

Keywords: Caching, TTL approximations, LRU

Computer system and network performance can be significantly improved by caching frequently used information. When the cache size is limited, the cache replacement algorithm has an important impact on the effectiveness of caching. In this paper we introduce time-to-live (TTL) approximations to determine the cache hit probability of two classes of cache replacement algorithms: h-LRU and LRU(m). These approximations only require the requests to be generated according to a general Markovian arrival process (MAP). This includes phase-type renewal processes and the IRM model as special cases. We provide both numerical and theoretical support for the claim that the proposed TTL approximations are asymptotically exact. In particular, we show that the transient hit probability converges to the solution of a set of ODEs (under the IRM model), where the fixed point of the set of ODEs corresponds to the TTL approximation.

We use this approximation and trace-based simulation to compare the performance of h-LRU and LRU(m). First, we show that they perform alike, while the latter requires less work when a hit/miss occurs. Second, we show that as opposed to LRU, h-LRU and LRU(m) are sensitive to the correlation between consecutive inter-request times. Last, we study cache partitioning. In all tested cases, the hit probability improved by partitioning the cache into different parts -each being dedicated to a particular content provider. However, the gain is limited and the optimal partition sizes are very sensitive to the problem's parameters.

Introduction

Caches form a key component of many computer networks and systems. A large variety of cache replacement algorithms has been introduced and analyzed over the last few decades. A lot of the initial work was focused on deriving explicit expressions for the cache content distribution by using a Markov chain analysis [START_REF] Aven | Stochastic Analysis of Computer Storage[END_REF]. This approach, however, is not always feasible: Even if explicit expressions can be obtained, they are often only applicable to analyze small caches, because of the time it takes to evaluate them. This gave rise to various approximation algorithms to compute cache hit probabilities and most notably to time-to-live (TTL) approximations.

The first TTL approximation was introduced for the least recently used (LRU) policy under the Independent reference model (IRM) in [START_REF] Fagin | Asymptotic miss ratios over independent references[END_REF] and more recently and independently in [START_REF] Che | Hierarchical web caching systems: modeling, design and experimental results[END_REF]. The main idea behind this approximation is that a LRU cache behaves similarly to a TTL cache. In a TTL cache, when an item enters the cache, it sets a deterministic timer with initial value T . When this timer expires the item is removed from the cache. If an item is requested before its timer expires, its timer is reset to T . When T is fixed, an item with popularity p k is present in the cache at a random point in time with probability 1 -e -p k T and N k=1 [1 -e -p k T ] is the average number of items in the cache. The TTL approximation [START_REF] Fagin | Asymptotic miss ratios over independent references[END_REF][START_REF] Che | Hierarchical web caching systems: modeling, design and experimental results[END_REF] consists in approximating a LRU cache of size m by a TTL cache with characteristic time T (m), where T (m) is the unique solution of the fixed point equation

m = N k=1
(1 -e -p k T ).

(

) 1
The above TTL approximation for LRU can easily be generalized to renewal requests as well as to other simple variations of LRU and RANDOM under both IRM and renewal requests, as well as to certain network setups [START_REF] Berger | Exact analysis of TTL cache networks[END_REF][START_REF] Fofack | Performance evaluation of hierarchical TTL-based cache networks[END_REF][START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF][START_REF] Rosensweig | Approximate models for general cache networks[END_REF]. All of these TTL approximations have been shown to be (very) accurate by means of numerical examples, but except for LRU in [START_REF] Fagin | Asymptotic miss ratios over independent references[END_REF][START_REF] Fricker | A versatile and accurate approximation for LRU cache performance[END_REF][START_REF] Jiang | LRU cache under stationary requests[END_REF], no theoretical support was provided thus far.

In this paper we introduce TTL approximations for two classes of cache replacement algorithms that are variants of LRU. The first class, called LRU(m), dates back to the 1980s [START_REF] Aven | Stochastic Analysis of Computer Storage[END_REF], while the second, called h-LRU, was introduced in [START_REF] Johnson | 2Q: A low overhead high performance buffer management replacement algorithm[END_REF][START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF]. In fact, a TTL approximation for h-LRU was also introduced in [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF], but this approximation relies on an additional approximation of independence between the different lists when h > 2. As we will show in the paper, this implies that the approximation error does not reduce to zero as the cache becomes large.

In this paper we make the following contributions:

• We present a TTL approximation for LRU(m) and h-LRU that is applicable when the request process of an item is a Markovian arrival process (MAP). This includes any phase-type renewal process and the IRM model. In the special case of the IRM model, we derive simple closed-form expressions for the fixed point equations.

• Our TTL approximation for h-LRU can be computed in linear time in h and appears to be asymptotically exact as the cache size and the number of items grow, in contrast to the TTL approximation in [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF] for h > 2. Numerical results for the TTL approximation for LRU(m) also suggest that it is asymptotically exact.

• We prove that, under the IRM model, the transient behavior of both h-LRU and LRU(m) converges to the unique solution of a system of ODEs as the cache size and the number of items go to infinity.

Our TTL approximations correspond to the unique fixed point of the associated systems of ODEs. This provides additional support for the claim that our TTL approximations are asymptotically exact and is the main technical contribution of the paper.

• We validate the accuracy of the TTL approximation. We show that h-LRU and LRU(m) perform alike in terms of the hit probability under both synthetic and trace-based workloads, while less work is required for LRU(m) when a hit/miss occurs.

• We indicate that both h-LRU and LRU(m) can exploit correlation in consecutive inter-request times of an item, while the hit probability of LRU is insensitive to this type of correlation.

• We show how partitioning the cache into parts -each being dedicated to a particular content provider -can improve the hit probability. It is shown in [START_REF] Chu | On allocating cache resources to content providers[END_REF] that when using LRU and under an IRM request process, there exists an optimal partition of the cache that does not decrease the hit rate compared to a shared cache. Our numerical observations suggest that this is also the case for MAP arrivals and h-LRU. The gain, however, appears to be limited when the cache size is large and the optimal splitting size is very sensitive to the parameters.

The paper is structured as follows. We recall the definitions of LRU(m) and h-LRU in Section 2. We show how to build and solve the TTL approximation for LRU(m) in Section 3.1, and for h-LRU in Section 3.2. We demonstrate the accuracy of the TTL approximation for any finite time period in Section 4. We compare LRU(m) and h-LRU in Section 5, by using synthetic data and real traces. We study cache partitioning in Section 6. We conclude in Section 7.

Replacement Algorithms

We consider two families of cache replacement algorithms: h-LRU, introduced in [START_REF] Johnson | 2Q: A low overhead high performance buffer management replacement algorithm[END_REF][START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF], and LRU(m), introduced in [START_REF] Aven | Stochastic Analysis of Computer Storage[END_REF][START_REF] Gast | Transient and steady-state regime of a family of list-based cache replacement algorithms[END_REF]. Both operate on a cache that can store up to m items and both are variants of LRU, which replaces the least-recently-used item in the cache. One way to regard LRU is to think of the cache as an ordered list of m items, where the i-th position is occupied by the i-th most-recently-used item. When a miss occurs, the item in the last position of the list is removed and the requested item is inserted at the front of the list. If a hit occurs on the item in position i, item i moves to the front of the list, meaning the items in position 1 to i -1 move back one position.

The h-LRU replacement algorithm. h-LRU manages a cache of size m by making use of h -1 additional virtual lists of size m (called list 1 to list h -1) in which only meta-data is stored and one list of size m that corresponds to the actual cache (called list h). Each list is ordered, and the item in the ith position of list is the ith most-recently-used item among the items in list . When item k is requested, two operations are performed:

• For each list in which item k appears (say in a position i), the item k moves to the first position of list and the items in positions 1 to i -1 move back one position. • For each list in which item k does not appear but appears in list -1, item k is inserted in the first position of list , all other items of list are moved back one position and the item that was in position m of list is discarded from list .

List 1 of h-LRU behaves exactly as LRU, except that only the meta-data of the items is stored. Also, an item can appear in any subset of the h lists at the same time. This implies that a request can lead to as many as h list updates. Note that while there is no need for all of the h lists to have the same size m, we restrict ourselves to this setting (as in [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF]).

The LRU(m) replacement algorithm. LRU(m) makes use of h lists of sizes m 1 , . . . , m h , where the first few lists may be virtual, i.e., contain meta-data only. If the first v lists are virtual we have

m v+1 + • • • + m h = m
(that is, only the items in lists v + 1 to h are stored in the cache). With LRU(m) each item appears in at most one of the h lists at any given time. Upon each request of an item:

• If this item is not in any of the h lists, it moves to the first position of list 1 and all other items of list 1 move back one position. The item that was in position m 1 of list 1 is discarded. • If this item is in position i of a list < h, it is removed from list and inserted in the first position of list + 1. All other items of list + 1 move back one position and the item in the last position of list + 1 is removed from list + 1 and inserted in the first position of list . All previous items from position 1 to i -1 of list move back one position. • If this item is in position i of list h, then this item moves to the first position of list h. All items that are in position 1 to i -1 of list h move back one position.

When using only one list, LRU(m) coincides with LRU, and therefore with 1-LRU.

TTL approximations

3.1. TTL approximation for LRU(m) 3.1.1. IRM setting Under the IRM model the string of requested items is a set of i.i.d. random variables, where item k is requested with probability p k . As far as the hit probability is concerned this corresponds to assuming that item k is requested according to a Poisson process with rate p k .

The TTL approximation for LRU(m) consists in assuming that, when an item is not requested, the time it spends in list is deterministic and independent of the item. We denote this characteristic time by T . Let t n be the n-th time that item k is either requested or moves from one list to another list (where we state out 1 . . . . . . h that an item is part of list 0 when not in the cache). Using the above assumption, we define an h + 1 states discrete-time Markov chain (X n ) n≥0 , where X n is equal to the list id of the list containing item k at time t n .

1 1 -e -p k T1 1 -e -p k T h-1 1 -e -p k T h e -p k T h e -p k T2 e -p k T1
With probability e -p k T the time between two requests for item k exceeds T . Therefore e -p k T is the probability that an item part of list > 0 moves to list -1, while with probability 1 -e -p k T a hit occurs and the item moves to list + 1 if < h. In other words, the transition matrix of (X n ) n is

P k =        0 1 e -p k T1 0 1 -e -p k T1 . . . . . . . . . e -p k T h-1 0 1 -e -p k T h-1 e -p k T h 1 -e -p k T h        .
The Markov chain X n is a discrete-time birth-death process, represented in Figure 1. Hence, its steady state vector (π k,0 , π k,1 , . . . , π k,h ) obeys

π k, = π k,0 -1 s=1 (1 -e -p k Ts ) s=1 e -p k Ts = π k,0 e p k T -1 s=1 (e p k Ts -1), (2)
for = 1, . . . , h. Further for ∈ {1, . . . , h}, the average time spent in list is the expectation of the minimum between an exponential variable of parameter p k and T . Hence:

E[t n+1 -t n |X n = ] = ∞ t=0 P [t n+1 -t n ≥ t|X n = ] dt = T t=0 e -p k t dt = 1 -e -p k T p k ,
and [START_REF] Baccelli | Elements of queueing theory: Palm Martingale calculus and stochastic recurrences[END_REF], this implies that when observing the system at a random point in time, item k is in list ≥ 1 with probability

E[t n+1 -t n |X n = 0] = 1/p k . Combined with
π k, E[t n+1 -t n |X n = ] h j=0 π k,j E[t n+1 -t n |X n = j] = (e p k T1 -1) . . . (e p k T -1) 1+ h j=1 (e p k T1 -1) . . . (e p k Tj -1)
.

The expected number of items part of list is the sum of the previous expression over all items k. As for the TTL approximation, setting this sum equal to m leads to the following set of fixed point equations for T 1 to T h :

m = n k=1 (e p k T1 -1) . . . (e p k T -1) 1 + h j=1 (e p k T1 -1) . . . (e p k Tj -1)
.

(

) 3
An iterative algorithm used to determine a solution of this set of fixed point equations is presented in Section 4.1.1. In the next section we generalize this approximation to MAP arrivals.

Remark. It is interesting to note the similarity of the above set of fixed point equations with the set of fixed point equations presented in [START_REF] Gast | Transient and steady-state regime of a family of list-based cache replacement algorithms[END_REF] for the RAND(m) replacement algorithm. The RAND(m) algorithm works in the same manner as the LRU(m) algorithm, except that when a hit occurs on item i in a list < h, item i is switched with a random item in list + 1; when a miss occurs the missed item replaces a random item in list 1 and when a hit occurs in list h nothing changes. In this case the set of fixed point equations for the mean field model presented in [START_REF] Gast | Transient and steady-state regime of a family of list-based cache replacement algorithms[END_REF] can be written as

m = n k=1 (p k T 1 ) . . . (p k T ) 1 + h j=1 (p k T 1 ) . . . (p k T j ) , (4)
which is identical to (3) if we replace the factors of the form p k T i by e p k Ti -1. Equation ( 4) can also be derived in a manner similar to (3) if we replace the assumption that an item spends a deterministic time T in list by the assumption that the time spend in list is exponential with mean T . More specifically, the rate matrix for the continuous-time Markov chain that keeps track of the position of item k for the RAND(m) replacement algorithm is given by

Q k =        -p k p k µ 1 -µ 1 -p k p k . . . . . . . . . µ h-1 -µ h-1 -p k p k µ h -µ h       
, where µ = 1/T . The fixed point equations (4) now readily follow from the steady state probabilities of this birth-death process.

MAP arrivals

We now assume that the times that item k is requested are captured by a Markovian Arrival Process (MAP). MAPs have been developed with the aim of fitting a compact Markov model to workloads with statistical correlations and non-exponential distributions [START_REF] Casale | Building accurate workload models using markovian arrival processes[END_REF][START_REF] Telek | A minimal representation of markov arrival processes and a moments matching method[END_REF]. A MAP is characterized by two d×d matrices (D

(k) 0 , D (k) 1 )
, where the entry (j, j ) of

D (k) 1
is the transition rate from state j to j that is accompanied by an arrival and the entry (j, j ) of D (k) 0 is the transition rate from state j to j (with j = j ) without arrival. Let φ (k) be the stationary distribution of this process, i.e., the unique stochastic vector such that φ (k) (D

(k) 0 + D (k)
1 ) = 0. Note that the request rate λ k of item k can be expressed as

λ k = φ (k) D (k) 1 e
, where e is a column vector of ones. Setting the matrices D 0 ev (k) , with v (k) is a stochastic vector, implies that item k is requested according to a phase-type renewal process characterized by (v (k) , D (k) 0 ) (where v (k) holds the initial phase probabilities and D (k) 0 is the subgenerator matrix of the phase-type inter-arrival time distribution). Extending the previous section, we define a discrete-time Markov chain (X n , S n ), where X n is the list in which item k appears and S n is the state of the MAP process at time t n (recall that t n is the n-th time that item k is requested or is moved from one list to another list). This Markov chain has d(h + 1) states and its transition probability matrix P M AP k is given by

P M AP k =         0 (-D (k) 0 ) -1 D (k) 1 e D (k) 0 T1 0 A (k) 1 . . . . . . . . . e D (k) 0 T h-1 0 A (k) h-1 e D (k) 0 T h A (k) h        
, where

A (k) = T t=0 e D (k) 0 T dtD (k) 1 = (I -e D (k) 0 T )(-D (k) 0 ) -1 D (k) 1 .
Indeed (e D (k) 0 T ) i,j is the probability that there are no arrivals in an interval of length T , the MAP state at the start of the interval equals i and the MAP state at the interval is j. Similarly, (A (k) ) i,j is the probability of starting in the MAP state i, having an arrival at time t < T , while the MAP state equals j at time t. Due to the block structure of P M AP k , its steady state vector (π k,0 , πk,1 , . . . , πk,h ) obeys [START_REF] Latouche | Introduction to Matrix Analytic Methods and stochastic modeling[END_REF] πk, = πk,

0 s=1 R k,s , (5)
for = 1, . . . , h, where the matrices R k,s can be computed recursively as

R k,h = A (k) h-1 (I -A (k) h ) -1 , (6)
R k, = A (k) -1 I -R k, +1 e D (k) 0 T +1 -1 , (7)
for = 1, . . . , h -1 and h > 1.

We also define the average time (N k, ) j,j that item k spends in state j in (t n , t n+1 ) given that X n = ( , j), for j, j ∈ {1, . . . , d}. Let N k, be the matrix with entry (j, j ) equal to (N k, ) j,j , then

N k, = T t=0 e D (k) 0 t dt = (I -e D (k) 0 T )(-D (k) 0 ) -1 , for ≥ 1 and N k,0 = (-D (k) 0 ) -1 . The fixed point equations for T 1 to T h given in (3) generalize to m = n k=1 πk, N k, e h j=0 πk,j N k,j e . ( 8
)
The hit probability h in list can subsequently be computed as

h = 1 n s=1 λ s n k=1 πk, N k, D (k) 1 e h j=0 πk,j N k,j e , (9)
for = 0, . . . , h, where λ k / n s=1 λ s is the probability that the requested item is item k and πk, N k, D

1 e/λ k ( h j=0 πk,j N k,j e is the probability that item k is in list if we observe the Markov chain of item k only at a request times (which differs from πk, N k, e in case of MAP arrivals).

Remark. As in the IRM case we can also derive a set of fixed point equations for the RAND(m) replacement algorithm with MAP arrivals by assuming an exponential sojourn time in list with mean T . The continuous time Markov chain that keeps track of the list that contains item k in case of MAP arrivals is given by

Q M AP k =         D (k) 0 D (k) 1 µ 1 I D (k) 0 -µ 1 I D (k) 1 . . . . . . . . . µ h-1 I D (k) 0 -µ h-1 I D (k) 1 µ h I D (k) -µ h I         , (10)
and the set of fixed point equations to determine T 1 to T h readily follow.

TTL approximation for h-LRU 3.2.1. IRM setting

As in [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF], our approximation for h-LRU is obtained by assuming that an item that is not requested spends a deterministic time T in list , independently of the identity of this item. For now we assume that T 1 ≤ T 2 ≤ . . . ≤ T h . We will show that the fixed point solutions for T 1 to T h always obey these inequalities. We start by defining a discrete-time Markov chain (Y n ) n≥0 by observing the system just prior to the time epochs that item k is requested. The state space of the Markov chain is given by {0, . . . , h}. We say that Y n = 0 if item k is not in any of the lists (just prior to the nth request). Otherwise, Y n = if item k is in list , but is not in any of the lists + 1 to h. In short, the state of the Markov chain is the largest id of the lists that contain item k.

1 2 . . . . . . h 1 -e -p k T1 1 -e p k T1 1 -e -p k T2 1 -e -p k T3 1 -e -p k T h 1 -e -p k T h e -p k T3 e -p k T h e -p k T2
If Y n = , then with probability 1 -e -p k T , item k is requested before time T in which case we have Y n+1 = + 1. Otherwise, due to our assumption that T ≥ T -1 ≥ . . . ≥ T 1 we have Y n+1 = 0 as in this case item k was discarded from all lists. Therefore the transition probability matrix Ph,k of the h

+ 1 state Markov chain (Y n ) n≥0 is given by Ph,k =        e -p k T1 1-e -p k T1 e -p k T2 1-e -p k T2 . . . . . . e -p k T h 1-e -p k T h e -p k T h 1-e -p k T h        . (11)
This Markov chain is represented in Figure 2. Let π(h,k) = (π

(h,k) 0 , . . . , π(h,k) h
) be the stationary vector of Ph,k , then the balance equations imply:

π(h,k) = ξ π(h,k) 0 s=1 (1 -e -p k Ts ), (12)
for = 1, . . . , h, where ξ = 1 for < h and ξ h = e p k T h . The probability π(h,k) h that item k is in the cache just before a request (which by the PASTA property is also the steady-state probability for the item to be in the cache) can therefore be expressed as

π(h,k) h = h s=1 (1 -e -p k Ts ) h s=1 (1 -e -p k Ts ) + e -p k T h 1 + h-1 =1 s=1 (1 -e -p k Ts ) . ( 13
)
Due to the nature of h-LRU, T 1 can be found from analyzing LRU, T 2 from 2-LRU, etc. Thus, it suffices to define a fixed point equation for

T h . Under the IRM model this is simply m = n k=1 π(h,k) h
, due to the PASTA property. These fixed point equations can be generalized without much effort to renewal arrivals as explained in Appendix A.

Proposition 1. The fixed point equation m = n k=1 π(h,k) h has a unique solution T h which is such that T h ≥ T h-1 .
Proof. By reordering the terms in the denominator the fixed point equation for h ≥ 2 can be written as m = f h (T h ), where

f h (x) = n k=1 (1 -e -p k x ) h-1 s=1 e k,s h-1 s=1 e k,s + e -p k x 1 + h-2 j=1 j s=1 e k,s
, with e k,s = (1 -e -p k Ts ). The function f h (x) is clearly an increasing function in x and therefore m = f (x) has a unique solution T h . Further,

f h (T h-1 ) = n k=1 (1 -e -p k T h-1 ) h-1 s=1 e k,s h-1 s=1 e k,s + e -p k T h-1 1 + h-2 j=1 j s=1 e k,s < n k=1 h-1 s=1 e k,s h-1 s=1 e k,s + e -p k T h-1 1 + h-2 j=1 j s=1 e k,s = n k=1 π(h-1,k) h-1 = m, meaning T h ≥ T h-1 .
The above fixed point equations are derived from Ph,k , which relied on the assumption that T 1 ≤ . . . ≤ T h . If we do not make any assumptions on the T i values we need to consider a 2 h state Markov chain (as an item can be part of any subset of the h lists) and derive a set of m fixed point equations from its steady state. The next proposition shows that the solution of this set of fixed equations is such that T 1 ≤ . . . ≤ T h , which shows that we can compute the T i values from the h + 1 state Markov chain without loss of generality.

Proposition 2. Any solution to the fixed point equations for the 2 h state Markov chain is such that

T 1 ≤ T 2 ≤ . . . ≤ T h .
Proof. Using induction we prove that the fixed point solutions obey T 1 ≤ . . . ≤ T h . We assume that T 1 ≤ . . . ≤ T h-1 (which trivially holds for h = 2) and show that the fixed point equation for T h does not have a solution for

T h ∈ (0, T h-1 ). When T 1 ≤ . . . ≤ T h-1 and T h < T h-1
we still obtain a h + 1 state discrete-time Markov chain by observing the largest id of the list that contains item k just prior to the time epochs that item k is requested. The transition probability matrix is identical to Ph,k except that the last two rows need to be modified. The key thing to note is that when

T h < T h-1 item k is part of list h -1
whenever it is part of list h. Therefore, if item k enters (or remains in) list h upon arrival it is still in list h when the next request for item k occurs with probability 1 -e -p k T h , while with probability e -p k T h (1 -e -p k (T h-1 -T h ) ) it is removed from list h, but still in list h -1. Finally with probability e -p k T h-1 the item is also removed from list h -1 in which case it is no longer part of any list as T 1 ≤ . . . ≤ T h-1 (hence, the relative order of T h-1 and T i for i < h -1 is irrelevant). As such the last two rows of the transition probability matrix are both equal to

(e -p k T h-1 , 0, . . . , 0, e -p k T h -e -p k T h-1 , 1 -e -p k T h ). Let (π (h,k) 0 , . . . , π(h,k) h
) be the invariant vector of this modified Markov chain, then it is easy to see that

π(h,k) h-1 + π(h,k) h = π(h-1,k) h-1
, as lumping the last two states into a single state results in the matrix Ph-1,k . Hence the fixed point equation

n k=1 π(h,k) h = m cannot have a solution as n k=1 π(h,k) h < n k=1 (π (h,k) h-1 + π(h,k) h ) = n k=1 π(h-1,k) h-1 = m. When h = 2 Equation (13) simplifies to (1 -e -p k T1 )(1 -e -p k T2 )/(1 -e -p k T1 + e -p k T2
) which coincides with the hit probability of the so-called refined model for 2-LRU presented in [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF]Eqn (9)]. For h > 2 only an approximation that relied on an additional approximation of independence between the h lists was presented in [17, see Eqn [START_REF] Fricker | A versatile and accurate approximation for LRU cache performance[END_REF]]. In Figure 3 we plotted the ratio between our approximation and the one based on [START_REF] Fricker | A versatile and accurate approximation for LRU cache performance[END_REF] of [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF]. The results indicate that the difference grows with increasing h and decreasing the Zipf parameter α. In other words, the difference decreases as the popular items gain in popularity.

As [START_REF] Jelenković | Least-recently-used caching with dependent requests[END_REF] does not rely on the additional independence approximation, we expect that its approximation error is smaller and even tends to zero as m tends to infinity. This is confirmed by simulation and we list a small set of randomly chosen examples in Table 1 to illustrate. 13) and ( 10) of [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF] as a function of the cache size with n = 1000 items with a Zipf-like popularity distribution with parameter α.

α = 0.2 α = 0.4 α = 0.6 α = 0.8 α = 1.0 α = 1.2 α = 1.4 (b) h = 5

MAP arrivals

For order d MAP arrivals, characterized by (D

(k) 0 , D (k)
1 ) for item k, we obtain a (h + 1)d state MC by additionally keeping track of the MAP state immediately after the requests (this construction is done by assuming that, as for IRM arrivals, T 1 ≤ . . . ≤ T h for the solutions to the fixed point equations. This can be proven using a monotonicity argument similar to the one used in Proposition 2). The transition probability matrix has the same form as Ph,k , we only need to replace the probabilities of the form e -p k T by e D (k) 0 T (-D

(k) 0 ) -1 D (k)
1 and 1-e -p k T by (I -e

D (k) 0 T )(-D (k) 0 ) -1 D (k) 1 . Note that (e D (k) 0 T (-D (k) 0 ) -1 D (k)
1 ) i,j is the probability that we start in MAP state i, the next request for item k occurs after time T and the MAP state when item k is requested next is j. In order to express the fixed point equations we need to determine the probability that item k is in the cache at a random point in time as the PASTA property does not hold in case of MAP arrivals. Using a standard argument we have that the probability that item k is in the cache at a random point in time equals (π

(h,k) h-1 + π(h,k) h ) T h 0 e D (k) 0 u du e 1/λ k ,
where λ k is the request rate of item k and entry j of π(h,k) is the probability that item k is in list (but not in lists + 1, . . . , h) just prior to a request of item k and the MAP state immediately after the request is j. The fixed point equation for determining T h can therefore be expressed as

m = n k=1 (π (h,k) h-1 + π(h,k) h )(I -e D (k) 0 T h )(-D (k) 0 ) -1 e 1/λ k , ( 14
)
where λ k is the request rate of item k. Due to the structure of the transition probability matrix of the (h + 1)d state Markov chain, the vectors π(h,k) obey

π(h,k) = π(h,k) 0 s=1 (I -e D (k) 0 Ts )(-D (k) 0 ) -1 D (k) 1 Ξ , for = 1, . . . , h, where Ξ = I for < h and Ξ h = (I -(I -e D (k) 0 T h )(-D (k) 0 ) -1 D (k)
1 ) -1 . Finally, let ν (k) be the stochastic invariant vector of (-D

(k) 0 ) -1 D (k)
1 , that is, its d entries contain the probabilities to be in state 1 to d immediately after an arrival. Hence, π(h,k) 0 can be computed by noting that

h =0 π(h,k) = ν (k) .
h Simul. Eq. ( 10) of [START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF] (err) Eq. ( 13

Asymptotic Exactness of the approximations

In this section, we provide evidence that the TTL approximations presented in the previous section are asymptotically exact as cache size and the number of items tends to infinity. We first provide numerical evidence. We then show that the transient behavior of LRU(m) and h-LRU converges to a system of ODEs. By using a change of variable, these ODE can be transformed into PDEs whose fixed points are our TTL approximations.

Numerical validation

Numerical procedure to solve the fixed-point equations

The only costly operation when evaluating the performance of h-LRU and LRU(m) is to solve the fixed point equations ( 14) and ( 8). As we explain below, for h-LRU computing T 1 , . . . , T h corresponds to solving h one dimensional problems whereas for LRU(m), computing T 1 . . . T h corresponds to solving a single hdimensional one.

The computation time for h-LRU scales linearly with the number of lists: by construction, the first h -1 lists of a h-LRU cache behave like an (h-1)-LRU cache. Once T h-1 has been computed, the right-hand side of the fixed point equation ( 14) is increasing in T h and can therefore be easily solved. For LRU(m) solving the fixed point equations is more costly. In our experiments the fixed point of Equation ( 8) is computed by an iterative procedure that updates the values T in a round-robin fashion. This iterative procedure is detailed in Algorithm 1. It works well for up to h ≈ 5 lists, but becomes very slow for a large number of lists. At this stage we do not have a proof that this algorithm converges, but it appears to do so in practice.

Synthetic data-set

We assume that the inter-request times of item k follow a hyperexponential distribution with rate zp k in state one and p k /z in state two, while the popularity distribution is a Zipf-like distribution with parameter

α, i.e., p k = (1/k α )/ n i=1 1/i α .
Correlation between consecutive inter-request times is introduced using the parameter q ∈ (0, 1]. More precisely, let

D (k) 0 = p k -z 0 0 -1/z , and
D (k) 1 = p k q z 1/z z 1 + z 1 1 + z -(1 -q)D (k) 0
.

The squared coefficient of variation (SCV) of the inter-request times of item k is given by 2(z 2 -z + 1)/z -1 and the lag-1 autocorrelation of inter-request times of item k is

ρ 1 = (1 -q) (1 -z) 2 2(1 -z) 2 + z .
In other words the lag-1 autocorrelation decreases linearly in q and setting q = 1 implies that the arrival process is a renewal process with hyperexponential inter-request times. Setting z = 1 reduces the model to the IRM model.

Accuracy of the approximation for LRU(m) and h-LRU

To test the accuracy of our approximations, we implemented a stochastic simulator of h-LRU and LRU(m). We use the hyperexponential distribution described in the previous section.

In Table 2, we compare the accuracy of the model with time consuming simulations (based on 5 runs of 2 • 10 6 requests) for LRU(m). We observe a good agreement between the TTL approximation and simulation that tends to improve with the size of the system (i.e., when n increases from 100 to 1000).

For h-LRU, the TTL approximation for the IRM model was already validated by simulation in Table 1. Using the same numerical examples as for LRU(m) we now demonstrate the accuracy of the TTL approximation under MAP arrivals in Table 3. Simulation results are based on 5 runs containing 2 • 10 6 requests each. As for LRU (m), the TTL approximation is in good agreement with the simulation and tend to be more accurate as the number of items grows.

Asymptotic behavior and TTL approximation

In this subsection, we construct two systems of ODEs: Equation ( 19) for h-LRU and Equation (26) for LRU(m). We prove that the solutions of these ODEs are approximations of the transient behavior of LRU(m) and h-LRU that become exact as the popularity of the most popular item decreases to zero (regardless of the cache size). To ease the presentation, we present the convergence result when the arrivals follow a discrete-time IRM model: time is slotted and at each time-step item k has a probability p k of being requested.

n q z h 0 h 1 h 2 model (
Theorem 1. Consider the IRM model. Let H (t) be the sum of the popularity of the items of list and h (t) be the corresponding ODE approximation (Equation (19) for h-LRU and Equation (26) for LRU(m)).

Then: for any time T , there exists a constant C such that

E sup t≤T / √ max k p k |H (t) -h (t)| ≤ C max k p k ,
where C does not depend on the probabilities p 1 . . . p n , the cache size m or the number of items n.

Remarks:

• The above result concerns the transient regime of the hit rate. In each case, we will show that the ODE can be transformed into a PDE that has the same fixed point as the TTL approximation developed in Section 3. This does not fully guarantee the asymptotic exactness of the TTL approximation. To show that, one would in addition need to show that all trajectories of the PDE converge to their fixed point. We believe that this is the case but we have no proof of this result so far.

• Our proof of this result is to use an alternative representation of the state space that allows us to use techniques from stochastic approximation. We associate to each item k a variable τ k (t) that we call the request time of item k and that is the time of the most recent request of item k before time t and an additional variable that tracks if an item appears in a list. Our approximation is given by an ordinary differential equation (ODE) on x k, ,b (t) that is an approximation of the probability that τ k (t) is greater than b while appearing in a list . In each case, we show that the fixed point of the PDE corresponds to the TTL approximation of LRU(m) and h-LRU presented in Sections 3.1 and 3.2.

• This proof can be adapted to the case of MAP arrivals but at the price of more complex notations. Indeed, for IRM, our system of ODEs is given by the variables x k, ,b (t) (or x k,b (t) for LRU(m)) which are essentially an approximation of the probability for item k to be in a list while having been requested between time b and t. If the arrival process of an item is modeled by a MAP with d states, then our approximation would need to consider x k, ,b,j (t) which would approximate the probabilities for the MAP of item k to be in state j, for item k to be in list and having being requested between b and t.

4.2.1. Proof of Theorem 1: the case of LRU Before presenting the complex cases of h-LRU and LRU(m), we first construct the ODE approximation for LRU. The main purpose of this section is to serve as a basis for the more complex cases of h-LRU and LRU(m). Note that in the simpler case of LRU the proof of the validity of the TTL approximation could rely on a more direct argument that uses a simple property of the steady state distribution: the items in the cache are the m most recently requested. This argument, used in [START_REF] Fricker | A versatile and accurate approximation for LRU cache performance[END_REF][START_REF] Jiang | LRU cache under stationary requests[END_REF], makes an easy connection between the LRU cache and the TTL approximation cache: the TTL of a LRU-cache is the mth order statistics of n non-identically distributed, but independent random variables. For LRU(m) and h-LRU, there are strong dependencies between items that makes the approach of [START_REF] Fricker | A versatile and accurate approximation for LRU cache performance[END_REF][START_REF] Jiang | LRU cache under stationary requests[END_REF] impossible.

The cache contains m items. We denote 1 by Θ(t) = sup{b : n k=1 1 {τ k (t)≥b} ≥ m} the request time of the mth most recently requested item at time t. When using LRU, an item k having a request time τ k (t) greater or equal to Θ(t) is in the cache at time t. Let H(t) be the sum of the popularities of items in the cache:

H(t) = n k=1 p k 1 {τ k (t)≥Θ(t)} .
Our approximation of the probability for item k to have a request time after b, is given by the following ODE (for b < t):

ẋk,b (t) = p k (1 -x k,b (t)). (15)
with the initial conditions:

h(t) = n k=1 p k x k,θ(t) (t).
The key difficulty when comparing H(t) and h(t) is that the quantities 1 {τ k (t)≥Θ(t)} and x k,θ(t) (t) are not easily comparable. The key ingredient of our proof is then to use the same change of variables as in the proof of Theorem 6 of [START_REF] Gast | Transient and steady-state regime of a family of list-based cache replacement algorithms[END_REF], which is to consider the variables P δ,b (t) and ρ δ,b (t):

P δ,b (t) = a 1-δ n k=1 (p k ) δ 1 {τ k (t)≥b} and ρ δ,b (t) = a 1-δ n k=1 (p k ) δ x k,b (t)
where a := max n k=1 p k . These variables are defined for δ ∈ {0, 1, . . . } and b ∈ Z. They live in a set of infinite dimension P: The proof of the theorem relies on the following result of stochastic approximation. For completeness, we provide a proof of Lemma 1 in Appendix B. Lemma 1. Let f : P → span(P) be a Lipchitz continuous function with constant aL such that sup x∈P f (x) ∞ ≤ a ≤ 1 and f (x) -x ∈ P. Let X be a P-valued stochastic process adapted to a filtration F such that E [X(t + 1) -X(t) | F t ] = f (X(t)) and E X(t + 1) -X(t) 2 ∞ ≤ a 2 . Then, the ODE ẋ = f (x) has a unique solution x X(0) that starts in X(0) and for any T > 0,

E sup t≤T /a X(t) -x X(0) (t) 2 ∞ ≤ T (2L + 1) exp(2T L)a.
To apply this result, we use the fact that:

• The functions ρ δ,b are solutions of the system of ODEs d/dtρ δ,b (t) = f δ,b (ρ), where:

f δ,b (ρ) = a 1-δ ( k (p k ) δ+1 ) -aρ δ+1,a (t).
where f : P → span(P) is a Lipschitz-continuous function.

• f is the drift of the stochastic system: indeed, P δ,b (t) changes if the requested item has a request time prior to b. If this item is k, then P δ,b (t + 1) = P δ,b (t) + a 1-δ (p k ) δ . This shows that

E [P δ,b (t + 1) -P δ,b (t) | F t ] = n k=1 p k a 1-δ (p k ) δ 1 {τ k (t)<b} = f δ,b (P (t)),
where (F t ) denotes the natural filtration associated to the stochastic process P .

• The variance of P (t) is bounded:

E P (t+1)-P (t) 2 ∞ |P = E sup δ,b |P δ,b (t+1)-P δ,b (t)| 2 |F t = E |P 0,t (t+1)-P 0,t (t)| 2 |F t = a 2 .
By using Lemma 1, this implies that for each T > 0, there exists a constant C such that E sup t≤T /a P (t) -ρ(t) 2 ∞ ≤ Ca 2 . Lemma 2, whose is given in Appendix B, concludes the proof for LRU.

Lemma 2. Let g m : P → [0, 1] be the function defined by g m (ρ) = ρ 1,θ , where θ = sup{b : ρ 0,b ≥ m}. The function g m (ρ) is Lipschitz-continuous on P with the constant 2.

Note that Equation ( 15) can be transformed into a PDE by considering the change of variable y k,s (t) = x k,t-s (t). The quantity y k,s (t) is an approximation of the probability for an item k to have been requested between t -s and t. The set of ordinary differential Equations (15) can then be naturally transformed in the following PDE:

∂ ∂t y k,s (t) = p k (1 -y k,s (t)) - ∂ ∂s y k,s (t). ( 16
)
The fixed point y of the PDE can be obtained by solving the equation ∂ ∂t y = 0. This fixed point satisfies y k,s = 1 -e -p k s . For this fixed point, the quantity T = t -θ satisfies m = n k=1 (1 -e -p k T ). This equation is the same as the TTL approximation, given by Equation (1).

h-LRU

The construction for LRU can be extended to the case of h-LRU by adding to each item h variables L k, (t) ∈ {true, false}. For item k and a list , L k, (t) equals true if item k was present in list just after the last request2 of item k and false otherwise. Similarly to the case of LRU, we define the quantity Θ (t) to be the request time of the least recently requested item that belongs to list at time t, that is,

Θ (t) = sup{b : n k=1 1 {τ k (t)≥b∧L k, (t)} ≥ m}.
We then define x k, ,b (t) that is an approximation of the probability for item k to have τ k (t) ≥ b and L (t) = true.

As L 1 (t) is always equal to true, the ODE approximation for x k,1,b (t) is the same as [START_REF] Johnson | 2Q: A low overhead high performance buffer management replacement algorithm[END_REF]. Moreover, this implies that Θ 1 (t) ≥ Θ (t) for ≥ 2. For the list = 2, the approximation is obtained by considering the evolution of L 2 (t). After a request,

L 2 (t + 1) is true if τ k (t) ≥ Θ 1 (t) or if (τ k (t) ≥ Θ 2 (t) and L 2 (t) = true).
Both these events occur if (τ k (t) ≥ Θ 1 (t) and L 2 (t) = true) as Θ 1 (t) ≥ Θ 2 (t). This suggests that, if the item k is requested, then, in average L k,2 (t + 1) is approximately x k,1,θ1(t) + x k,2,θ2(t) -x k,2,θ1(t) , which leads to the following ODE approximation for

x k,2,b : ẋk,2,b = p k (x k,2,θ2(t) + x k,1,θ1(t) -x k,2,θ1(t) -x k,2,b ), (17)
where θ (t) = sup{b : n k=1 x k, ,b (t) ≥ m} for ∈ {1, 2}. The formulation for the third list and above is more complex. In Section 3.2, we showed that the computation of the fixed point is simple because the quantities T of the fixed point satisfy

T 1 ≤ T 2 • • • ≤ T h .
However, for the stochastic system, we do not necessarily have3 Θ (t) ≥ Θ +1 (t) when ≥ 2, which implies that the ODE approximation for h-LRU has 2 h-1 terms.

Applying the reasoning of L k,2 to compute L k, ( ≥ 3) involves computing the probability of (τ k (t) ≥ Θ -1 (t) and L k, -1 (t) = true) or (τ k (t) ≥ Θ (t) and L k, (t) = true). When Θ (t) ≤ Θ -1 (t), both these events occur if (τ k (t) ≥ Θ -1 (t) and L k, (t) = L k, -1 (t) = true). This suggests that the ODE for x k, ,b (t) has to involve a term x k,{ -1, },θ -1 (t) (t), that is an approximation for the item k to have a request time after θ -1 (t) and such that L k, -1 (t) = L k, (t) = true. Note, for = 2 we have x k,{ -1, },b (t) = x k, ,b (t) as L k,1 (t) is always true, but this does not hold for > 2. This leads to:

ẋk, ,b = p k (x k, ,θ (t) + x k, -1,θ -1 (t) -x k,{ -1, },max{θ -1 (t),θ (t)} -x k, ,b ), (18)
A similar reasoning can be applied to obtain an ODE for

x k,{ -1, },b (t) as a function of x k,{ -1, },b (t), x k,{ -2, -1, },b (t) and x k,{ -2, },b (t).
For example, for = 3 the changes of x k,{2,3},b (t) are caused by items that were only in lists 2 or in list 3 and that are now in both lists {2, 3}, or by items that leave list {2, 3}. Hence, for {2, 3}, Equation (17

) becomes ẋk,{2,3},b (t) = x k,2,θ2(t) +x k,3,θ1(t) -x k,{2,3},θ1(t) -x k,{2,3},b as L k,1 (t) is always true.
The hit probability of list used in Theorem 1 is then

h (t) = n k=1 x k, ,θ (t) (t), ( 19
)
where the variables x k, ,b satisfy the above ODE.

The proof that the ODE (18) describes well the transient behavior of h-LRU is almost identical to the corresponding proof for LRU. For example, if we focus on the case of 2-LRU4 , the main idea would be to define the quantities ρ δ, ,b (t) and P δ, ,b (t) (for ∈ {1, 2}):

ρ δ, ,b (t) = a 1-δ n k=1 (p k ) δ x k, ,b (t); and P δ, ,b (t) = a 1-δ n k=1 (p k ) δ 1 {τ k (t)≥b∧L k, (t)} . Equation (17) implies that ρδ,2,b = a(ρ δ+1,2,θ2(t) + ρ δ+1,1,θ1(t) -ρ δ+1,2,θ1(t) -ρ δ+1,2,b ). ( 20
)
Lemma 2 implies that the quantity g m, (ρ) = ρ 1, ,θ , where θ is such that ρ 0, ,θ = m, is a Lipschitz function of ρ with constant 2. It follows that the right-side of the ODE Equation ( 20) is Lipschitz-continuous with constant 4a. As for LRU, the right side of Equation ( 20) is the average variation of P δ,2,b and that the second moment of the variation is bounded by a. Lemma 1 concludes the proof for 2-LRU.

As for LRU, we can transform ( 17) into a PDE by using the change of variables y k, ,s (t) = x k, ,t-s (t) and T (t) = t -θ (t). For example, for = 2, the fixed point y of this PDE satisfies

0 = p k (y k,2,T2 + y k,1,T1 -y k,2,T1 -y k,2,s ) - ∂ ∂s y k,2,s .
The solution of this ODE in s is given by

y k,2,s = (y k,2,T2 -y k,2,T1 + y k,1,T1 )(1 -e -p k s ) (21) = y k,1,T1 1 + e -p k T2 -e p k T1 (1 -e -p k s ), (22)
where we use (21) for s = T 1 and s = T 2 to obtain (22). In Section 4.2.1, we have shown that y k,1,T1 = 1 -e -p k T1 where T 1 is such that n k=1 y k,1,T1 = m. One can verify that replacing y k,1,T1 by 1 -e -p k T1 in Equation ( 22) with s = T 2 leads to Equation (13).

LRU(m)

The construction of the approximation and the proof for the case of LRU(m) is more involved because of discontinuities in the dynamics. We replace the request time by a quantity that we call a virtual request time that is such that the m h items that have the largest virtual request times are in list h. The next m h-1 are in list h -1, etc. At time 0, we initialize the virtual request times to be minus the position of the item in the cache. The virtual request time of an item changes when this item is requested. If the item was in list h or h -1 prior to the request, its virtual request time becomes t + 1. If the item was in a list ∈ {0 . . . h -2}, its virtual request time becomes the largest virtual request time of the items in list + 1.

The approximation of the distribution of virtual request times is given by an ODE on the quantities x k,b (t) that are meant to be an approximation of the probability that the item k has a virtual request time after b:

ẋk,b (t) = p k (x k,θ ζ b (t)-1 (t) (t) -x k,b (t)), ( 23
)
where θ (t) and ζ b (t) are defined by:

θ (t) = sup{b : n k=1 x k,b (t) ≥ m h + • • • + m } (24) ζ b (t) = max{ : θ (t) ≤ b} (25)
In the above equation, θ (t) is an approximation of the highest virtual request time of an object that is in list -1 (at time t) and ζ b (t) is the list in which an item with a request time b is (at time t).

virt. request time

θ 1 θ 2 θ 3 θ 4 = h x x x x x x x x x x x x items in list 2 items in list h = 4 b request Figure 4:
The evolution of virtual request times. Each "x" corresponds to the virtual request time of an object. We consider a LRU(m) cache with 4 lists. The objects that have a virtual request time betwee, θ 2 and θ 3 are in list 2. If a request item has a virtual request time between θ 1 and b, then its virtual request time will be higher than b at the next time step.

The intuition behind Equation ( 23) is as follows. The quantity x k,b (t) is meant to be an approximation of the probability that item k has a virtual request time after b. Hence, this probability evolves because there is a probability that object k had a virtual request time prior to b and that now has a virtual request time b or after. This occurs if item k had a virtual request time between θ ζ b (t)-1 (t) and b and was requested (in which case its new virtual request time is θ ζ b (t)+1 (t) ≥ b). Otherwise, if the item k had a virtual request time prior to θ ζ b (t)-1 (t), then upon request it jumps to a list < ζ b (t) -1 and therefore will keep a virtual request time prior to b. Figure 4 illustrate how virtual request times evolve.

The hit ratio for LRU(m) used in Theorem 1 is given by

h (t) = n k=1 p k (x k,θ (t) (t) -x k,θ +1 (t) (t)) (26)
The main difference between the proof for LRU(m) compared to the one of h-LRU is that the right-side of the differential equation ( 23) is not Lipschitz-continuous in ρ because the list in which an item that has a virtual request time b belongs to depends non-continuously on ρ (the list ζ b is a discrete quantity). Our method to overcome this difficulty is prove that the drift is partially one-sided Lipschitz-continuous functions (in a sense that will me made precise in Lemma 3).

As before, let P δ,b (t) = a 1-δ n k=1 (p k ) δ 1 {τ k (t)≥b} , where a = max n k=1 p k . We also define f : P → span(P) by f δ,b (ρ) = a(ρ δ+1,θ ζ b -1 -ρ δ+1,b ), where θ and ζ b are two functions of ρ that are defined by

ρ 0,θ = m + • • • + m h and θ ζ b ≤ b < θ ζ b +1 .
As for the the cases of LRU and h-LRU, one can verify that f δ,b is the average variation of P δ,b (t) during one time step and that the second moment of the average variation is bounded by a 2 . Moreover, if x is a solution of the differential equation ( 23

), then ρ δ,b (t) = n k=1 x k,b (t) is a solution of the differential equation ρ = f (ρ).
The next lemma -whose proof is given in Appendix B.1 -states some key properties of the function f . In particular, (i) quantifies what we mean by partially one-sided Lipschitz. Lemma 3. For any ρ, ρ ∈ P and δ ≥ 1, we have:

(i) (ρ 0,b -ρ 0,b )(f 0,b (ρ) -f 0,b (ρ )) ≤ 2a ρ -ρ 2 ∞ ; (ii) f (ρ) ∞ ≤ a; (iii) |f δ,b (ρ) -f δ,b (ρ ) -(f 0,b (ρ) -f 0,b (ρ ))| ≤ 5a ρ -ρ ∞ .
Let V (t) ∈ P be the vector defined by V δ,b (t) = P δ,b (t + 1) -P δ,b (t) -f δ,b (P (t)). By using the definition

P δ,b (b) = ρ δ,b (b), the fact that ρ δ,b (t) = ρ δ,b (b) + t b f δ,b (ρ(s)
)ds, and Lemma 3(iii), we have

|P δ,b (t)-ρ δ,b (t)| = t s=b (f δ,b (P ( s )) -f δ,b (ρ(s)))ds + t-1 s=b V δ,b (s) (27) ≤ t s=b f 0,b (P ( s )) -f 0,b (ρ(s))ds + 5a t s=b P ( s ) -ρ(s) ∞ ds + t-1 s=b V (s) ∞ ≤ |P 0,b (t) -ρ 0,b (s)| + 5a t s=b P ( s ) -ρ(s) ∞ ds + 2 t-1 s=b V (s) ∞ , (28)
where the last line comes from the reverse triangle inequality applied to Equation ( 27) with δ = 0. As at most one item change list at each time-slot, we have V (s) ∞ ≤ a. Moreover, by using Gronwall's Lemma, Equation (28) implies that

P (t)-ρ(t) ∞ ≤ |P 0,b (t) -ρ 0,b (s)| + 5a t s=b P ( s ) -ρ(s) ∞ ds + 2at ≤ (|P 0,b (t) -ρ 0,b (s)| + 2at)e 5at . (29)
In order to bound the previous equation, we will use Lemma

3(i) to bound |P 0,b (t) -ρ 0,b (t)|. As ρ is solution of the differential equation ρ = f (ρ), we have ρ(t + 1) = ρ(t) + 1 0 f (ρ(t + s))ds. This implies (P 0,b (t+1)-ρ 0,b (t+1)) 2 = (P 0,b (t) -ρ 0,b (t)+V 0,b (t)+f 0,b (P (t))+ 1 0 f 0,b (ρ(t+s))ds) 2 =(P 0,b (t) -ρ 0,b (t)) 2 + V 0,b (t) + f 0,b (P (t)) + 1 0 f 0,b (ρ(t + s))ds 2 +2 P 0,b (t) -ρ 0,b (t) V 0,b (t) +2 P 0,b (t)-ρ 0,b (t) f 0,b (P (t))+ 1 0 f 0,b (ρ(t+s))ds (30)
As at most one object changes list at each time step, we have E V (t)

2 ∞ | F t ≤ max k (p k ) 2 = a 2 .
This, pus the fact that f 0,b (•) ≤ a, implies that the expectation of the second term is smaller than 9a 2 . Moreover, f (P ) is the average variation of P , and therefore E [V (t) | F t ] = 0 which implies that the expectation of the third term is equal to 0. Moreover, The last term equals 2

1 0 P 0,b (t) -ρ 0,b (t) f 0,b (P (t)) + f 0,b (ρ(t + s)) ds = 2 1 0 P 0,b (t) -ρ 0,b (t + s) f 0,b (P (t)) + f 0,b (ρ(t + s)) ds + 2 1 0 ρ 0,b (t + s) -ρ 0,b (t) f 0,b (P (t)) + f 0,b (ρ(t + s)) ds (31)
≤ 4a

1 0 P (t) -ρ(t + s) 2 ∞ ds + 2a 2 , ( 32
) ≤4a P (t) -ρ(t) 2 ∞ + 4a 2 , (33)
where we use Lemma 3(i) to bound the first term of the Equation (31) and Lemma 3(ii) to bound its second term. We again used Lemma 3(ii) to bound (32).

Combining Equation (30) and (33) shows that

E |P 0,b (t) -ρ 0,b (t)| 2 ≤ 2a t s=b E P (s) -ρ(s) 2 ∞ + 13a 2 t (34)
Equation ( 29) implies that

P (t)-ρ(t) 2 ∞ ≤ (2 |P 0,b (t) -ρ 0,b (s)| 2 + 4a 2 t 2 )e 10at .
We can then plug the above inequality into Equation (34) to show that

E |P 0,b (t) -ρ 0,b (t)| 2 ≤ 2a t s=0 2E |P 0,b (s) -ρ 0,b (s)| 2 + 4a 2 t 2 e 10at + 13a 2 t = 4a t s=0 E |P 0,b (s) -ρ 0,b (s)| 2 e 10at + a(8a 2 t 2 e 10at + 13at)
By using the discrete Gronwall's inequality, for all T , there exists a constant C = (8T 2 e 10T + 13T )e 2e 10T /3 such that this is less than Ca when t is less than T /a. Lemma 2 concludes the result.

Comparison of LRU, LRU(m) and h-LRU

In this section we start by presenting an insensitivity result for LRU, next we compare the performance of LRU, LRU(m) and h-LRU in terms of the achieved hit probability when subject to IRM, renewal, MAP requests and trace-based simulation. A good replacement algorithm should keep popular items in the cache, but needs to be sufficiently responsive to changes in the popularity. As LRU(m) and h-LRU are clearly better suited to keep popular items in the cache than LRU, they perform better under static workloads (IRM). We demonstrate that they often also outperform LRU when the workload is dynamic.

LRU insensitivity

The theorem presented in this subsection complements the results of Jelenkovic and Radovanovic who showed in [START_REF] Jelenković | Least-recently-used caching with dependent requests[END_REF][START_REF] Jelenkovic | Asymptotic insensitivity of least-recently-used caching to statistical dependency[END_REF] that for dependent request processes, the hit probability is asymptotically, for large cache sizes, the same as in the corresponding LRU system with i.i.d. requests. Our insensitivity result is valid not just asymptotically, but requires the request processes of the various items to be independent.

Theorem 2. Assume that the items' request processes are stationary, independent of each other and that the expected number of requests per unit time is positive and finite. Then, the hit probability of LRU only depends on the inter-arrival time distribution. In particular, it does not depend on the correlation between inter-arrival times.

Proof of Theorem 2. For each k, the requests of k are generated according to a stationary point process R k . For t < s, R k [t, s) is the number of requests of item k during a time interval [t, s]. Let ϑ k (t) be the time elapsed since the last request of item k. Without loss of generality, in the rest of the proof, we assume that the request process is simple (i.e. that with probability 1, the time between two consecutive requests of an item is never 0). If it is not the case, one can suppress any of the two request and obtain the same behavior of the LRU cache. Hence, the process (R k , ϑ k ) is a stationary marked point process that satisfies Hypothesis 1.1.1 of [START_REF] Baccelli | Elements of queueing theory: Palm Martingale calculus and stochastic recurrences[END_REF].

As R is stationary, the probability that the item k is requested during a time interval [t, t + x] does not depend on t. Let Fk (x) denote this quantity. We have:

Fk (x) = P [R k [t, t + x] ≥ 1] = P [R k [0, x] ≥ 1] .
We also define F k (x) that is the probability that the time between two requests from item k is smaller than x. As (R k , ϑ k ) is a stationary marked point process, this quantity is well defined and can be expressed as Note that the definition of F k (x) only requires the process R k to be stationary. When the process is a renewal process, F k (x) is the cumulative distribution function of the inter-request time.

F k (x) = P [R k [t, t + x] ≥ 1 | a request occurred a time t] = P [R k [0, x] ≥ 1 | a request
By the inversion formula [2, Section 1.2.4], Fk is a function of F k :

Fk (x) = λ k x 0 (1 -F k (t))dt, (35)
where

λ k = 1/ ∞ 0 (1 -F k (t)
)dt is the request rate of item k. This quantity only depends on F k and not on the correlation between two arrivals.

To conclude the proof, we remark that the probability that an item k is in the cache when it is requested can be expressed in terms of the functions F k and F for = k. Indeed, Let S n,-k be the set of permutation of {1 . . . k -1} {k + 1 . . . n} (i.e. all integers between 1 and n except k). An item is in the cache at time t if it is among the m items that were last requested. Hence, the probability for item k to be in the cache at time t is

σ∈S n,-k P ϑ k (t) ≤ ϑ σ(m) (t), ϑ σ(1) (t) ≤ • • • ≤ ϑ σ(n-1) (t) .
This event conditioned on the fact that item k is requested at time t is the probability that item k is in the cache when requested. Hence, the hit rate is:

k λ k σ∈S n,-k P ϑ k (t) ≤ ϑ σ(m) (t), ϑ σ(1) (t) ≤ • • • ≤ ϑ σ(n-1) (t) item k is requested at t .
This quantity can clearly be expressed as a function of the F k and Fk which by Equation ( 35) can be expressed solely as a function of the F k .

Synthetic (static) workloads

For the synthetic workloads we restrict ourselves to LRU, 2-LRU and LRU(m, m). The latter two algorithms both use a cache of size m and additionally keep track of meta-data only for the m items in list 1.

Figure 5a depicts the hit probability as a function of the cache size when n = 1000, items follow a Zipf-like popularity distribution with parameter α = 0.8 under IRM and renewal requests (with z = 10, see Section 4.1.2). Figure 5b shows the impact of having correlation between consecutive inter-request times (that is, q = 1/20 instead of q = 1 for z = 2, 10).

One of the main observations is that LRU(m, m) performs very similar to 2-LRU under IRM, renewal and MAP requests. In fact, 2-LRU performs slightly better, unless the workload is very dynamic (z = 10 and q = 1 case). Another conclusion that can be drawn from comparing Figures 5a and5b is that the hit rate of both 2-LRU and LRU(m, m) significantly improves in the presence of correlation between consecutive inter-request times (that is, when q < 1), while LRU does not. Recall that LRU(m) needs to update at most one list per hit, as opposed to h-LRU. Thus, whenever both algorithms perform alike, LRU(m) may be more attractive to use.

Figure 6 shows that the hit rate of 2-LRU and LRU(m, m) both increase with increasing lag-1 autocorrelation and confirms that the hit probability of LRU is completely insensitive to any correlation between consecutive inter-request times (as proven by Theorem 2). Figure 6 further indicates that the hit probability also increases with ρ 1 when splitting the cache in two lists of equal size (although the gain is less pronounced).

Trace-based simulation

To perform the trace-based simulations we rely on the same 4 IR cache traces as in [START_REF] Bianchi | Check before storing: What is the performance price of content integrity verification in LRU caching?[END_REF]Section 4]. In this section, we only report the result for the trace collected on Monday 18th Feb 2013. We also simulated the other traces and obtained very similar results.

The hit probability of LRU(m) with a split cache and/or virtual lists normalized by the LRU hit probability is depicted in Figure 7a as a function of the cache size m. It indicates that LRU(m) is more effective than LRU, especially when the cache is small. For small caches using a virtual list is better than splitting the cache and using both a virtual list and split cache offers only a slight additional gain. While not depicted here, we should note that using more virtual lists or splitting the cache in more parts sometimes results in a hit probability below the LRU hit probability for larger caches.

Figure 7b compares h-LRU with LRU(m) using virtual lists, where the hit probability is now normalized by the hit probability of LRU(m, m) to better highlight the differences. We observe that 2-LRU differs by less than 1% from LRU(m, m), while 5-LRU and LRU(m, m, m, m, m) differ by less than 2%. Given that h-LRU may require an update of up to h lists, while LRU(m) requires only one update in case of a hit, LRU(m) seems preferential in this particular case.

IRM combined with h-LRU

We now consider the same scenario as in the previous subsection, except that we replace LRU by h-LRU. The main questions we wish to answer are: does the optimal split cache still outperform the shared cache and how are the possible gains achieved the optimal split cache affected by the number of lists h. When combining h-LRU with a split cache, we split all of the h lists in two parts such that the first part has size m 1 . In other words CP k uses h-LRU where all the lists have size m k . Allowing different splits in each of the h lists may further improve the hit rate, but is not considered in this section.

Figure 10 plots the relative gains achieved by splitting the cache in the optimal manner when the cache size m = 80 and h-LRU is used instead of LRU. We first note that all the relative gains are at least one, meaning the optimal split cache also appears to outperform the shared cache for h-LRU. When comparing Figures 8a, 10a and 10b we further note that the gain achieved by the optimal split cache diminishes as h increases. Thus, when using h-LRU (combined with IRM requests) there is less use in implementing a split cache compared to LRU. This can be understood by noting that under the IRM model increasing h improves the hit probability of the shared cache and therefore it becomes harder to achieve significant gains by splitting the cache.

MAP requests

In this subsection we replace the IRM request process by the MAP process described in Section 4.1.2, where the inter request time distribution follows a hyperexponential distribution with rates z and 1/z. We only present results for LRU, for 2-LRU similar observations were made.

The scenario presented in Figure 11b is identical to Figure 8a except that the exponential inter request times are replaced by a hyperexponential distribution with z = 10 (note the value of q is irrelevant due to Theorem 2). We first note that as in the IRM case the optimal split cache achieves a higher hit rate than the shared cache. The relative gain is however much smaller. This can be attributed to the fact that higher hit rates are observed with hyperexponential inter request times, meaning there is less room for improvement by splitting the cache. If we further lower the cache size to m = 16 as in Figure 11a we observe larger relative gains. Comparing Figures 8 and11 shows that the optimal manner in which the cache is split depends heavily on the inter request time distribution as well as on the overall cache size.

Conclusion

In this paper, we developed algorithms to approximate the hit probability of the cache replacement policies LRU(m) and h-LRU. These algorithms rely on an equivalence between LRU-based and TTL-based cache replacement algorithms. We showed numerically that the TLL approximations are very accurate for moderate cache sizes and appear asymptotically exact as the cache size and number of items tends to infinity. We also provide theoretical support for this claim, by establishing a bound between the transient dynamics of both policies and a set of ODEs whose fixed-point coincides with the proposed TTL approximation.

Using these approximations, we showed that the hit probability of h-LRU and LRU(m) are comparable in many scenarios. We also studied how splitting the cache can improve the performance. Our numerical observations confirm that for all the tested parameters, the optimal split cache outperforms a shared cache. However, the gain appears to be limited for large cache sizes and the optimal splitting size is very sensitive to the parameters.

A possible extension of our results would be to study networks of caches in which LRU, LRU(m) or h-LRU is used in each node. Further, our TTL approximation with MAP arrivals can be readily adapted to other policies such as FIFO(m) and RAND(m) introduced in [START_REF] Gast | Transient and steady-state regime of a family of list-based cache replacement algorithms[END_REF]. In fact, a generalization to a network of caches would be fairly straightforward for the class of RAND(m) policies. Relative gain by splitting The solution of the ODE ẋ = f (x) that starts in X(0) satisfies x(t) = X(0)+ t s=0 f (x(s))ds. Let E(t) be such that X(t) = X(0) + t-1 s=0 f (X(s)) + E(t) = X(0) + t-1 0 f (X( s ))ds + E(t).

θ 1 = 0.6 θ 1 = 0.8 θ 1 = 1 θ 1 = 1.2 (b) h = 4
We have:

X(t) -x(t) ∞ ≤ t s=0 f (X( s )) -f (x(s)) ∞ + E(t) ∞ ≤ aL t s=0 X( s ) -x(s) ∞ + E(t) ∞ ,
where we used that f is Lipschitz-continuous of constant La.

Let X(t) be the the piecewise-linear interpolation of X such that X(t) = X(t) when t ∈ Z + . We have:

X( s ) -x(s) ∞ ≤ X( s ) -X(s) ∞ + X(s) -x(s) ∞ ≤ a + X(s) -x(s) ∞ ,
where we used that f (x) ∞ ≤ a. This shows that for any t ≤ T /a (with t ∈ Z + ): ).

X(t) -x(t) ∞ ≤
We then distinguish three cases: .

• If ζ b =

Figure 1 :

 1 Figure 1: Discrete-time Markov models that represents how Item k moves between lists in the TTL approximation of LRU(m).

1 =

 1 p k corresponds to the IRM case and letting D

  out

Figure 2 :

 2 Figure 2: Discrete-time Markov models that represents the highest lits in which Item k is in the TTL approximation of h-LRU.

Figure 3 :

 3 Figure 3: Ratio of the approximation of the hit rate for h-LRU under the IRM model based on (13) and (10) of[START_REF] Martina | A unified approach to the performance analysis of caching systems[END_REF] as a function of the cache size with n = 1000 items with a Zipf-like popularity distribution with parameter α.

6 for = 1 to h do 7 Find

 67 Input: D 0 , D 1 , m 1 , . . . , m h , Output: fixed point solution T1 , . . . , Tm 1 for = 1 to h do 2 T = n; 3 end 4 Th+1 = ∞, x = 1; 5 while x > do x ∈ (-T , T +1 ) such that (T 1 , . . . , T h ) equal to ( T1 , . . . , T + x, T +1 -x, . . . , Th ) minimizes |m -rhs of (8)|; 8 T = T + x; T +1 = T +1 -x; 9 end 10 end Algorithm 1: Iterative algorithm to compute the fixed point of (8).

  x k,b (0) = 1 {τ k (t)≥b} and x k,b (b) = 0 for b > 0. The initial condition x k,b (0) = 1 {τ k (t)≥b} corresponds to the state of the cache at time 0. The initial condition x k,b (b) = 0 for b > 0 indicate that at time b, no items have a request time higher than b.By analogy with the stochastic system, let θ(t) = sup{b :n k=1 x k,b(t) ≥ m}, be the time at which the sum of x k,b (t) equals to m. The approximation of the hit ratio for LRU is then given by

P

  = (P δ,b ) δ,b : ∃(x k,b ) non-increasing in b, bounded by 1 such that for all δ, b: P δ,b = a 1-δ n k=1 (p k ) δ x k,b . 1 Throughout the paper 1 {A} is the indicator function of an event A. It is equal to 1 if A is true and 0 otherwise. We equip P with the L ∞ norm and denote ρ ∞ = sup δ,b |ρ δ,b | the norm of a vector ρ ∈ P.

  occurred a time 0] Hypo10 LRU(m,m) (a) IRM model or hyperexponential inter-request times (with z = 10).

  Hypo10 LRU(m,m) (b) MAP arrivals (with z = 2, 10 and q = 1/20).

Figure 5 :

 5 Figure 5: Hit probability as a function of the cache size for LRU, LRU(m, m) and 2-LRU

Figure 6 :

 6 Figure 6: Hit probability as a function of the lag-1 autocorrelation ρ 1 for LRU, LRU(m, m), LRU(m/2, m/2) and 2-LRU when subject to MAP arrivals (with z = 10).

8 θ 1 = 1 θ 1 = 1 . 2 ( 8 θ 1 = 1 θ 1 = 1 . 2 ( 8 θ 1 = 1 θ 1 = 1 . 2 (

 811112811112811112 a) Gain of the optimal split -m = 80 b) Gain of the optimal split -m = 400 d) Optimal split size -m = 400

Figure 8 :

 8 Figure8: Relative hit rate gain by the optimal split cache and optimal size dedicated to the first CP under IRM requests with n 1 = n 2 = 1000, and Zipf popularity for the LRU replacement algorithm.

m 1 = m/ 4 m 1 = m/ 2 m 1 = 3m/ 4 (

 141214 b) θ1 = 1.2

Figure 9 :

 9 Figure 9: Relative hit rate gain of the split cache compared to a shared cache under IRM requests with n 1 = n 2 = 1000, m = 80 and Zipf popularity for the LRU replacement algorithm for m 1 = 20, 40 and 60.

Figure 10 : 8 θ 1 = 1 θ 1 = 1 . 2 ( 8 θ 1 = 1 θ 1 = 1 . 2 ( 8 θ 1 = 1 θ 1 = 1 . 2 (

 10811112811112811112 Figure 10: Relative hit rate gain by the optimal split cache compared to a shared cache under IRM requests with n 1 = n 2 = 1000, m = 80 and Zipf popularity for the h-LRU replacement algorithm.

Figure 11 :.

 11 Figure 11: Relative hit rate gain compared to a shared cache and optimal cache size dedicated to the first CP under hyperexponential requests (z = 10) with n 1 = n 2 = 1000, m = 80 and Zipf popularity for the LRU replacement algorithm.

2 ∞ ≤ E E(T ) 2 ∞ 3 Proof of Lemma 3 . 2 ∞- 1 )≤ a ρ -ρ 2 ∞

 2233212 ≤ aT.Proof of Lemma 2. Let ρ, ρ ∈ P. By definition of P, there exist x and x such thatρ δ,b = a 1-δ n k=1 (p k ) δ x k,b and ρ δ,b = a 1-δ n k=1 (p k ) δ x k,b .Let θ, θ be such that ρ 0,θ = ρ 0,θ = m and assume without loss of generality that θ ≤ θ. As x k,b is non-increasing in b, this implies that x k,θ ≥ x k,θ . Hence, we have:|ρ 1,θ -ρ 1,θ | = n k=1 p k (x k,θ -x k,θ ) ≤ n k=1 a(x k,θ -x k,θ ) = |ρ 0,θ -ρ 0,θ | ≤ ρ 0,θ -ρ 0,θ + ρ 0,θ -ρ 0,θ = |ρ 0,θ -ρ 0,θ | ≤ ρ -ρ ∞ . (B.1)Therefore:|g m (ρ) -g m (ρ )| = ρ 1,θ -ρ 1,θ ≤ |ρ 1,θ -ρ 1,θ | + ρ 1,θ -ρ 1,θ ≤ 2 ρ -ρ ∞ ,where the last inequality comes from (B.1).Appendix B.1. Proof of LemmaThe function f : P → span(P) is given byf δ,b (ρ) = a(ρ δ+1,θ ζ b -1 -ρ δ+1,b ), (B.2)where θ and ζ b are two functions of ρ that are defined byρ 0,θ = m + • • • + m h and θ ζ b ≤ b < θ ζ b +1 . (B.3)We begin by the proof of (i) which states that (ρ 0,b -ρ 0,b )(f 0,b (ρ)-f 0,b (ρ )) ≤ 2a ρ -ρ . Let ρ, ρ ∈ P and let ζ b and ζ b be defined as in Equation (B.3). We have(ρ 0,b -ρ 0,b )(f 0,b (ρ) -f 0,b (ρ )) = a(ρ 0,b -ρ 0,b )(ρ δ+1,b -ρ δ+1,b + ρ δ+1,θ ζ b -1 -ρ δ+1,θζ b + a(ρ 0,b -ρ 0,b )(ρ δ+1,θ ζ b -1 -ρ δ+1,θ ζ b -1

- 1 ≤- 1 ) ≤ ρ -ρ 2 ∞•- 1 >- 1 )≤ 1 ) ≤ ρ -ρ 2 ∞•

 1121112 ζ b , then we can use Lemma 2 to show that we have ρ δ+1,θ ζ b -1 -ρ δ+1,θ ζ b ρ -ρ ∞ , which implies that (ρ 0,b -ρ 0,b)(ρ δ+1,θ ζ b -1 -ρ δ+1,θ ζ b . If ζ b > ζ b , then Equation (B.3) implies that ρ 0,b ≥ m ζ b +1 + • • • + m h > ρ 0,b . ζ b > ζ b also implies that ρ δ+1,θ ζ b ρ δ+1,θ ζ b -1 . Hence, (ρ 0,b -ρ 0,b )(ρ δ+1,θ ζ b -1 -ρ δ+1,θ ζ b (ρ 0,b -ρ 0,b )(ρ δ+1,θ ζ b -1 -ρ δ+1,θ ζ b -,where the last inequality comes from Lemma 2. The caseζ b < ζ b is symmetric.This concludes the proof of (i). Point (ii) follows directly from Equation (B.2).For point (iii), we can mimic the proof of Equation (B.1). Let ρ, ρ ∈ P and assume without loss of generality thatθ ζ b ≤ θ ζ b which implies that x k,θ ζ b ≥ x k,θ ζ bfor all k ∈ {1 . . . n}. Equation (B.2) implies that for δ ≥ 1, we have1 a (f δ-1,b (ρ ) -f δ-1,b (ρ)) = ρ δ,θ ζ b -1 -ρ δ,θ ζ b -1 + ρ δ,b -ρ δ,b .This shows that1 a (f δ-1,b (ρ ) -f δ-1,b (ρ) -(f 0,b (ρ ) -f 0,b (ρ))) ≤ ρ δ,θ ζ b -1 -ρ δ,θ ζ b -1 -(ρ 0,θ ζ b -1 -ρ 0,θ ζ b -1 ) + 2 ρ -ρ ∞ . ρ δ,θ ζ b -1 -ρ δ,θ ζ b -1 -(ρ 0,θ ζ b -1 -ρ 0,θ ζ b -1 ) = n k=1 (a 1-δ (p k ) δ -a)(x k,θ ζ b -x k,θ δ (p k ) δ -a)(x k,θ ζ b -x k,θ ζ b ) + ρ -ρ ∞ = n k=1 (a -a 1-δ (p k ) δ )(x k,θ ζ b -x k,θ ζ b ) + ρ -ρ ∞ ≤ n k=1 a(x k,θ ζ b -x k,θ ζ b ) + ρ -ρ ∞ ≤ n k=1 a(x k,θ ζ b -x k,θ ζ b ) + 2 ρ -ρ ∞ ≤ 3 ρ -ρ ∞where we used the assumptionx k,θ ζ b ≥ x k,θ ζ b

Table 2 :

 2 Accuracy of probability h of finding a requested item in list for LRU(m). In this example α = 0.8, h = 2 and m 1 = m 2 = n/5 (i.e., 20 or 200).

	n	q	z	h = 2	h = 3
				model (simu.)	model (simu.)
	100	1	2 0.53619 (0.53449) 0.54292 (0.54150)
			10 0.88249 (0.87936) 0.83718 (0.83449)
	1000	1	2 0.61028 (0.61016) 0.61605 (0.61587)
			10 0.90103 (0.90071) 0.86300 (0.86262)
	1000 0.1 2 0.64744 (0.64807) 0.65841 (0.65899)
			10 0.94935 (0.94924) 0.94646 (0.94632)

Table 3 :

 3

Accuracy of hit probability for h-LRU with MAP arrivals. In this example α = 0.8 and m = n/5.

  aL ∞ | F t = var [ X(t + 1) -X(t) | F t ∞ ] ≤ a 2 .

	using Gronwall's inequality.
	By assumption,
	E E(t + 1) -E(t)	2
	As E(t) is a martingale, this implies that
	E sup	E(t)
	t≤T /a
		t
		s=0	X(s) -x(s) ∞ + a 2 Lt + E(t) ∞
	≤ exp(aLt)(a 2 Lt + sup s≤t	E(s) ∞ )
	≤ exp(LT )(aLT + sup t≤T /a	E(t) ∞ ),

Note that, after a request, an item is always inserted in list 1. This implies L k,1 (t) = true.

When h = 3 lists, the variables Θ (t) are not always ordered. For example, consider the case of four items {1, 2, 3,

4}and m 1 = m 2 = m 3 = 3. If initially the three caches contain the three items 1, 2, 3. Then, after a stream of requests: 4, 4, 3, 2, 1, the cache 1 and 3 will contain the items {1, 2, 3} while the cache 2 will contain {1, 2, 4}. This implies that t -3 = Θ 2 (t) < Θ 3 (t) = Θ 1 (t) = t -2.

For h ≥ 3, the proof is similar but one would need to also consider quantities like ρ δ,{2,3},b (t) = a 1-δ n k=1 (p k ) δ x k,{2,3},b (t).

Acknowledgements

This work is partially supported by the EU project QUANTICOL, 600708.

Cache partitioning

In this section we consider the cache partitioning scenario introduced in [START_REF] Chu | On allocating cache resources to content providers[END_REF]. Consider a cache of size m that is accessed by users for content generated by 2 content providers (CPs). CP k serves a set of n k items (i.e., files) of equal size that are distinct from the items served by the other CP. Our main objective is to compare the following two setups. In the first setup the cache of size m is shared by both CPs and a single replacement algorithm manages the entire cache. In the second setup the cache provider splits the cache into 2 parts of size m 1 and m 2 , such that m 1 , m 2 > 0 and m 1 + m 2 = m. The size m k part of the cache is dedicated to CP k and therefore only stores the items of CP k. Each part is managed by its own (possibly different) replacement algorithm. The work presented in [START_REF] Chu | On allocating cache resources to content providers[END_REF] focused on the LRU replacement algorithm combined with IRM requests. We start by revisiting this case and subsequently consider h-LRU as well as non-IRM request streams.

IRM combined with LRU

In this subsection we assume that the popularity of the n k items of CP k follows a Zipf distribution with parameter θ k . We further assume that the request rate for content of each CP is the same and define the overall hit rate in case of the split cache as the sum of the hit rates in both parts of the cache (i.e., this corresponds to setting λ 1 = λ 2 and w 1 = w 2 = 1 in [START_REF] Chu | On allocating cache resources to content providers[END_REF]). For the split cache we set the size m 1 of the first part of the cache such that the overall hit rate is optimized. In this case Theorem 2 of [START_REF] Chu | On allocating cache resources to content providers[END_REF] shows that sharing the cache is never better than the optimal split cache. In Figure 8 we depict the gain achieved by splitting cache in the optimal manner when n 1 = n 2 = 1000 and the cache size m is either 80 or 400. We also plotted the optimal cache size m 1 .

A first observation is that the gain decreases as the cache size increases and is negligible for large caches unless the popularity of the content of one of the CPs is close to uniform (this trend was confirmed by considering other values for m). Second, when both popularity distributions have the same shape (i.e., θ 1 = θ 2 ) the optimal split is to set m 1 = m/2 (as expected). In this case the optimal split cache achieves the same overall hit rate as the shared cache, meaning there is no gain in splitting the cache. Third, although the gain by splitting the cache may be very limited, the optimal size m 1 is quite sensitive to the shape of both distributions. Figure 9 further demonstrates that some care is required when splitting the cache in case the shape of the distribution is not known.

Appendix A. h-LRU with renewal arrivals

The same approach as for the IRM model can be used to obtain a TTL approximation when the requests for item k follow a renewal process, characterized by a distribution with cumulative distribution function F k (x). Let Fk (x) = 1 -F k (x). In this case we get ( Ph,k ) j,0 = Fk (T min(h,j+1) ) and ( Ph,k ) j,min(h,j+1) = F k (T min(h,j+1) ). The hit probability for item k can therefore be expressed as π(h,k)