Abstract
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.
Similar content being viewed by others
Notes
In this work, the terms node and VM are used interchangeably.
This policy was originally proposed in our previous work [5] named as ADVANCED.
References
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)
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)
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)
Athanasios, N., Anastasios, G., Sioutas, S.: Cloud elasticity: a survey. In: ALGOCLOUD (2015)
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)
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)
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)
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)
Cámara, J., Moreno, G.A., Garlan, D.: Stochastic game analysis and latency awareness for proactive self-adaptation. In: SEAMS, pp. 155–164 (2014)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Dutta, S., Gera, S., Verma, A., Viswanathan, B.: Smartscale: automatic application scaling in enterprise clouds. In: IEEE CLOUD, pp. 221–228 (2012)
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)
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)
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)
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)
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)
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)
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)
Jackson, D.: Software abstractions: logic, language, and analysis. MIT press, Cambridge (2012)
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)
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)
Koukis, V., Venetsanopoulos, C., Koziris, N.: \(\sim \)okeanos: building a cloud, cluster by cluster. IEEE Internet Comput. 17(3), 67–71 (2013)
Kwiatkowska, M., Norman, G., Parker, D.: Prism: probabilistic model checking for performance and reliability analysis. SIGMETRICS Perform. Eval. Rev. 36(4), 40–45 (2009)
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)
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)
Marshall, P., Keahey, K., Freeman, T.: Elastic site: using clouds to elastically extend site resources. In: CCGRID, pp. 43–52 (2010)
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)
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)
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)
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)
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)
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)
Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Programming, 1st edn. Wiley, New York (1994)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Naskos, A., Gounaris, A. & Katsaros, P. Cost-aware horizontal scaling of NoSQL databases using probabilistic model checking. Cluster Comput 20, 2687–2701 (2017). https://doi.org/10.1007/s10586-017-0816-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-017-0816-5