Skip to main content

Advertisement

Log in

An Optimization-Based Scheme for Efficient Virtual Machine Placement

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

According to the important methodology of convex optimization theory, the energy-efficient and scalability problems of modern data centers are studied. Then a novel virtual machine (VM) placement scheme is proposed for solving these problems in large scale. Firstly, by referring the definition of VM placement fairness and utility function, the basic algorithm of VM placement which fulfills server constraints of physical machines is discussed. Then, we abstract the VM placement as an optimization problem which considers the inherent dependencies and traffic between VMs. By given the structural differences of recently proposed data center architectures, we further investigate a comparative analysis on the impact of the network architectures, server constraints and application dependencies on the potential performance gain of optimization-based VM placement. Comparing with the existing schemes, the performance improvements are illustrated from multiple perspectives, such as reducing the number of physical machines deployment, decreasing communication cost between VMs, improving energy-efficient and scalability of data centers.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Deed, C., Cragg, P.: Business Impacts of Cloud Computing. Cloud Computing Service Deployment Models: Layers and Management, pp. 274–288. IGI Global (2013)

  2. Ho, S.M., Lee, H.: A thief among us: the use of finite-state machines to dissect insider threat in cloud communications. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 3(2), 82–98 (2012)

    Google Scholar 

  3. Armbrust, M., Fox, A., Griffith, R., et al.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)

    Article  Google Scholar 

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

    Article  Google Scholar 

  5. Shieh, A., Kandula, S., Greenberg, A., et al.: Sharing the data center network. In: Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation (2011)

  6. Bari, M., Boutaba, R., Esteves, R., Granville, L., Podlesny, M., Rabbani, M., Zhang, Q., Zhani, M.: Data center network virtualization: a survey. IEEE Commun. Surv. Tutor. 15(2), 909–928 (2013)

    Google Scholar 

  7. Ando, R., Takahashi, K., Suzaki, K.: Inter-domain communication protocol for real-time file access monitor of virtual machine. J. Wirel. Mob. Netw. Ubiquitous Comput. Dependable Appl. 3(2), 120–137 (2012)

    Google Scholar 

  8. Al-Fares, M., Loukissas, A., Vahdat, A.: A scalable, commodity data center network architecture. In: Proceedings of the SIGCOMM 2008 Conference on Data Communication. ACM, pp. 63–74 (2008)

  9. Greenberg, A., Hamilton, J.R., Jain, N., Kandula, S., Kim, C., Lahiri, P., Maltz, D.A., Patel, P., Sengupta, S.: VL2: a scalable and flexible data center network. In: Proceedings of the SIGCOMM 2009 Conference on Data Communication. ACM, pp. 51–62 (2009)

  10. Guo, C., Wu, H., Tan, K., Shi, L., Zhang, Y., Lu, S.: Dcell: a scalable and fault-tolerant network structure for data centers. In: Proceedings of the SIGCOMM 2008 Conference on Data Communication. ACM, pp. 75–86 (2008)

  11. Guo, C., Lu, G., Li, D., Wu, H., Zhang, X., Shi, Y., Tian, C.: Bcube: a high performance, server-centric network architecture for modular data centers. In: Proceedings of the SIGCOMM 2009 Conference on Data Communication. ACM, pp. 63–74 (2009)

  12. Kurp, P.: Green computing. Commun. ACM 51(10), 11–13 (2008)

    Article  Google Scholar 

  13. Baliga, J., Ayre, R.W.A., Hinton, K., Tucker, R.S.: Green cloud computing: balancing energy in processing, storage, and transport. Proc. IEEE 99(1), 149–167 (2011)

    Article  Google Scholar 

  14. Piao, J.T., Yan, J.: A network-aware virtual machine placement and migration approach in cloud computing. In Proceeding of the 9th International Conference on Grid and Cloud Computing, pp. 87–92 (2010)

  15. Wang, W., Chen, H., Chen, X.: An availability-aware virtual machine placement approach for dynamic scaling of cloud applications. In: The 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing, pp. 509–516 (2012)

  16. VMware Capacity Planner, http://www.vmware.com/products/capacityplanner/

  17. IBM WebSphere CloudBurst, http://www-01.ibm.com/software/webservers/cloudburst/

  18. Novell PlateSpin Recon, http://www.novell.com/products/recon/

  19. Lanamark Suite, http://www.lanamark.com/

  20. Van, H.N., Tran, F.D., Menaud, J.M.: Autonomic virtual resource management for service hosting platforms. In: Software Engineering Challenges of Cloud Computing, ICSE Workshop on (2009)

  21. Meng, X., Pappas, V., Zhang, L.: Improving the scalability of data center networks with traffic-aware virtual machine placement. In: Proceedings of INFOCOM (2010)

  22. Bobroff, N., Kochut, A., Beaty, K.: Dynamic placement of virtual machines for managing SLA violations. Integrated Network Management. 2007. In: Proceedings of 10th IFIP/IEEE International, Symposium, pp. 119–128

  23. Chaisiri, S., Lee, B.S., Niyato, D.: Optimal virtual machine placement across multiple cloud providers. In: Proceedings of IEEE Asia-Pacific Services Computing Conference, APSCC, pp. 103–110 (2009)

  24. Nakada, H., Hirofuchi, T., Ogawa, H., Itoh, S.: Toward virtual machine packing optimization based on genetic algorithm. In: Proceedings of the 10th International Work Conference on Artificial Neural Networks. Springer, pp. 651–654 (2009)

  25. Agrawal, S., Bose, S.K., Sundarrajan, S.: Grouping genetic algorithm for solving the server consolidation problem with conflicts. In: Proceedings of the First ACM/SIGEVO Summit on Genetic and Evolutionary Computation, ACM pp. 1–8 (2009)

  26. Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)

    Book  MATH  Google Scholar 

  27. Chi, C.Y.: Convex Optimization for Signal Processing and Communications, to be published

Download references

Acknowledgments

This work was supported in part by the Natural Science Foundation of China under Grant No. 61301081, in part by the SRFDP under Grant No. 20120009120005, in part by the MIIT of China under Grant No. 2012ZX03005003-04, in part by the Beijing Natural Science Foundation under Grant No. 4122060.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilsun You.

Appendix

Appendix

1.1 Appendix A: Proof of Theorem 1

Proof

The constraints of \(\left( {\varvec{P}}_1\right) \) are linear and the constraint domain is convex set. In addition,

$$\begin{aligned} \frac{\partial ^{2}U_p }{\partial x_{pv}^2 \left( t \right) }<0 \hbox { and } \frac{\partial ^{2}U_p }{\partial x_{pv} \left( t \right) \partial x_{pw} \left( t \right) }<0 \end{aligned}$$
(38)

are satisfied. Thus, the Hesse matrix of the objective function is negative definition. That means the objection function is concave but not strictly concave with respect to

$$\begin{aligned} x\left( t \right) =\left( {x_{pv} \left( t \right) ,p\in P,v\in V} \right) . \end{aligned}$$
(39)

According to [27], \(\left( {\varvec{P}}_1\right) \) is a convex programming problem, it is easy to conclude that the optimal solution exists but not unique. Assuming that \(y_1 \left( t \right) \) and \(y_2 \left( t \right) \) are two different solutions for the total load requirements. Let \(\alpha \) be any real number which ranges from 0 to 1. Then, since \(U_p \left( {y_p \left( t \right) } \right) =w_p \log y_p \left( t \right) \) is the objective function, when \(y_1 \left( t \right) \ne y_2 \left( t \right) \), clearly:

$$\begin{aligned} U_p \left( {\alpha y_1 \left( t \right) +\left( {1-\alpha } \right) y_2 \left( t \right) } \right) >\alpha U_p \left( {y_1 \left( t \right) } \right) +\left( {1-\alpha } \right) U_p \left( {y_2 \left( t \right) } \right) . \end{aligned}$$
(40)

The objection function is strictly concave with respect to \(y=\left( {y_p \left( t \right) ,p\in P} \right) \), the unique optimal solution exists for total load requirements. \(\square \)

1.2 Appendix B: Proof of Theorem 2

Proof

Based on the fact that \({\varvec{0}}\in R, R\ne \varnothing \). Assuming \(x_i \left( t \right) \ge 0,i=1,2,\ldots ,n, R\) is not empty bounded set. Due to the constraints of \(\left( {\varvec{P}}_2\right) \) are linear, it is ensured that \(R\) is a closed set. For the case that the objective function given by Eq. (29) is linear and continuous function, \(\left( {\varvec{P}}_{\varvec{2}}\right) \) is equivalent to seek the maximum values problem upon the non-empty, bounded closed set. Therefore, the unique optimal solution exists, namely \(R^{*}\ne \varnothing \). \(\square \)

1.3 Appendix C: The Expressions of Communication Distance for Different Topologies

In traditional Tree topologies, we assign \(n_0 \) as the output number of the access switch, and \(n_1 \) as the output number of the aggregation switch, then

$$\begin{aligned} Distance_{kl}^{Tree} =\left\{ {\begin{array}{ll} 0&{}\quad { if}\;k=l \\ 1&{}\quad { if}\;\left\lfloor {\frac{k-1}{n_0 }} \right\rfloor =\left\lfloor {\frac{l-1}{n_0 }} \right\rfloor \\ 3&{}\quad { if}\;\left\lfloor {\frac{k-1}{n_0 }} \right\rfloor \ne \left\lfloor {\frac{l-1}{n_0 }} \right\rfloor \wedge \left\lfloor {\frac{k-1}{n_0 n_1 }} \right\rfloor =\left\lfloor {\frac{l-1}{n_0 n_1 }} \right\rfloor \\ 5&{}\quad { if}\;\left\lfloor {\frac{k-1}{n_0 n_1 }} \right\rfloor \ne \left\lfloor {\frac{l-1}{n_0 n_1 }} \right\rfloor \\ \end{array}} \right. . \end{aligned}$$
(41)

For the VL2 topologies, in order to achieve variable load balancing, assume that all traffic from the access switch will go out through the core switch for further forwarding, setting \(n_0 \) as the output number of the access switch, then

$$\begin{aligned} Distance_{kl}^{VL2} =\left\{ {\begin{array}{ll} 0&{}\quad { if}\;k=l \\ 1&{}\quad { if}\;\left\lfloor {\frac{k-1}{n_0 }} \right\rfloor =\left\lfloor {\frac{l-1}{n_0 }} \right\rfloor \\ 5&{}\quad { if}\;\left\lfloor {\frac{k-1}{n_0 n_1 }} \right\rfloor \ne \left\lfloor {\frac{l-1}{n_0 n_1 }} \right\rfloor \\ \end{array}} \right. . \end{aligned}$$
(42)

In Fat-Tree architecture, communication distance is the function of \(n_{port} \), the total number of ports per switch, then:

$$\begin{aligned} Distance_{kl}^{Fat-Tree} \!=\!\left\{ {\begin{array}{ll} 0&{}\quad { if}\;k\!=l\! \\ 1&{}\quad { if}\;\left\lfloor {\frac{\!2(k\!-\!1)}{n_{port} }} \right\rfloor \!=\!\left\lfloor {\frac{2(l\!-\!1)}{n_{port} }} \right\rfloor \\ 3&{}\quad { if}\;\left\lfloor {\frac{\!2(k\!-\!1)}{n_{port} }} \right\rfloor \ne \left\lfloor {\frac{2(l\!-\!1)}{n_{port} }} \right\rfloor \wedge \left\lfloor {\frac{\!4(k\!-\!1)}{n_{port}^2 }} \right\rfloor \!=\!\left\lfloor {\frac{\!4(l\!-\!1)}{n_{port}^2 }} \right\rfloor \\ 5&{}\quad { if}\;\left\lfloor {\frac{\!4(k\!-\!1)}{n_{port}^2 }} \right\rfloor \ne \left\lfloor {\frac{\!4(l\!-\!1)}{n_{port}^2 }} \right\rfloor \\ \end{array}} \right. . \qquad \end{aligned}$$
(43)

In BCube framework, communication distance is the Hamming distance function of server address, then:

$$\begin{aligned} Distance_{kl}^{BCube} =\left\{ {\begin{array}{ll} 0&{}\quad { if}\;k=l \\ 2\;hamming\left( {addr\left( k \right) ,addr\left( l \right) } \right) -1&{}\quad { if}\;k\ne l \\ \end{array}} \right. . \end{aligned}$$
(44)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Song, F., Huang, D., Zhou, H. et al. An Optimization-Based Scheme for Efficient Virtual Machine Placement. Int J Parallel Prog 42, 853–872 (2014). https://doi.org/10.1007/s10766-013-0274-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-013-0274-5

Keywords

Navigation