Cluster Computing

, Volume 20, Issue 3, pp 2687–2701 | Cite as

Cost-aware horizontal scaling of NoSQL databases using probabilistic model checking

  • Athanasios Naskos
  • Anastasios Gounaris
  • Panagiotis Katsaros


In this work we target horizontal scaling of NoSQL databases, which exhibit highly varying, unpredictable and difficult to model behavior coupled with transient phenomena during VM removals and/or additions. We propose a solution that is cost-aware, systematic, dependable while it accounts for performance unpredictability and volatility. To this end, we model the elasticity as a dynamically instantiated Markov decision process, which can be both solved and verified using probabilistic model checking. Further, we propose a range of complementary decision making policies, which are thoroughly evaluated in workloads from real traces. The evaluation provides strong insights into the trade-offs between performance and cost that our policies can achieve and prove that we can avoid both over- and under-provisioning.


Cloud elasticity Probabilistic model checking Quantitative verification Autonomic computing PRISM NoSQL databases 


  1. 1.
    Ali-Eldin, A., Tordsson, J., Elmroth, E.: An adaptive hybrid elasticity controller for cloud infrastructures. In: IEEE Network Operations and Management Symposium (NOMS), pp. 204–212 (2012)Google Scholar
  2. 2.
    Al-Shishtawy, A., Vlassov, V.: Elastman: elasticity manager for elastic key-value stores in the cloud. In: ACM Cloud and Autonomic Computing Conference, CAC ’13, Miami, FL, USA, August 05–09, pp. 7 (2013)Google Scholar
  3. 3.
    Ashraf, A., Byholm, B., Porres, I.: Cramp: cost-efficient resource allocation for multiple web applications with proactive scaling. In: Cloud Computing Technology and Science (CloudCom), pp. 581–586 (2012)Google Scholar
  4. 4.
    Athanasios, N., Anastasios, G., Sioutas, S.: Cloud elasticity: a survey. In: ALGOCLOUD (2015)Google Scholar
  5. 5.
    Athanasios, N., Emmanouela, S., Anastasios, G., Panagiotis, K., Dimitrios, T., Ioannis, K., Spyros, S.: Dependable horizontal scaling based on probabilistic model checking. In: Cluster, Cloud and Grid Computing (CCGrid) (2015)Google Scholar
  6. 6.
    Bairavasundaram, L.N., Soundararajan, G., Mathur, V., Voruganti, K., Srinivasan, K.: Responding rapidly to service level violations using virtual appliances. SIGOPS Oper. Syst. Rev. 46(3), 32–40 (2012)CrossRefGoogle Scholar
  7. 7.
    Barker, S.K., Chi, Y., Hacigümüs, H., Shenoy, P.J., Shuttledb, E.C.: Database-aware elasticity in the cloud. In: 11th International Conference on Autonomic Computing, ICAC ’14, Philadelphia, PA, USA, June 18–20, pp. 33–43 (2014)Google Scholar
  8. 8.
    Beernaert, L., Matos, M., Vilaça, R., Oliveira, R.: Automatic elasticity in openstack. In: Proceedings of the Workshop on Secure and Dependable Middleware for Cloud Monitoring and Management, ACM, pp. 2. (2012)Google Scholar
  9. 9.
    Cámara, J., Moreno, G.A., Garlan, D.: Stochastic game analysis and latency awareness for proactive self-adaptation. In: SEAMS, pp. 155–164 (2014)Google Scholar
  10. 10.
    Cardellini, V., Casalicchio, E., Presti, F.L., Silvestri, L. Sla-aware resource management for application service providers in the cloud. In: IEEE First International Symposium on Network Cloud Computing and Applications (NCCA), pp. 20–27 (2011)Google Scholar
  11. 11.
    Chalkiadaki, M., Magoutis, K.: Managing service performance in the cassandra distributed storage system. In: IEEE 5th International Conference on Cloud Computing Technology and Science, CloudCom 2013, Bristol, United Kingdom, December 2–5, vol. 1, pp. 64–71 (2013)Google Scholar
  12. 12.
    Copil, G., Moldovan, D., Truong, H.-L., Dustdar, S.: On controlling cloud services elasticity in heterogeneous clouds. In: IEEE/ACM 7th International Conference on Utility and Cloud Computing (UCC), pp. 573–578 (2014)Google Scholar
  13. 13.
    Copil, G., Moldovan, D., Truong, H.-L., Dustdar, S.: Sybl: an extensible language for controlling elasticity in cloud applications. In: IEEE International Symposium on Cluster Computing and the Grid (to appear), CCGRID, vol. 13 (2013)Google Scholar
  14. 14.
    Coutinho, E.F., de Carvalho Sousa, F.R., Rego, P.A.L., Gomes, D.G., Jde Souza, J.N.: Elasticity in cloud computing: a survey. annals of telecommunications-annales des télécommunications, pp. 1–21 (2015)Google Scholar
  15. 15.
    Cruz, F., Maia, F., Matos, M., Oliveira, R., Paulo, J., Pereira, J., Vilaça, R.: Met: workload aware elasticity for nosql. In: Proceedings of the 8th ACM European Conference on Computer Systems, ACM, pp. 183–196 (2013)Google Scholar
  16. 16.
    da Silva Dias, A., Nakamura, L.H.V., Estrella, J.C., Santana, R.H.C., Santana, M.J.: Providing iaas resources automatically through prediction and monitoring approaches. In: IEEE Symposium on Computers and Communications, ISCC 2014, Funchal, Madeira, Portugal, June 23–26, pp. 1–7 (2014)Google Scholar
  17. 17.
    Di Sanzo, P., Rughetti, D., Ciciani, B., Quaglia, F.: Auto-tuning of cloud-based in-memory transactional data grids via machine learning. In: IEEE Second Symposium on Network Cloud Computing and Applications (NCCA), pp. 9–16 (2012)Google Scholar
  18. 18.
    Dutreilh, X., Rivierre, N., Moreau, A., Malenfant, J., Truck, I.: From data center resource allocation to control theory and back. In: IEEE CLOUD, pp. 410–417 (2010)Google Scholar
  19. 19.
    Dutta, S., Gera, S., Verma, A., Viswanathan, B.: Smartscale: automatic application scaling in enterprise clouds. In: IEEE CLOUD, pp. 221–228 (2012)Google Scholar
  20. 20.
    Fernandez, H., Pierre, G., Kielmann, T.: Autoscaling web applications in heterogeneous cloud infrastructures. In: 2014 IEEE International Conference on Cloud Engineering, pp. 195–204 (2014)Google Scholar
  21. 21.
    Forejt, V., Kwiatkowska, M., Norman, G., Parker, D.: Automated verification techniques for probabilistic systems. In: Formal Methods for Eternal Networked Software Systems (SFM’11). LNCS, vol. 6659, pp. 53–113 (2011)Google Scholar
  22. 22.
    Gueye, S.M.K., De Palma, N., Rutten, É., Tchana, A., Berthier, N.: Coordinating self-sizing and self-repair managers for multi-tier systems. Future Gener. Comp. Syst. 35, 14–26 (2014)CrossRefGoogle Scholar
  23. 23.
    Han, R., Guo, L., Ghanem, M.M., Guo, Y.: Lightweight resource scaling for cloud applications. In: 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 644–651 (2012)Google Scholar
  24. 24.
    Han, R., Ghanem, M., Guo, L., Guo, Y., Osmond, M.: Enabling cost-aware and adaptive elasticity of multi-tier cloud applications. Future Gener. Comp. Syst. 32, 82–98 (2014)CrossRefGoogle Scholar
  25. 25.
    Han, Z., Tan, H., Chen, G., Wang, R., Chen, Y., Lau, F.: Dynamic virtual machine management via approximate markov decision process. arXiv:1602.00097 (2016)
  26. 26.
    Herbst, N.R., Kounev, S., Reussner, R.: Elasticity in cloud computing: what it is, and what it is not. In: Proceedings of the 10th International Conference on Autonomic Computing (ICAC 13), pp. 23–27, Berkeley, CA, USENIX (2013)Google Scholar
  27. 27.
    Jackson, D.: Software abstractions: logic, language, and analysis. MIT press, Cambridge (2012)Google Scholar
  28. 28.
    Jiang, J., Lu, J., Zhang, G., Long, G.: Optimal cloud resource auto-scaling for web applications. In: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 58–65 (2013)Google Scholar
  29. 29.
    Kalyvianaki, E., Charalambous, T., Hand, S.: Self-adaptive and self-configured CPU resource provisioning for virtualized servers using kalman filters. In: Proceedings of the 6th International Conference on Autonomic Computing (ICAC), June 15–19, 2009, Barcelona, Spain, pp. 117–126 (2009)Google Scholar
  30. 30.
    Koukis, V., Venetsanopoulos, C., Koziris, N.: \(\sim \)okeanos: building a cloud, cluster by cluster. IEEE Internet Comput. 17(3), 67–71 (2013)CrossRefGoogle Scholar
  31. 31.
    Kwiatkowska, M., Norman, G., Parker, D.: Prism: probabilistic model checking for performance and reliability analysis. SIGMETRICS Perform. Eval. Rev. 36(4), 40–45 (2009)CrossRefGoogle Scholar
  32. 32.
    Lim, H.C., Babu, S., Chase, J.S.: Automated control for elastic storage. In: Proceedings of the 7th International Conference on Autonomic Computing (ACM), pp. 1–10 (2010)Google Scholar
  33. 33.
    Mao, M., Humphrey, M.: Scaling and scheduling to maximize application performance within budget constraints in cloud workflows. In: 27th IEEE International Symposium on Parallel and Distributed Processing, (IPDPS), Cambridge, MA, USA, May 20–24, 2013, pp. 67–78 (2013)Google Scholar
  34. 34.
    Marshall, P., Keahey, K., Freeman, T.: Elastic site: using clouds to elastically extend site resources. In: CCGRID, pp. 43–52 (2010)Google Scholar
  35. 35.
    Morais, F.J.A., Brasileiro, F.V., Lopes, R.V., Santos, R.A., Satterfield, W., Rosa, L.: Autoflex: service agnostic auto-scaling framework for iaas deployment models. In: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 42–49 (2013)Google Scholar
  36. 36.
    Moreno, G.A., Cámara, J., Garlan, D., Schmerl, B.: Proactive self-adaptation under uncertainty: a probabilistic model checking approach. In: Proceedings of the Joint Meeting of the European Software Engineering Conference and the Symposium on Foundations of Software Engineering (ESEC/FSE) (2015)Google Scholar
  37. 37.
    Moreno, G.A., Cámara, J., Garlan, D., Schmerl, B.: Efficient decision-making under uncertainty for proactive self-adaptation. In: IEEE International Conference on Autonomic Computing (ICAC) (2016)Google Scholar
  38. 38.
    Naskos, A., Stachtiari, E., Katsaros, P., Gounaris, A.: Probabilistic model checking at runtime for the provisioning of cloud resources. In: 6th International Conference on Proceedings of Runtime Verification (RV) Vienna, Austria, September 22–25, pp. 275–280 (2015)Google Scholar
  39. 39.
    Paraiso, F., Merle, P., Seinturier, L.: Managing elasticity across multiple cloud providers. In: Proceedings of the 2013 International Workshop on Multi-cloud Applications and Federated Clouds, pp. 53–60 (2013)Google Scholar
  40. 40.
    Perez-Palacin, D., Mirandola, R., Calinescu, R.: Synthesis of adaptation plans for cloud infrastructure with hybrid cost models. In: 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, Verona, Italy, August 27–29, 2014, pp. 443–450 (2014)Google Scholar
  41. 41.
    Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Programming, 1st edn. Wiley, New York (1994)CrossRefMATHGoogle Scholar
  42. 42.
    Qu, C., Calheiros, R.N., Buyya, R.: SLO-aware deployment of web applications requiring strong consistency using multiple clouds. In: IEEE 8th International Conference on Cloud Computing (CLOUD), pp. 860–868 (2015)Google Scholar
  43. 43.
    Roy, N., Dubey, A., Gokhale, A.: Efficient autoscaling in the cloud using predictive models for workload forecasting. In: IEEE International Conference on Cloud Computing (CLOUD), pp. 500–507 (2011)Google Scholar
  44. 44.
    Serrano, D., Bouchenak, S., Kouki, Y., Ledoux, T., Lejeune, J., Sopena, J., et al.: Towards QOS-oriented SLA guarantees for online cloud services. In: IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid) (2013)Google Scholar
  45. 45.
    Tsoumakos, D., Konstantinou, I., Boumpouka, C., Sioutas, S., Koziris, N.: Automated, elastic resource provisioning for nosql clusters using tiramola. In: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 34–41 (2013)Google Scholar
  46. 46.
    Vaquero, L.M., Morán, D., Galán, F., Alcaraz-Calero, J.M.: Towards runtime reconfiguration of application control policies in the cloud. J Netw Syst Manag 20(4), 489–512 (2012)CrossRefGoogle Scholar
  47. 47.
    Yang, J., Liu, C., Shang, Y., Cheng, B., Mao, Zexiang, Liu, C., Niu, L., Chen, J.: A cost-aware auto-scaling approach using the workload prediction in service clouds. Inform Syst Front 16(1), 7–18 (2014)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Department of InformaticsAristotle University of ThessalonikiThessalonikiGreece

Personalised recommendations