Advertisement

Zephyrus2: On the Fly Deployment Optimization Using SMT and CP Technologies

  • Erika Ábrahám
  • Florian Corzilius
  • Einar Broch Johnsen
  • Gereon Kremer
  • Jacopo Mauro
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9984)

Abstract

Modern cloud applications consist of software components deployed on multiple virtual machines. Deploying such applications is error prone and requires detailed system expertise. The deployment optimization problem is about how to configure and deploy applications correctly while at the same time minimizing resource cost on the cloud. This problem is addressed by tools such as Zephyrus, which take a declarative specification of the components and their configuration requirements as input and propose an optimal deployment. This paper presents Zephyrus2, a new tool which addresses deployment optimization by exploiting modern SMT and CP technologies to handle larger and more complex deployment scenarios. Compared to Zephyrus, Zephyrus2 can solve problems involving hundreds of components to be deployed on hundreds of virtual machines in a matter of seconds instead of minutes. This significant speed-up, combined with an improved specification format, enables Zephyrus2 to interactively support on the fly decision making.

Keywords

Virtual Machine Cloud Provider Cloud Application Deployment Scenario Constraint Optimization Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgements

We would like to thank Andreas Schutt from NICTA (National ICT of Australia) for proposing a search annotation for the deployment problem when submitting Zephyrus2 instances to the MiniZinc Challenge 2016.

References

  1. 1.
    Ábrahám, E., Corzilius, F., Johnsen, E.B., Kremer, G., Mauro, J.: Zephyrus2: On the Fly deployment optimization using SMT and CP technologies. Technical report, University of Oslo (2016)Google Scholar
  2. 2.
    Amadini, R., Gabbrielli, M., Mauro, J.: SUNNY: a lazy portfolio approach for constraint solving. TPLP 14(4–5), 509–524 (2014)zbMATHGoogle Scholar
  3. 3.
    Amadini, R., Gabbrielli, M., Mauro, J.: A multicore tool for constraint solving. In IJCAI, pp. 232–238, 2015Google Scholar
  4. 4.
    Amazon: AWS CloudFormation. http://aws.amazon.com/cloudformation/
  5. 5.
    Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB Standard Version 2.6 (2015)Google Scholar
  6. 6.
    Barroso, L.A., Clidaras, J., Hölzle, U.: The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines. Morgan and Claypool Publishers, San Rafael (2013)Google Scholar
  7. 7.
    Bjørner, N., Phan, A.-D., Fleckenstein, L.: \(\nu \)Z - an optimizing SMT solver. In TACAS, pp. 194–199, 2015Google Scholar
  8. 8.
    Bofill, M., Palahí, M., Suy, J., Villaret, M.: Solving constraint satisfaction problems with SAT modulo theories. Constraints 17(3), 273–303 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Burgess, M.: A site configuration engine. Comput. Syst. 8(2), 309–337 (1995)MathSciNetGoogle Scholar
  10. 10.
    Cambazard, H., Mehta, D., O’Sullivan, B., Simonis, H.: Bin packing with linear usage costs - an application to energy management in data centres. In: CP, pp. 47–62 (2013)Google Scholar
  11. 11.
    Catan, M., et al.: Aeolus: mastering the complexity of cloud application deployment. In: Lau, K.-K., Lamersdorf, W., Pimentel, E. (eds.) ESOCC 2013. LNCS, vol. 8135, pp. 1–3. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-40651-5_1 CrossRefGoogle Scholar
  12. 12.
    CenturyLink: Cloud Blueprints. https://www.centurylinkcloud.com/blueprints/
  13. 13.
    Chuffed: The CP solver. https://github.com/geoffchu/chuffed
  14. 14.
    Coffman Jr., E.G., Garey, M.R., Johnson, D.S.: Approximation algorithms for bin packing: a survey. In: Approximation Algorithms for NP-hard Problems, pp. 46–93 (1997)Google Scholar
  15. 15.
    Cosmo, R., Eiche, A., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic deployment of services in the cloud with aeolus blender. In: Barros, A., Grigori, D., Narendra, N.C., Dam, H.K. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 397–411. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-48616-0_28 CrossRefGoogle Scholar
  16. 16.
    Cosmo, R.D., Lienhardt, M., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic application deployment in the cloud: from practice to theory and back. In: CONCUR, pp. 1–16 (2015)Google Scholar
  17. 17.
    Cosmo, R.D., Lienhardt, M., Treinen, R., Zacchiroli, S., Zwolakowski, J., Eiche, A., Agahi, A.: Automated synthesis and deployment of cloud applications. In: ASE, pp. 211–222 (2014)Google Scholar
  18. 18.
    Cosmo, R.D., Mauro, J., Zacchiroli, S., Zavattaro, G.: Aeolus: a component model for the cloud. Inf. Comput. 239, 100–121 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Gouw, S., Lienhardt, M., Mauro, J., Nobakht, B., Zavattaro, G.: On the integration of automatic deployment into the ABS modeling language. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 49–64. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-24072-5_4 CrossRefGoogle Scholar
  20. 20.
    Gouw, S., Mauro, J., Nobakht, B., Zavattaro, G.: Declarative elasticity in ABS. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 118–134. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-44482-6_8 CrossRefGoogle Scholar
  21. 21.
    Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
  22. 22.
    Docker Inc.: Docker. https://www.docker.com/
  23. 23.
    Fischer, J., Majumdar, R., Esmaeilsabzali, S.: Engage: a deployment management system. In: PLDI, pp. 263–274 (2012)Google Scholar
  24. 24.
  25. 25.
    Frey, S., Fittkau, F., Hasselbring, W.: Search-based genetic optimization for deployment and reconfiguration of software in the cloud. In: ICSE, pp. 512–521 (2013)Google Scholar
  26. 26.
    Gabbrielli, M., Giallorenzo, S., Guidi, C., Mauro, J., Montesi, F.: Self-reconfiguring microservices. In: Ábrahám, E., Bonsangue, M., Johnsen, E.B. (eds.) Theory and Practice of Formal Methods. LNCS, vol. 9660, pp. 194–210. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-30734-3_14 CrossRefGoogle Scholar
  27. 27.
    GECODE: An open, free, efficient constraint solving toolkit. http://www.gecode.org
  28. 28.
    Google: Optimization tools. https://developers.google.com/optimization/
  29. 29.
    Hermenier, F., Demassey, S., Lorca, X.: Bin repacking scheduling in virtualized datacenters. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 27–41. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-23786-7_5 CrossRefGoogle Scholar
  30. 30.
    Hewson, J.A., Anderson, P., Gordon, A.D.: A declarative approach to automated configuration. In: LISA, pp. 51–66 (2012)Google Scholar
  31. 31.
    Juju: DevOps Distilled. https://jujucharms.com/
  32. 32.
    Kanies, L.: Puppet: next-generation configuration management. Login: the USENIX Mag. 31(1), 19–25 (2006)Google Scholar
  33. 33.
    Malapert, A., Régin, J., Parpaillon, J.: The package server location problem. In: ICORES, pp. 193–204 (2013)Google Scholar
  34. 34.
  35. 35.
    Mi, H., Wang, H., Yin, G., Zhou, Y., xi Shi, D., Yuan, L.: Online self-reconfiguration with performance guarantee for energy-efficient large-scale cloud computing data centers. In: SCC, pp. 514–521 (2010)Google Scholar
  36. 36.
    Michel, L., Shvartsman, A.A., Sonderegger, E.L., Hentenryck, P.V.: Load balancing and almost symmetries for RAMBO quorum hosting. In: CP, pp. 598–612 (2010)Google Scholar
  37. 37.
    Michel, L., Hentenryck, P., Sonderegger, E., Shvartsman, A., Moraal, M.: Bandwidth-limited optimal deployment of eventually-serializable data services. In: Hoeve, W.-J., Hooker, J.N. (eds.) CPAIOR 2009. LNCS, vol. 5547, pp. 193–207. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-01929-6_15 CrossRefGoogle Scholar
  38. 38.
    Narain, S., Levin, G., Malik, S., Kaul, V.: Declarative infrastructure configuration synthesis and debugging. J. Netw. Syst. Manage. 16(3), 235–258 (2008)CrossRefGoogle Scholar
  39. 39.
    Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74970-7_38 CrossRefGoogle Scholar
  40. 40.
  41. 41.
    OASIS: Topology and orchestration specification for cloud applications (TOSCA) version 1.0.http://docs.oasis-open.org/tosca/TOSCA/v1.0/cs01/TOSCA-v1.0-cs01.html
  42. 42.
  43. 43.
    Puppet Labs: Marionette collective. http://docs.puppetlabs.com/mcollective/
  44. 44.
    Quinton, C., Pleuss, A., Berre, D.L., Duchien, L., Botterweck, G.: Consistency checking for the evolution of cardinality-based feature models. In: SPLC, pp. 122–131 (2014)Google Scholar
  45. 45.
    Régin, J., Rezgui, M.: Discussion about constraint programming bin packing models. In: AI for Data Center Management and Cloud, Computing, pp. 21–23 (2011)Google Scholar
  46. 46.
    Rendl, A., Guns, T., Stuckey, P.J., Tack, G.: MiniSearch: a solver-independent meta-search language for minizinc. In: Pesant, G. (ed.) CP 2015. LNCS, vol. 9255, pp. 376–392. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-23219-5_27 Google Scholar
  47. 47.
    Rossi, F., van Beek, P., Walsh, T. (eds.): Handbook of Constraint Programming. Elsevier, Amsterdam (2006)zbMATHGoogle Scholar
  48. 48.
    Stuckey, P.J., Banda, M.G., Maher, M., Marriott, K., Slaney, J., Somogyi, Z., Wallace, M., Walsh, T.: The G12 project: mapping solver independent models to efficient solutions. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 9–13. Springer, Heidelberg (2005). doi: 10.1007/11562931_3 CrossRefGoogle Scholar
  49. 49.
    Tran, P.N., Casucci, L., Timm-Giel, A.: Optimal mapping of virtual networks considering reactive reconfiguration. In: CLOUDNET, pp. 35–40 (2012)Google Scholar
  50. 50.
    Zwolakowski, J.: A Formal Approach to Distributed Application Synthesis and deployment automation. Ph.D. thesis, Université Paris Diderot Paris 7 (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Erika Ábrahám
    • 1
  • Florian Corzilius
    • 1
  • Einar Broch Johnsen
    • 2
  • Gereon Kremer
    • 1
  • Jacopo Mauro
    • 2
  1. 1.RWTH Aachen UniversityAachenGermany
  2. 2.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations