Skip to main content
Log in

Minimizing latency in geo-distributed clouds

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

Abstract

Geo-distributed data-centers in cloud computing are becoming increasingly popular due to their lower end-user perceived latency and increased reliability in distributed applications. The important challenge of resource allocation in cloud management is more pronounced in geo-distributed data-centers compared to traditional data-centers. A geo-distributed cloud manager faces applications whose virtual machines (VMs) are far apart and need to interact with end users, access distributed data and communicate with each other. In such applications, the service level agreement is not met if the communication latency is not bounded. In this paper, we focus on the problem of finding data-centers for hosting VMs while the requested VMs are located in different geo-distributed data-centers and are sensitive to the communication latency. We propose an algorithm to minimize communication latency by taking into account the cloud network topology to be either a tree or that of the Internet. Moreover, our algorithm can utilize user’s locations to find better candidate solutions. In the case of tree topology, we prove that our algorithm finds a solution whose latency is minimum. In addition, we show that our algorithm performs well in the Internet topology, with simulation results indicating that it can reduce the communication latency up to \(92~\%\) compared to existing algorithms.

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

Similar content being viewed by others

References

  1. Abraham I, Balakrishnan M, Kuhn F, Malkhi D, RamasubramanianV, Talwar K (2007) Reconstructing approximate tree metrics. In: The26th annual ACM symposium on principles of distributed computing, PODC 2007, Portland, 12–15 August 2007, pp 43–52

  2. Aceto G, Botta A, De Donato W, Pescapè A (2013) Cloud monitoring: a survey. Comput Netw 57(9):2093–2115

    Article  Google Scholar 

  3. Agarwal S, Dunagan J, Jain N, Saroiu S, Wolman A (2010) Volley: automated data placement for geo-distributed cloud services. In: The 7thUSENIX symposium on networked systems design and implementation,NSDI 2010, 28–30 April 2010, USENIX Association, San Jose,pp 17–32

  4. Alicherry M, Lakshman TV (2012) Network aware resource allocation indistributed clouds. In: The IEEE INFOCOM 2012, Orlando, 25–30 March 2012, pp 963–971

  5. Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A, LeeG, Patterson DA, Rabkin A, Stoica I, Zaharia M (2010) A view of cloudcomputing. Commun ACM 53(4):50–58

  6. Beloglazov A, Abawajy JH, Buyya R (2012) Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Futur Gener Comput Syst 28(5):755–768

  7. Calero JMA, Aguado JG (2015) Comparative analysis of architectures for monitoring cloud computing infrastructures. Futur Gener Comput Syst 47:16–30

    Article  Google Scholar 

  8. Chen K, Xu Y, Xi K, Chao HJ (2013) Intelligent virtual machine placement for cost efficiency in geo-distributed cloud systems. In: The IEEE international conference on communications, ICC 2013, IEEE, Budapest, 9–13 June 2013, pp 3498–3503

  9. Chunlin L, Layuan L (2014) Multi-layer resource management in cloud computing. J Netw Syst Manag 22(1):100–120

    Article  Google Scholar 

  10. Data center global expansion trend (2012) http://www.datacenterknowledge.com/archives/2012/05/15/google-data-center-faq/. Accessed 16 Oct 2015

  11. Dhingra A, Paul S (2014) Green cloud: heuristic based BFO technique to optimize resource allocation. Indian J Sci Technol 7(5):685–691

  12. Endo PT, de Almeida Palhares AV, Pereira NCVN, Gonçalves GE, Sadok D, Kelner J, Melander B, Mångs JE (2011) Resource allocation for distributed cloud: concepts and research challenges. IEEE Netw 25(4):42–46

    Article  Google Scholar 

  13. Eriksson B, Crovella M (2013) Understanding geolocation accuracy using network geometry. In: The IEEE INFOCOM 2013, Turin, 14–19 April 2013, pp 75–79

  14. Eriksson B, Dasarathy G, Barford P, Nowak R (2012) Efficient network tomography for internet topology discovery. IEEE/ACM Trans Netw 20(3):931–943

    Article  Google Scholar 

  15. Gonçalves GE, Santos MA, Charamba G, Endo PT, Sadok D, Kelner J, Melander B, Mångs J (2012) D-CRAS: distributed cloud resource allocation system. In: The 2012 IEEE network operations and management symposium, IEEE, Maui, 16–20 April 2012, pp 659–662

  16. Greenberg A, Hamilton J, Maltz DA, Patel P (2008) The cost of a cloud: research problems in data center networks. ACM SIGCOMM Comput Commun Rev 39(1):68–73

    Article  Google Scholar 

  17. Gupta A, Kalé LV, Milojicic D, Faraboschi P, Balle SM (2013) HPC-aware VM placement in infrastructure clouds. In: 2013 IEEE international conference on cloud engineering (IC2E). IEEE, New York, pp 11–20

  18. Han Y, Chan J, Alpcan T, Leckie C (2014) Virtual machine allocation policies against co-resident attacks in cloud computing. In: The IEEE international conference on communications, ICC 2014, Sydney, 10–14 June 2014, pp 786–792

  19. Jennings B, Stadler R (2015) Resource management in clouds: survey and research challenges. J Netw Syst Manag 23(3):567–619. doi:10.1007/s10922-014-9307-7

  20. Jiao L, Li J, Xu T, Fu X (2012) Cost optimization for online social networks on geo-distributed clouds. In: Proceedings of the 20th IEEE international conference on network protocols, ICNP 2012, IEEE, Austin, 30 October–2 November 2012, pp 1–10

  21. Kesavan M, Ahmad I, Krieger O, Soundararajan R, Gavrilovska A, Schwan K (2013) Practical compute capacity management for virtualized datacenters. IEEE Trans Cloud Comput 1(1):1–14

  22. Kuo J, Yang H, Tsai M (2014) Optimal approximation algorithm of virtual machine placement for data latency minimization in cloud systems. In: The IEEE INFOCOM 2014, Toronto, 27 April–2 May 2014, pp 1303–1311

  23. Li J, Li D, Zheng J, Quan Y (2014) Location-aware multi-user resource allocation in distributed clouds. In: Wu J, Chen H, Wang X (eds) Advanced computer architecture. Communications in computer and information science, vol 451. Springer, Berlin, pp 152–162

  24. Mell P, Grance T (2011) The nist definition of cloud computing. In: Technical report 800-145, National Institute of Standards and Technology (NIST), Gaithersburg. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf. Accessed 16 Oct 2015

  25. Meng X, Pappas V, Zhang L (2010) Improving the scalability of data center networks with traffic-aware virtual machine placement. In: The IEEE INFOCOM 2010, San Diego, 15–19 March 2010, pp 1154–1162

  26. de Oliveira F, Ledoux T, Sharrock R (2013) A framework for the coordination of multiple autonomic managers in cloud environments. In: 2013 IEEE 7th international conference on self-adaptive and self-organizing systems (SASO), pp 179–188

  27. Papagianni CA, Leivadeas A, Papavassiliou S, Maglaris V, Cervello-Pastor C, Monje Á (2013) On the optimal allocation of virtual resources in cloud computing networks. IEEE Trans Comput 62(6):1060–1071

    Article  MathSciNet  Google Scholar 

  28. Ramasubramanian V, Malkhi D, Kuhn F, Balakrishnan M, Gupta A, Akella A (2009) On the treeness of internet latency and bandwidth. In: The 11th international joint conference on measurement and modeling of computer systems. ACM, Seattle, WA, pp 61–72

  29. Ruan L, Peng J, Xiao L, Zhu M (2013) Distributed virtual machine monitor for distributed cloud computing nodes integration. In: Park J, Arabnia H, Kim C, Shi W, Gil JM (eds) Grid and pervasive computing. Lecture notes in computer science, vol 7861. Springer, Berlin, pp 23–31

  30. Rygielski P, Kounev S (2013) Network virtualization for QoS-aware resource management in cloud data centers: a survey. Praxis Informationsverarbeitung Kommun 36(1):55–64

    Google Scholar 

  31. Valancius V, Laoutaris N, Massoulié L, Diot C, Rodriguez P (2009) Greening the internet with nano data centers. In: The 2009 ACM conference on emerging networking experiments and technology, CoNEXT 2009, Rome, 1–4 December 2009, pp 37–48

  32. Wong B, Slivkins A, Sirer EG (2005) Meridian: a lightweight network location service without virtual coordinates. In: The ACM SIGCOMM 2005 conference on applications, technologies, architectures, and protocols for computer communications, Philadelphia, 22–26 August 2005. ACM, New York, pp 85–96

  33. Yao Y, Cao J, Li M (2013) Network and parallel computing. In: Lecture notes in computer science, vol 8147. Springer, Berlin, pp 71–82

  34. Yi X, Liu F, Liu J, Jin H (2014) Building a network highway for big data: architecture and challenges. IEEE Netw 28(4):5–13

    Article  Google Scholar 

  35. Zhang Q, Cheng L, Boutaba R (2010) Cloud computing: state-of-the-art and research challenges. J Internet Serv Appl 1(1):7–18

    Article  Google Scholar 

  36. Zhu J, Kang Y, Zheng Z, Lyu MR (2012) WSP: a network coordinate based web service positioning framework for response time prediction. In: The 2012 IEEE 19th international conference on web services, IEEE, Honolulu, 24–29 June 2012, pp 90–97

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marzieh Malekimajd.

Appendix

Appendix

Proof of Lemma 1:

Proof

Let Findset(uv) return the set \(S \subset \mathcal {D}\). First, we prove that the latency of each two members of the set S is less than or equal to ltnc(uv). Second, we prove that the set S is maximal.

Bound on the latency To prove a bound on the latency of the set S, it is enough to verify the latency between two optional leaves of the set S. It is clear from the definition of the set \(\mathcal {D}\) that all members of the set S are leaves of a given tree. Since the latency and distance between two nodes are equal in a tree, it suffices to verify the distance, rather than their latency, between two arbitrary nodes a and b of the set S.

Let us consider the nodes a, b, u, \(v \in S\) and the paths between them. The tree paths au, av and uv have at least a common node. Because if these three paths do not meet at a common node, they build a cycle in the graph and contradict the assumption that the given graph is a tree. In the same way, three paths bu, bv and uv have at least a common node. Let \(t_1\) be a common node on paths au, av and uv and \(t_2\) be a common node on paths bu, bv and uv.

Since there is a unique path between any two distinct nodes on the tree, the path au can split in two disjoint paths a\(t_1\) and \(t_1\)u such that the following equation on their distances is obtained:

$$\begin{aligned} \mathrm{ltnc}(a,u)=\mathrm{ltnc}(a,t_1)+\mathrm{ltnc}(t_1,u) \end{aligned}$$
(1)

Also, we have the following equations for other mentioned paths:

$$\begin{aligned} \mathrm{ltnc}(v,u)= & {} \mathrm{ltnc}(v,t_1)+\mathrm{ltnc}(t_1,u) \end{aligned}$$
(2)
$$\begin{aligned} \mathrm{ltnc}(b,u)= & {} \mathrm{ltnc}(b,t_2)+\mathrm{ltnc}(t_2,u) \end{aligned}$$
(3)
$$\begin{aligned} \mathrm{ltnc}(v,u)= & {} \mathrm{ltnc}(v,t_2)+\mathrm{ltnc}(t_2,u) \end{aligned}$$
(4)

In addition, we have the following equations from the comparisons made in the FindSet function:

$$\begin{aligned} \mathrm{ltnc}(a,u)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(5)
$$\begin{aligned} \mathrm{ltnc}(a,v)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(6)
$$\begin{aligned} \mathrm{ltnc}(b,u)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(7)
$$\begin{aligned} \mathrm{ltnc}(b,v)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(8)

By knowing ltnc(ij) equals to ltnc(ji) and by substituting Eqs. (1) and (2) into Eq. (5), the following equation is obtained:

$$\begin{aligned} \mathrm{ltnc}(a,u)\le & {} \mathrm{ltnc}(u,v) \Rightarrow \nonumber \\ \mathrm{ltnc}(a,t_1) + \mathrm{ltnc}(t_1,u)\le & {} \mathrm{ltnc}(v,t_1) + \mathrm{ltnc}(t_1,u) \nonumber \\ \Rightarrow \mathrm{ltnc}(a,t_1)\le & {} \mathrm{ltnc}(v,t_1) \end{aligned}$$
(9)

Again, by substituting Eqs. (3) and (4) in Eq. (7), the following equation is obtained:

$$\begin{aligned} \mathrm{ltnc}(b,t_2)\le \mathrm{ltnc}(u,t_2) \end{aligned}$$
(10)

We assume in the path from u to v, first we visit \(t_1\) and second we visit \(t_2\). If it is vice versa, it is enough to rewrite the proof by changing the notations.

The following equation is established by considering the unique path from u to v in the tree:

$$\begin{aligned} \mathrm{ltnc}(v,u) = \mathrm{ltnc}(v,t_1) + \mathrm{ltnc}(t_1,t_2) + \mathrm{ltnc}(t_2,u) \end{aligned}$$
(11)

Adding up Eqs. (9)–(11) leads to

$$\begin{aligned} \mathrm{ltnc}(v,u) \ge \mathrm{ltnc}(a,t_1) + \mathrm{ltnc}(t_1,t_2) + \mathrm{ltnc}(t_2,b) \end{aligned}$$
(12)

Following equation is derived for latencies between the nodes \(a\,,b\,,t_1\) and \(t_2\):

$$\begin{aligned} \mathrm{ltnc}(a,t_1) + \mathrm{ltnc}(t_1,t_2) + \mathrm{ltnc}(t_2,b)\ge \mathrm{ltnc}(a,b) \end{aligned}$$
(13)

Finally, ltnc\( (v,u) \ge \mathrm{ltnc}(a,b)\) is concluded from Eqs. (12) and (13). Because we assume that a and b are two arbitrary nodes of the set S, we can conclude that the distance between any two nodes of the set S is less than or equal to ltnc(uv). Consequently, ltnc(S) equals ltnc(uv).

Maximality Let the node d be a member of the set \(\mathcal {D}\), which is not in the set S (\(d \notin S\,\) and \( d \in \mathcal {D}\)). According to the definition of the FindSet function, at least one of the inequalities ltnc\((d,u) > \mathrm{ltnc}(u,v)\) or ltnc\((d,v) > \mathrm{ltnc}(u,v)\) is satisfied. Therefore, if the node d is added to the set S, the latency of the set S is increased and is not equal to ltnc(uv) anymore. Since each optional node \(d\notin S\,\) cannot be added to the set S, it is a maximal set.

Proof of Lemma 2:

Proof

Let the set S be the output of the FindSet(uv) function. Suppose on the contrary that \(n_1\) and \(n_2\) are two members of the set S such that

$$\begin{aligned} \mathrm{ltnc}(n_1,n_2) > 2 \times \mathrm{ltnc}(u,v) \end{aligned}$$
(14)

Based on the comparisons were made in FindSet(uv):

$$\begin{aligned} \mathrm{ltnc}(n_1,u)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(15)
$$\begin{aligned} \mathrm{ltnc}(n_2,u)\le & {} \mathrm{ltnc}(u,v) \end{aligned}$$
(16)

In addition, the triangle inequality between latencies states that

$$\begin{aligned} \mathrm{ltnc}(n_1,n_2) \le \mathrm{ltnc}(n_1,u)+ \mathrm{ltnc}(n_2,u) \end{aligned}$$
(17)

Adding up Eqs. (15), (16) and (17) leads to

$$\begin{aligned} \mathrm{ltnc}(n_1,n_2) \le 2 \times \mathrm{ltnc}(u,v) \end{aligned}$$
(18)

Overall, the output latency of FindSet(uv) cannot be more than \(2 \times \mathrm{ltnc}(u,v)\) because Eq. (18) contradicts the Eq. (14).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Malekimajd, M., Movaghar, A. & Hosseinimotlagh, S. Minimizing latency in geo-distributed clouds. J Supercomput 71, 4423–4445 (2015). https://doi.org/10.1007/s11227-015-1538-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-015-1538-1

Keywords

Navigation