An Auto-Scaling Cloud Controller Using Fuzzy Q-Learning - Implementation in OpenStack

  • Hamid Arabnejad
  • Pooyan Jamshidi
  • Giovani Estrada
  • Nabil El Ioini
  • Claus Pahl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9846)

Abstract

Auto-scaling, i.e., acquiring and releasing resources automatically, is a central feature of cloud platforms. The key problem is how and when to add/remove resources in order to meet agreed service-level agreements. Many commercial solutions use simple approaches such as threshold-based ones. However, providing good thresholds for auto-scaling is challenging. Recently, machine learning approaches have been used to complement and even replace expert knowledge. We propose a dynamic learning strategy based on a fuzzy logic algorithm, which learns and modifies fuzzy scaling rules at runtime without requiring prior knowledge. The proposed algorithm is implemented and evaluated as an extension to the OpenStack cloud platform, integrating it with the Heat and Ceilometer components for orchestration and monitoring, respectively, using Heat Orchestration Templates. We specifically focus on implementation and experimentation aspects here. Our auto-scaling approach can handle various load traffic situations, delivering resources on demand while reducing infrastructure and management costs. The experimentals show promising performance in terms of resource adjustment to optimize SLA compliance (response time) while reducing cloud provider’s costs.

Keywords

Cloud computing Orchestration Controller Fuzzy logic Q-learning OpenStack 

References

  1. 1.
    Ali-Eldin, A., Tordsson, J., Elmroth, E.: An adaptive hybrid elasticity controller for cloud infrastructures. In: 2012 IEEE Network Operations and Management Symposium (NOMS), pp. 204–212. IEEE (2012)Google Scholar
  2. 2.
    Chieu, T.C., Mohindra, A., Karve, A.A.: Scalability and performance of web applications in a compute cloud. In: International Conference on e-Business Engineering (2011)Google Scholar
  3. 3.
    Dutreilh, X., Rivierre, N., Moreau, A., Malenfant, J., Truck, I.: From data center resource allocation to control theory and back. In: International Conference on Cloud Computing (CLOUD), pp. 410–417. IEEE (2010)Google Scholar
  4. 4.
    Glorennec, P.Y.: Fuzzy Q-learning and dynamical fuzzy Q-learning. In: Proceedings of the Third IEEE Conference on Fuzzy Systems, 1994, IEEE World Congress on Computational Intelligence, pp. 474–479. IEEE (1994)Google Scholar
  5. 5.
    Han, R., Guo, L., Ghanem, M.M., Guo, Y.: Lightweight resource scaling for cloud applications. In: 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pp. 644–651. IEEE (2012)Google Scholar
  6. 6.
    Hasan, M.Z., Magana, E., Clemm, A., Tucker, L., Gudreddi, S.L.D.: Integrated and autonomic cloud resource scaling. In: Network Operations and Management Symposium (NOMS), pp. 1327–1334 (2012)Google Scholar
  7. 7.
    Huebscher, M.C., McCann, J.A.: A survey of autonomic computing degrees, models, and applications. ACM Comput. Surv. (CSUR) 40(3), 7 (2008)CrossRefGoogle Scholar
  8. 8.
    Jamshidi, P., Ahmad, A., Pahl, C.: Autonomic resource provisioning for cloud-based software. In: 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 95–104. ACM (2014)Google Scholar
  9. 9.
    Jamshidi, P., Sharifloo, A., Pahl, C., Arabnejad, H., Metzger, A., Estrada, G.: Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In: International ACM Sigsoft Conference on the Quality of Software Architectures QoSA’2016, ACM (2016)Google Scholar
  10. 10.
    Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)CrossRefGoogle Scholar
  11. 11.
    Mao, M., Humphrey, M.: Auto-scaling to minimize cost and meet application deadlines in cloud workflows. In: International Conference for High Performance Computing, Networking, Storage and Analysis, ACM (2011)Google Scholar
  12. 12.
    Mell, P., Grance, T.: The NIST definition of cloud computing (2011)Google Scholar
  13. 13.
    Padala, P., Hou, K.Y., Shin, K.G., Zhu, X., Uysal, M., Wang, Z., Singhal, S., Merchant, A.: Automated control of multiple virtualized resources. In: European Conference on Computer systems, pp. 13–26 (2009)Google Scholar
  14. 14.
    Pahl, C.: Containerisation and the PaaS Cloud. IEEE Cloud Comput. 2(3), 24–31 (2015)CrossRefGoogle Scholar
  15. 15.
    Rao, J., Bu, X., Xu, C.Z., Wang, L., Yin, G.: Vconf: a reinforcement learning approach to virtual machines auto-configuration. In: International Conference on Autonomic Computing, pp. 137–146 (2009)Google Scholar
  16. 16.
    Sugeno, M., Yasukawa, T.: A fuzzy-logic-based approach to qualitative modeling. IEEE Trans. Fuzzy Syst. 1(1), 7–31 (1993)CrossRefGoogle Scholar
  17. 17.
    Sutton, R.S., Barto, A.G.: Introduction to Reinforcement Learning, vol. 135. MIT Press, Cambridge (1998)Google Scholar
  18. 18.
    Tesauro, G., Jong, N.K., Das, R., Bennani, M.N.: A hybrid reinforcement learning approach to autonomic resource allocation. In: International Conference on Autonomic Computing, pp. 65–73 (2006)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  • Hamid Arabnejad
    • 1
  • Pooyan Jamshidi
    • 2
  • Giovani Estrada
    • 3
  • Nabil El Ioini
    • 4
  • Claus Pahl
    • 4
  1. 1.IC4, Dublin City UniversityDublinIreland
  2. 2.Imperial College LondonLondonUK
  3. 3.IntelLeixlipIreland
  4. 4.Free University of Bozen-BolzanoBolzanoItaly

Personalised recommendations