Skip to main content
Log in

Distributed replica placement algorithms for correlated data

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In distributed systems, data may be correlated due to accesses from clients and the correlation has some impact on date placement, and existing research works focus on independent data objects. In this paper, we address both the scalability and the stability of the data placement solutions in internet environment. We first show that replica allocation decisions can be made locally for each replica site in a tree network, with data access knowledge of its neighbors. We then develop a new replication cost model for correlated data objects in Internet environment. Based on the cost model and the algorithms in previous research, we develop a distributed optimal replica allocation algorithm (DOPR) for correlated data in internet environment. A distributed heuristic algorithm (DHPR) is then developed to efficiently make replica placement decisions. The algorithm obtains sub-optimal solutions for the correlated data model and yields significant performance gains. Experimental studies show that the distributed heuristic allocation algorithm significantly outperforms the general frequency-based replication schemes (in which the replication decision of each data object is made based on the number of accesses on that data object).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Adya et al (2002) FARSITE: federated, available, and reliable storage for an incompletely trusted environment. In: Proceedings of the 5th OSDI

    Google Scholar 

  2. The Amazon Web Service (2011) http://aws.amazon.com/cloudfront/

  3. Baev I, Rajaraman R, Swamy C (2010) Approximation algorithms for data placement problems. SIAM J Comput

  4. Borst S, Gupta V, Walid A (2010) Distributed caching algorithms for content distribution networks. In: Proceedings of IEEE INFOCOM

    Google Scholar 

  5. Breitbart Y, Komondoor R, Rastogi R, Seshadri S, Silberschatz A (1999) Update propagation protocols for replicated databases. In: SIGMOD conference, pp 97–108

    Google Scholar 

  6. Chen Y et al (2002) Dynamic replica placement for scalable content delivery. In: Proceedings of the first international workshop on peer-to-peer systems (IPTPS 2002)

    Google Scholar 

  7. Goel S, Buyya R (2006) Data replication strategies in wide area distributed systems. http://gridbus.csse.unimelb.edu.au/papers/DataReplicationInDSChapter2006.pdf

  8. Kadambi S, Chen J, Cooper B, Lomax D, Ramakrishnan R, Silberstein A, Tam E, Molina H (2011) Where in the world is my data? In: Proceedings of the VLDB endowment, vol 4, no 11

    Google Scholar 

  9. Kalpakis K et al (2001) Optimal placement of replicas in trees with read, write and storage costs. IEEE Trans Parallel Distrib Syst 12(6)

  10. Koruplou M, Dahlin M (2002) Coordinated placement and replacement for large scale distributed caches. IEEE Trans Knowl Data Eng 14(6)

  11. Kubitowicz J, et al (2000) OceanStore: an architecture for global-scale persistent storage. In: Proceedings of ASPLOS’00

    Google Scholar 

  12. Li K, Shen Y, Lin K, Qu W (2010) Coordinated multimedia object replacement in transcoding proxies. J Supercomput 52(3)

  13. Lu Z, McKinley KS (2000) Partial collection replication versus cache for information retrieval systems. In: Proceedings of the ACM international conference on research and development in information retrieval, Athens, Greece, July 2000

    Google Scholar 

  14. Myint J, Naing T (2011) Management of data replication for PC cluster-based cloud storage system. Int J Cloud Comput, Serv Arch 1(3)

  15. Passarella A (2011) A survey on content-centric technologies for the current Internet: CDN and P2P solutions. Comput Commun 1

  16. Paxson V (1997) End-to-end routing behavior in the Internet. IEEE/ACM Trans Netw 5(5):601–615

    Article  Google Scholar 

  17. Qiu L, Padmanabhan V, Voelker G (2001) On the placement of web server replicas. In: IEEE 20th INFOCOM

    Google Scholar 

  18. Ranganathan K, Foster I (2001) Identifying dynamic replication strategies for a high-performance data grid. In: Proceedings of the 2nd of international workshop on grid computing, Denver, CO, USA, November 2001. Lecture notes in computer science, vol 2242, pp 75–86

    Google Scholar 

  19. Saito Y et al (2002) Taming aggressive replication in the Pangaea wide-area file system. In: Proceedings of the 5th symposium on operating system design and implementation

    Google Scholar 

  20. Troll G, Graben P. Zipf’s law is not a consequence of the central limit theorem. Phys Rev E 57(2):1347–1355

  21. Tu M, Li P, Xiao L, Yen I, Bastani F (2006) Replica placement algorithms for mobile transaction systems. IEEE Trans Knowl Data Eng 18(7)

  22. Tu M, Li P, Ma Q, Yen I, Bastani F (2010) Secure data object placement in the P2P Data grid. IEEE Trans Depend Secure Comput 7(1)

  23. Tu M, Ma H, Yen I, Bastani F, Xu D (2013) Availability, security, access performance an load balance in P2P data grid. J Grid Comput 11(1)

  24. Wolfson O, Jajodia S, Huang Y (1997) An adaptive data replication algorithm. ACM Trans Database Syst 22(2):255–314

    Article  Google Scholar 

  25. Ye Y, Xiao L, Yen I, Bastani F (2010) Cloud storage design based on hybrid of replication and data partitioning. In: Proceedings of the IEEE 16th international conference on parallel and distributed systems (ICPADS)

    Google Scholar 

  26. Zaman S, Grosu D (2011) A distributed algorithm for the replica placement problem. IEEE Trans Parallel Distrib Syst 22(9)

  27. Zin N, Noraziah A, Fauzi A, Herawan T (2012) Replication techniques in data grid environments. In: Intelligent information and database systems. Lecture notes in computer science, vol 7197

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manghui Tu.

Appendix

Appendix

1.1 A.1 Proof of the optimality of DOPR (Theorem 4)

Now we show that DOPR stabilizes and converges to optimal that minimize the overall communication cost. We mainly focus on the path l(O,x). Let D x (τ i ) denote the data set on x at the beginning of τ i , where xl(O,x). Let \(D_{x}^{\mathrm{opt}}\) denote the minimum set of data objects on x in an OptPl(D O ) ensuring replica connectivity property shown in Theorem 1, where \(D_{x}^{\mathrm{opt}} \not\subset D_{x}( \tau_{i})\). We assume that \(D_{y}^{\mathrm{opt}} \subseteq D_{y}( \tau_{i})\), where y is parent of x and yl(O,x). Let Dd x (τ i ) denote the data set on x such that x is the leaf node of R(Dd x ) and x has held the replica of Dd x since the end of τ i−1.

Lemma 1

Assume that \(D_{x}^{\mathrm{opt}} \not\subset D_{x}( \tau_{i})\), after x receives \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i})\) and before x executes OPRD, \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i})\) where \(D_{x}(\mathrm{temp}, \tau_{i}) = S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup D_{x}( \tau_{i})\).

Proof

Assume that \(D_{x}^{\mathrm{opt}} \not\subset D_{x}(\mathrm{temp}, \tau_{i})\), and let \({}^{**} D_{x}(\mathrm{temp}, \tau_{i}) = D_{x}^{\mathrm{opt}} - D_{x}(\mathrm{temp}, \tau_{i})\), then ∗∗ D x (temp,τ i )≠ϕ. Also, according to Theorem 2, \(D_{x}^{\mathrm{opt}} \subseteq D_{y}^{\mathrm{opt}}\), then \({}^{**} D_{x}(\mathrm{temp}, \tau_{i}) \subseteq D_{y}^{\mathrm{opt}}\). This means that ∗∗ D x (temp,τ i ) should also be replicated at x but OPRA does not, which means that \(\textit{cost}\_a( S^{a}_{\mathrm{opt}} \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)\geq 0\). By definition, \(D_{x}^{\mathrm{opt}}\) is the minimum optimal data set at x, thus cost_d(∗∗ D x (temp,τ i ),x)=read_d(∗∗ D x (temp,τ i ),x)−update_d(∗∗ D x (temp,τ i ),x)>0, with \(D_{x}^{\mathrm{opt}}\) on x and \(D_{x}^{\mathrm{opt}} = Dd_{x}\). According to Eq. (5), read_d(∗∗ D x (temp,τ i ),x) is the total number of read transactions t, where D(t)∩∗∗ D x (temp,τ i )≠ϕ and \(D(t) \subseteq D_{x}^{\mathrm{opt}}\). According to Eq. (4), update_d(∗∗ D x (temp,τ i ),x) is the total number of update transactions t, where D(t)⊆∗∗ D x (temp,τ i ).

Since ∗∗ D x (temp,τ i )∩D x (temp,τ i )=ϕ, then ∗∗ D x (temp,τ i )∩D x (τ i )=ϕ. Thus, all of the read transactions t, where D(t)∩∗∗ D x (temp,τ i )≠ϕ, should have been forwarded to y during τ i+1. Since \(\textit{cost}\_a(S^{a}_{\mathrm{opt}}(y,x, \tau_{i}), x) = \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) < 0\), then \(\textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{cost}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \textit{update}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)- (\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{read}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x))\).

We know from definition that \(\textit{update}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \textit{update}\_d(^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)\). \(\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)\) is the total number of read transactions t, where D(t)∩∗∗ D x (temp,τ i )≠ϕ and \(D(t) \subseteq (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}) \cup D_{x}( \tau_{i}))\), which is D(t)⊆(D x (temp,τ i )∪∗∗ D x (temp,τ i )). As we know that \(D_{x}^{\mathrm{opt}} \subseteq (D_{x}(\mathrm{temp}, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}))\), then we know that \(\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) \geq \textit{read}\_d(^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)\) by their definitions. We know that \(\textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)- (\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{**} D_{x}(\mathrm{temp}, \tau_{i}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)) < 0\), which is contradictory to the assumption. It follows that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i})\). □

Lemma 1 shows that \(D_{x}(\mathrm{temp}, \tau_{i}) = S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup D_{x}( \tau_{i})\) is a superset of \(D_{x}^{\mathrm{opt}}\) at τ i+1. Since x executes OPRD just after received \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i})\), it deallocates a data set from D x (τ i ) (not D x (temp,τ i )). We show in Lemma 2 that x still hosts a superset of \(D_{x}^{\mathrm{opt}}\) after executing OPRD. Furthermore, once x hosts a superset of \(D_{x}^{\mathrm{opt}}\), x will not receive replicas of any data object from y, which will be shown in Lemma 3. After executing the OPRD in τ i+k , where k>0, x may eventually host \(D_{x}^{\mathrm{opt}}\) (shown in Lemma 4).

Lemma 2

Assume that x is the leaf server of data set D x (τ i ), then \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i}) - S^{d}_{\mathrm{opt}}(x, \tau_{i})\).

Proof

This is to show that \(S^{d}_{\mathrm{opt}}(x, \tau_{i}) \subseteq D_{x}(\mathrm{temp}, \tau_{i}) - D_{x}^{\mathrm{opt}}\). Assume that \(S^{d}_{\mathrm{opt}}(x, \tau_{i}) \not\subset D_{x}(\mathrm{temp}, \tau_{i}) - D_{x}^{\mathrm{opt}}\).

According to Lemma 1, \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i})\). Let \({}^{*} Dd_{x}( \tau_{i}) = D_{x}( \tau_{i}) - D_{x}^{\mathrm{opt}}\), Dd x (τ i ) denote the maximum set of data objects that should be deallocated from x at time period τ i . Let \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) = S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cap^{*} Dd_{x}( \tau_{i})\), \(d\_u = S^{d}_{\mathrm{opt}}(x, \tau_{i}) -^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i})\), then d_uϕ, and d_u Dd x (τ i )=ϕ.

According to the deallocation cost definitions and Eqs. (4), (5), and (6), we have \(\textit{cost}\_d(S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) \leq \textit{cost}\_d(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)\). \(\textit{cost}\_d (S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- \textit{cost}\_d (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) = \textit{read}\_d(d \_u \cup^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- \textit{read}\_d (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- (\textit{update}\_d( d\_u \cup^{*} S^{d}_{\mathrm{opt}}(x , \tau_{i}), x)- \textit{update}\_d (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)) \leq 0\).

cost_d(d_u Dd x (τ i ),x)−cost_d( Dd x (τ i ),x)=read_d(d_u Dd x (τ i ),x)−read_d( Dd x (τ i ),x)−(update_d(d_u Dd x (τ i ),x)−update_d( Dd x (τ i ),x)).

According to Eqs. (4), and (5), read_d(d_u Dd x (τ i ),x)−read_d( Dd x (τ i ),x)=∑|Q(S)|, where \((S \subseteq (D_{x} (\mathrm{temp}, \tau_{i}) -^{*} Dd_{x}( \tau_{i}))) \wedge (S \cap d \_ u \neq \phi ) \leq \textit{read}\_d(d \_u \cup^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- \textit{read}\_d(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) = \sum|Q(S)|\), where \((S \subseteq (D_{x}(\mathrm{temp}, \tau_{i}) -^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}))) \wedge (S \cap d\_u \neq \phi )\), while (update_d(d_u Dd x (τ i ),x)−update_d( Dd x (τ i ),x))=∑|W(S)|, where \((S \subseteq (d\_u \cup^{*} Dd_{x}( \tau_{i}))) \wedge (S \cap d\_u \neq \phi ) \geq \textit{update}\_d(d\_u \cup^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- \textit{update}\_d(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) = \sum|W(S)|\), where \((S \subseteq (d\_u \cup^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}))) \wedge (S \cap d\_u \neq \phi )\).

Thus, d_u should be de-allocated from D x (temp,τ i ) if Dd x (τ i ) should, this means that Dd x (τ i ) is not the maximum set of data objects should be deallocated, which is contradiction to definition of Dd x (τ i ).

Thus, we know that \(S^{d}_{\mathrm{opt}}(x, \tau_{i}) \not\subset^{*} Dd_{x}( \tau_{i})\) is impossible. It follows that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i}) - S^{d}_{\mathrm{opt}}(x, \tau_{i})\). □

Corollary 2

Assume that x is the leaf node of data set Dd x (τ i ), and Dd x (τ i )⊆D x (τ i ), then \(D_{x}^{\mathrm{opt}} \subseteq D_{x}(\mathrm{temp}, \tau_{i}) - S^{d}_{\mathrm{opt}}(x, \tau_{i})\).

Proof

It can easily be proven similarly to the proof given in Lemma 2. □

Lemma 3

Assume that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1})\), then \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) = \phi\).

Proof

Assume that \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi\). According to the DOPR, data replicas on x can only be deallocated from D x (τ i ) at τ i , thus \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) = \phi\). According to DOPR and replica allocation cost models, for non-empty set \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1})\), \(\textit{cost}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x) = \textit{update}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x) <0\).

Case 1, \(S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) = \phi\). We know that \(\textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)- (\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x))\). We know from definition that \(\textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \sum|W(S)|\), where \((S \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi ) \wedge (S \cap (D_{x}( \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i})) = \phi ) \leq \sum|W(S)|\), where \((S \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi ) \wedge (S \cap (D_{x}( \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) - S^{d}_{\mathrm{opt}}(x, \tau_{i})) = \phi ) = \textit{update}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)\).

\(\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{read}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)\) is the total number of read transactions t, where \(D(t) \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi\) and \(D(t) \subseteq (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \cup D_{x}( \tau_{i}))\), and which is no less than \(\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)\). Thus, \(\textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}), x)- \textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) < 0\), and this means that \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1})\) also need to be replicated to at time period τ i , which is impossible due to the property of the algorithm OPRA.

Case 2, \(S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi\). Let \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) = S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1})\), \({}^{*} d\_u = S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) -^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i})\), and \(d\_u = S^{d}_{\mathrm{opt}}(x, \tau_{i}) -^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i})\). Since d_u is not replicated to x at τ i , then \(\textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{*} d\_u, x)- \textit{cost}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x) = \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{*} d\_u, x)- \textit{update}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)- (\textit{read}\_a (S^{a}_{\mathrm{opt}}(y, x, \tau_{i}) \cup^{*} d\_u, x)- \textit{read}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i}), x)) = \sum|W(S)|\), where (S d_uϕ)∧(SD x (temp,τ i )=ϕ)−∑|Q(S)|, where (S d_uD x (temp,τ i ))∧(S d_uϕ)≥0.

\(\textit{cost}\_a(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cup^{*} d\_u, x)- \textit{cost}\_a (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) = \textit{update}\_a (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cup^{*} d\_u, x)- \textit{update}\_a(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x)- (\textit{read}\_a(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cup^{*} d\_u, x)- \textit{read}\_a (^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}), x) ) = \sum|W(S)|\), where \((S \cap^{*} d\_u \neq \phi ) \wedge (S \cap (D_{x}( \tau_{i+1}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) -^{*} d\_u) = \phi ) - \sum|Q(S)|\), where (\(S \subseteq (D_{x}( \tau_{i+1}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1})) \wedge (S \cap^{*} d\_u \neq \phi )\). We know that ∑|W(S)|, where \((S \cap^{*} d\_u \neq \phi ) \wedge (S \cap ((D_{x}( \tau_{i+1}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) -^{*} d\_u) = \phi ) = \sum|W(S)|\), where (S d_uϕ)∧(S∩(D x (temp,τ i )−d_u)=ϕ)≥∑|W(S)|, where (S d_uϕ)∧(SD x (temp,τ i )=ϕ), and ∑|Q(S)|, where \((S \subseteq (D_{x}( \tau_{i+1}) \cup S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1})) \wedge (S \cap^{*} d\_u \neq \phi ) = \sum|Q(S)|\), where (S⊆( d_uD x (temp,τ i )−d_u)∧(S d_uϕ)≤∑|Q(S)|, where (S d_uD x (temp,τ i ))∧(S d_uϕ), then \(\textit{cost}\_a(^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i}) \cup^{*} d\_u, x)- \textit{cost}\_a(^{*} S^{d}_{\mathrm{opt}}(x , \tau_{i}), x) \geq 0\), which is impossible due to OPRA. Thus, we have \(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) = \phi\). □

Corollary 3

Assume that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{ i+ k})\), where k>1, then, \(S^{a}_{\mathrm{opt}}(y, x, \tau_{ i+ k}) = \phi\).

Proof

It can easily be proven similarly to the proof given in Lemma 2. □

Lemma 4

Let \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) denote the data set computed by OPRD on x at τ i+1. If x is a leaf node of R(D x (τ i+1)), and \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1})\), then \(D_{x}^{\mathrm{opt}} = D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Proof

According to Lemmas 1 and 2, \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1})\), and assume \(D_{x}^{\mathrm{opt}} \neq D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Case 1, \(D_{x}^{\mathrm{opt}} \supset D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). According to Lemma 1, \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1})\). Let \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) = D_{x}( \tau_{i+1}) - D_{x}^{\mathrm{opt}}\), then \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) is the maximum data set that could be deallocated from D x (τ i+1). Since \(D_{x}^{\mathrm{opt}} \supset D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\), then \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \subset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). However, according to replica deallocation cost models and OPRD, \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) is the maximum data set that the total deallocation cost is no greater than 0. Then, \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) is not the maximum set should be deallocated from D x (τ i+1), which is a contradiction to the assumption.

Case 2, \(D_{x}^{\mathrm{opt}} \subset D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). Similar to the proof given in case 1.

Case 3, \(D_{x}^{\mathrm{opt}} - (D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})) \neq \phi\) and \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \not\subset D_{x}^{\mathrm{opt}}\). Let \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) = D_{x}( \tau_{i+1}) - D_{x}^{\mathrm{opt}}\), then \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) -^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \neq \phi\). Let \({}^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) =^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cap S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\), \(d\_u = S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) -^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) and \({}^{*} d\_u =^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) -^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\), then d_uϕ, d_uϕ and d_u d_u=ϕ.

According to cost definition, \(\textit{cost}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{cost}\_ d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x) \leq 0\), then \(\textit{read}\_d (d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{update}\_d (d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x) \leq \textit{read}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{update}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)\), which is \(\textit{read}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{read}\_d (^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x) \leq \textit{update}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{update}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x )\).

According to deallocation cost definition, \(\textit{cost}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{cost}\_d (^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x) = \textit{read}\_d (d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{read}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- (\textit{update}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{update}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x))\). According to Eqs. (4), (5), and (6), \(\textit{read}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{read}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x) \leq \textit{read}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{read}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x )\), and \(\textit{update}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{update}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x) \geq \textit{update}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x)- \textit{update}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}), x )\). It is obvious that \(\textit{cost}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)- \textit{cost}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x) \leq 0\), which is \(\textit{cost}\_d(d\_u \cup^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x) \leq \textit{cost}\_d(^{**} S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \cup^{*} d\_u, x)\). So \({}^{*} S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) is not the maximum data set that should be deallocated, which is a contradiction to the assumption.

Case 4, otherwise. This can be proved similar to case 3.

Thus, we proved that \(D_{x}^{\mathrm{opt}} = D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). □

Lemma 5

Let \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) denote the data set deallocated from D x (τ i+1) and Dd x (τ i+1)⊆D x (τ i+1). If \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1})\), then \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Proof

We have shown in Lemma 1, Corollary 2, and Lemma 3 that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) when Dd x (τ i+1)=D x (τ i+1) at τ i+1 and Dd x (τ i+1)=D x (τ i+1). We need to show that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) when Dd x (τ i+1)⊂D x (τ i+1). This is same to show that \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \subseteq D_{x}( \tau_{i+1}) - D_{x}^{\mathrm{opt}}\). Assume that \(S^{d}_{\mathrm{opt}}(x, \tau_{i+1}) \not\subset D_{x}( \tau_{i+1}) - D_{x}^{\mathrm{opt}}\), which is proved in Lemma 2. It follows that \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\), when Dd x (τ i+1)⊆D x (τ i+1). □

Lemma 6

Let \(S^{d}_{\mathrm{opt}}(x, \tau_{ i+ k})\) denote the data set computed by OPRD on x. If \(Dd_{x}( \tau_{ i+ k}) = D_{x}( \tau_{ i+ k}) - D_{x}^{\mathrm{opt}}\) and \(D_{x}^{\mathrm{opt}} \subseteq D_{x}( \tau_{ i+ k})\), then \(D_{x}^{\mathrm{opt}} = D_{x}( \tau_{ i+ k}) - S^{d}_{\mathrm{opt}}(x, \tau_{ i+ k})\).

Proof

This can be proved similarly to the proof in Lemma 4. □

Theorem 4

Let L denote the tree level. DOPR stabilizes and converges to optimal in 2L time periods.

Proof

First consider a system with only 2 levels and starts from time period τ i . According to Lemma 1 and DOPR, y will be first allocated with a superset of \(D_{y}^{\mathrm{opt}}\). The next time period, x will be allocated with a superset of \(D_{x}^{\mathrm{opt}}\). According to Lemma 4, Corollary 2, and Lemma 6, x will hold \(D_{x}^{\mathrm{opt}}\) at the third time period (i.e., τ i+2). At the fourth time period, \(Dd_{y}( \tau_{i+3}) = D_{y}( \tau_{i+3}) - D_{y}^{\mathrm{opt}}\). According to Lemma 6, y hold \(D_{y}^{\mathrm{opt}}\) at the end of τ i+3. According to Lemma 3 and Corollary 3, once x or y hosts a superset of \(D_{x}^{\mathrm{opt}}\) or \(D_{y}^{\mathrm{opt}}\) and client access pattern remains stable, O and y will stop to allocate replica of any data set to y or x. Thus the DPRA will stabilize and converge to optimal in 4 time periods.

An analysis of the distributed algorithm, we can find that the replica allocation is conducted along the path from O to the leaf node in T node by node, which takes a total of L time periods at most. The replica de-allocation is conducted from the leaf node to the child node of O node by node, and only after replica allocation to leaf node has been done, thus replica deallocation takes another L time period. Also, paths other than l(O,x) can perform DOPR simultaneously, thus the system can stabilize and converge to optimal in 2L time periods. □

1.2 A.2 Proof of the stability of DHPR (Theorem 5)

We mainly focus on the path l(O,x). Based on the replica allocation and deallocation behavior of DHPR algorithm, all of the replica resident set properties shown in Theorem 1, Corollary 1, and Theorem 2 still hold. Also, the replica allocation is propagated from root O to its descendants along path l(O,x), and the replica de-allocation is propagated from leaf node x to the child of O along path l(O,x). Both of the replica allocation and de-allocation are done node by node. Suppose that a stable access pattern starts from time period τ 0. Consider a server y and its child x on path l(O,x). If we can show that after a limited time periods, the data set computed by y using ESRA and the data set computed by x using ESRD are both empty, then DHPR should stabilize in a limited time periods.

Let D x (τ i ) and D y (τ i ) denote the data set on x and y at the beginning of τ i respectively, where D x (τ i )⊆D y (τ i ). We assume that from τ i to τ i+j , D y (τ i+j )⊆D y (τ i ), where j>0. Note that this assumption will be shown to be true for some i and j and we know that it is always true that D O (τ i+j )⊆D O (τ i )(D O (τ i+j )=D O (τ i )). Let \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i})\) denote the data set computed by ESRA by y for its child x at the end of τ i . Let \(S^{d}_{\mathrm{heu}}(x, \tau_{i})\) denote the data set computed by ESRD by x for itself at the end of τ i . Let Dd x (τ i ) denote the data set on x such that x is the leaf node of R(Dd x ) and x has held the replica of Dd x since the end of τ i−1.

Lemma 7

Assume that D y (τ i+1)⊆D y (τ i ) and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}) \supseteq \phi\). Then, \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\).

Proof

According to the cost models defined in Eqs. (1), (2), and (3), it can be easily concluded that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\) when D x (τ i+1)⊆D x (τ i ). Because if \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1})\) is not empty, then \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1})\) should have been allocated to x at τ i .

Now consider \(D_{x}( \tau_{i+1}) \not\subset D_{x}( \tau_{i})\). We know that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}) = D_{x}( \tau_{i+1}) - D_{x}( \tau_{i}), S^{d}_{\mathrm{heu}}(x, \tau_{i}) = D_{x}( \tau_{i}) - D_{x}( \tau_{i+1})\), and \(S^{d}_{\mathrm{heu}}(y, x, \tau_{i}) \subseteq D_{y}( \tau_{i+1})\). Assume that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \neq \phi\). According to the ESRA and replica allocation cost model Eqs. (1), (2), and (3), we know that with D x (τ i+1) and \(\textit{cost}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x) < 0\), which is \(\textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x)- \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}),x) < 0\). \(\textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x) = \sum|W(S)|\), where \((S \cap S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \neq \phi ) \wedge (S \cap D_{x}( \tau_{i+1}) = \phi ) < \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x) = \sum|Q(S)|\), where \((S \subseteq S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup D_{x}( \tau_{i+1})) \wedge (S \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi )\). Since \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1})\) is not allocated to x at time period τ i , we know that \(\textit{cost}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) - \textit{cost}\_a (S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) \geq 0\). This is to same to say that \(\textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) - \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) - (\textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x)- \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x)) \geq 0\). We know that \(\textit{update}\_a(S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x)- \textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) = \sum|W(S)|\), where \((S \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi ) \wedge (S \cap (D_{x}( \tau_{i}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i})) = \phi ) \leq \sum|W(S)|\), where \((S \cap S^{a}_{\mathrm{opt}}(y, x, \tau_{i+1}) \neq \phi ) \wedge (S \cap D_{x}( \tau_{i+1})) = \phi\)).

Similarly, \(\textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) - \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i}), x) \geq \sum|Q(S)|\), where \((S \subseteq S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \cup D_{x}( \tau_{i+1})) \wedge (S \cap S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \neq \phi )\). This means that \(\textit{update}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x) - \textit{read}\_a(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}), x) \geq 0\). Thus, it is contradiction to the assumption that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) \neq \phi\). □

Lemma 8

Assume that D y (τ i+2)⊆D y (τ i+1) and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\). Then, \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\).

Proof

Consider two cases, \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \supset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) and \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \subseteq S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Consider \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \supset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). We know that the data set computed to be de-allocated from x by the Set-Shrinking part is not empty. Also, \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\) is a subset of the data set that should not be de-allocated from x. Assume that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) \subseteq S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\). It is obviously not true according to the cost functions. Assume that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) \cap S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) = \phi\). Since \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \subseteq D_{x}( \tau_{i}) \cup S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2})\), then \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2})\) should already allocated to x at time period τ i (we know that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi \)). Assume that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) \cap S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \neq \phi\). Let \(S_{1} = S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \cap S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2})\), and \(S_{2} = S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\). We know that S 2ϕ. If S 2 is allocated to x at time period τ i+2, then it should have been allocated to x at τ i+1. Since \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\), then S 2=ϕ. Thus, it follows that \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\) when \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \supset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Consider \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \subseteq S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). We know that the data set computed to be de-allocated from x by the set-shrinking part is empty. Based on Lemma 7 and the DHPR algorithm, we can show that it is true by use the similar proof in Lemma 2. □

Lemma 9

Assume that x is a leaf node of R(D x (τ i+1)), \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\), and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\).

Then, \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) = \phi\).

Proof

Assume that \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) \neq \phi\). Since \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\) and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\), then we know that \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) \subseteq D_{x}( \tau_{i+1})\). Based on the DHPR algorithm, we know that \(S^{d}_{\mathrm{heu}}(y, x, \tau_{i+2})\) is not de-allocated at time period τ i+1 because of the cost tradeoffs. Consider two cases, \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \supset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\) and \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \subseteq S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\).

Consider \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \supset S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). Then, the data set computed by the Set-Shrinking part is not empty at time τ i+1. We know that \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\) is a subset of the data set that should not be deallocated from x, thus, no data should be deallocated from \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\). It follows that \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) = \phi\).

Consider \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1}) \subseteq S^{d}_{\mathrm{opt}}(x, \tau_{i+1})\). Then, the data set computed by the Set-Shrinking part must be empty at time τ i+1. According to ESRD, no data set should be deallocated from x after \(S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\) is deallocated from \(D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\). Since \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+1}) = \phi\) and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\), \(D_{x}( \tau_{i+2}) = D_{x}( \tau_{i+1}) - S^{d}_{\mathrm{heu}}(x, \tau_{i+1})\) and remains unchanged before ESRD is executed. Thus, it follows that no data set should be deallocated from x. It follows that \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) = \phi\). □

Lemma 10

Assume D y (τ i+k )⊆D y (τ i+1) and \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i+2}) = \phi\). Then, \(S^{a}_{\mathrm{heu}}(y, x, \tau_{ i+ k}) = \phi\) with k>2.

Proof

Based on Lemmas 7, 8 and 9, and use the similar proof in Lemma 3. We can show that it is always true for k>2. □

Lemma 11

Assume that D x (τ i+k )⊆D x (τ i+1) and \(S^{d}_{\mathrm{heu}}(x, \tau_{i+2}) = \phi\). Then, \(S^{d}_{\mathrm{heu}}(x, \tau_{ i+ k}) = \phi\), where k>2.

Proof

Based on Lemmas 7, 8, 9 and 10, and the ESRD algorithm, we can show that it is always true for k>2. □

Theorem 5

Let L denote the tree level. DHPR stabilizes in at most 2L time periods.

Proof

First consider a system with only 1 level and starts from time period τ i . According to Lemma 7 and algorithm ESRA, y (which is O here) will first allocated \(S^{a}_{\mathrm{heu}}(y, x, \tau_{i})\) to x. then, it will not allocate any data set to x if the access pattern remains stable. Although x will execute ESRD at time period τ i , only at τ i+1, x will execute ESRD on the entire data set in D x (τ i+1). After then, no data set will be de-allocated from x if the access pattern remains stable. Thus, the DHRA will stabilize in 2 time periods with one level.

After analyzing DHPR, we can find out that the replica allocation is conducted along the path from data server O to the leaf data server in T one data server by one data server, which takes a total of L time periods at most. The replica deallocation is conducted from the leaf data server to the child data server of O one data server by one data server, which stops one time period later after the child data servers has executed ESRD on the maximal data set. Thus, replica deallocation takes another L time period. Also, paths other than l(O,x) can simultaneously perform DHPR, thus the system can stabilize in 2L time periods. □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tu, M., Yen, IL. Distributed replica placement algorithms for correlated data. J Supercomput 68, 245–273 (2014). https://doi.org/10.1007/s11227-013-1036-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-013-1036-2

Keywords

Navigation