skip to main content
research-article

Optimizing the Performance of Containerized Cloud Software Systems Using Adaptive PID Controllers

Authors Info & Claims
Published:18 August 2021Publication History
Skip Abstract Section

Abstract

Control theory has proven to be a practical approach for the design and implementation of controllers, which does not inherit the problems of non-control theoretic controllers due to its strong mathematical background. State-of-the-art auto-scaling controllers suffer from one or more of the following limitations: (1) lack of a reliable performance model, (2) using a performance model with low scalability, tractability, or fidelity, (3) being application- or architecture-specific leading to low extendability, and (4) no guarantee on their efficiency. Consequently, in this article, we strive to mitigate these problems by leveraging an adaptive controller, which is composed of a neural network as the performance model and a Proportional-Integral-Derivative (PID) controller as the scaling engine. More specifically, we design, implement, and analyze different flavours of these adaptive and non-adaptive controllers, and we compare and contrast them against each other to find the most suitable one for managing containerized cloud software systems at runtime. The controller’s objective is to maintain the response time of the controlled software system in a pre-defined range, and meeting the Service-level Agreements, while leading to efficient resource provisioning.

References

  1. Alma Y. Alanis, Jorge D. Rios, Jorge Rivera, Nancy Arana-Daniel, and Carlos Lopez-Franco. 2015. Real-time discrete neural control applied to a Linear Induction Motor. Neurocomputing 164 (2015), 240–251.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Hanieh Alipour and Yan Liu. 2017. Online machine learning for cloud resource provisioning of microservice backend systems. In Proceedings of the IEEE International Conference on Big Data (Big Data’17). IEEE, 2433–2441.Google ScholarGoogle ScholarCross RefCross Ref
  3. Kiam Heong Ang, Gregory Chong, and Yun Li. 2005. PID control system analysis, design, and technology. IEEE Trans. Control Syst. Technol. 13, 4 (2005), 559–576.Google ScholarGoogle ScholarCross RefCross Ref
  4. Hamid Arabnejad, Claus Pahl, Pooyan Jamshidi, and Giovani Estrada. 2017. A comparison of reinforcement learning techniques for fuzzy cloud auto-scaling. In Proceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing. IEEE Press, 64–73.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Davide Arcelli and Vittorio Cortellessa. 2016. Challenges in applying control theory to software performance engineering for adaptive systems. In Companion Publication for ACM/SPEC on International Conference on Performance Engineering. ACM, New York, NY, 35–40.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Arcelli, V. Cortellessa, A. Filieri, and A. Leva. 2015. Control theory for model-based performance-driven software adaptation. In Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA’15). 11–20.Google ScholarGoogle Scholar
  7. M. Arlitt and T. Jin. 2000. A workload characterization study of the 1998 World Cup website. Netwrk. Mag. Global Internetwkg. 14, 3 (2000), 30–37.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica et al. 2010. A view of cloud computing. Commun. ACM 53, 4 (2010), 50–58.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Baresi and S. Guinea. 2013. Event-based multi-level service monitoring. In Proceedings of the IEEE 20th International Conference on Web Services. 83–90.Google ScholarGoogle Scholar
  10. Luciano Baresi, Sam Guinea, Alberto Leva, and Giovanni Quattrocchi. 2016. A discrete-time feedback controller for containerized cloud applications. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE’16). Association for Computing Machinery, New York, NY, USA, 217–228. DOI:https://doi.org/10.1145/2950290.2950328Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Barna, M. Fokaefs, M. Litoiu, M. Shtern, and J. Wigglesworth. 2016. Cloud adaptation with control theory in industrial clouds. In Proceedings of the IEEE International Conference on Cloud Engineering Workshop (IC2EW’16). 231–238.Google ScholarGoogle Scholar
  12. Cornel Barna, Hamzeh Khazaei, Marios Fokaefs, and Marin Litoiu. 2017. Delivering elastic containerized cloud applications to enable devops. In Proceedings of the IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’17). 65–75.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cornel Barna, Hamzeh Khazaei, Marios Fokaefs, and Marin Litoiu. 2017. A DevOps architecture for continuous delivery of containerized big data applications. In Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’17). IEEE.Google ScholarGoogle Scholar
  14. Cornel Barna, Marin Litoiu, Marios Fokaefs, Mark Shtern, and Joe Wigglesworth. 2018. Runtime performance management for cloud applications with adaptive controllers. In Proceedings of the ACM/SPEC International Conference on Performance Engineering. ACM, New York, NY, 176–183.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Xiaolin Chang, Ruofan Xia, Jogesh K. Muppala, Kishor S. Trivedi, and Jiqiang Liu. 2016. Effective modeling approach for IaaS data center performance analysis under heterogeneous workload. IEEE Trans. Cloud Comput. 6, 4 (2016), 991–1003.Google ScholarGoogle ScholarCross RefCross Ref
  16. S. Chen and S. A. Billings. 1992. Neural networks for nonlinear dynamic system modelling and identification. Int. J. Control 56, 2 (1992), 319–346.Google ScholarGoogle ScholarCross RefCross Ref
  17. Long Cheng, Weichuan Liu, Zeng Guang Hou, Junzhi Yu, and Min Tan. 2015. Neural-network-based nonlinear model predictive control for piezoelectric actuators. IEEE Trans. Industr. Electron. 62, 12 (2015), 7717–7727.Google ScholarGoogle ScholarCross RefCross Ref
  18. George Cybenko. 1989. Approximation by superpositions of a sigmoidal function. Math. Control, Signals Syst. 2, 4 (1989), 303–314.Google ScholarGoogle ScholarCross RefCross Ref
  19. David Desmeurs, Cristian Klein, Alessandro Vittorio Papadopoulos, and Johan Tordsson. 2015. Event-driven application brownout: Reconciling high utilization and low tail response times. In Proceedings of the International Conference on Cloud and Autonomic Computing. 1–12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Docker. 2018. Create a Docker Swarm manager. Retrieved from https://docs.docker.com/swarm/reference/manage/.Google ScholarGoogle Scholar
  21. Jonas Durango, Manfred Dellkrantz, Martina Maggio, Cristian Klein, Alessandro Vittorio Papadopoulos, Francisco Hernandez-Rodriguez, Erik Elmroth, and Karl Erik Arzen. 2014. Control-theoretical load-balancing for cloud applications with brownout. In Proceedings of the IEEE Conference on Decision and Control. 5320–5327.Google ScholarGoogle ScholarCross RefCross Ref
  22. S. Farokhi, P. Jamshidi, D. Lucanin, and I. Brandic. 2015. Performance-based vertical memory elasticity. In Proceedings of the IEEE International Conference on Autonomic Computing. 151–152.Google ScholarGoogle Scholar
  23. Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolás D’Ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro V. Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, and Thomas Vogel. 2017. Control strategies for self-adaptive software systems. ACM Trans. Auton. Adapt. Syst. 11, 4 (2017), 1–31.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Fokaefs, Y. Rouf, C. Barna, and M. Litoiu. 2017. Evaluating adaptation methods for cloud applications: An empirical study. In Proceedings of the IEEE 10th International Conference on Cloud Computing (CLOUD’17). 632–639.Google ScholarGoogle Scholar
  25. Ian Gergin, Bradley Simmons, and Marin Litoiu. 2014. A decentralized autonomic architecture for performance control in the cloud. Proceedings of the IEEE International Conference on Cloud Engineering (IC2E’14). 574–579.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ian Goodfellow, Yoshua Bengio, Aaron Courville, and Yoshua Bengio. 2016. Deep Learning. Vol. 1. MIT Press, Cambridge, MA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Google. 2020. Benchmarks for Linux VM instances. Retrieved from https://cloud.google.com/compute/docs/benchmarks-linux.Google ScholarGoogle Scholar
  28. Google, Inc.2019. Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. Retrieved from http://kubernetes.io/.Google ScholarGoogle Scholar
  29. Beitao Guo, Hongyi Liu, Zhong Luo, and Fei Wang. 2009. Adaptive PID controller based on BP neural network. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI’09). 148–150.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Heyman, Jonatan and Bystrom, Carl and Hamren, Joakim and Heyman, Hugo. 2019. Locust—A modern load testing framework. Retrieved from http://locust.io/.Google ScholarGoogle Scholar
  31. Kurt Hornik, Maxwell Stinchcombe, Halbert White et al. 1989. Multilayer feedforward networks are universal approximators. Neural Netw. 2, 5 (1989), 359–366.Google ScholarGoogle ScholarCross RefCross Ref
  32. Emilio Incerto, Mirco Tribastone, and Catia Trubiani. 2017. Software performance self-adaptation through efficient model predictive control. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE’17). 485–496.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Emilio Incerto, Mirco Tribastone, and Catia Trubiani. 2018. Combined vertical and horizontal auto-scaling through model predictive control. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 11014 LNCS (2018), 147–159.Google ScholarGoogle Scholar
  34. Engin Ipek, Bronis R. De Supinski, Martin Schulz, and Sally A. McKee. 2005. An approach to performance prediction for parallel applications. In Proceedings of the European Conference on Parallel Processing. Springer, 196–205.Google ScholarGoogle Scholar
  35. Pooyan Jamshidi, Amir Sharifloo, Claus Pahl, Hamid Arabnejad, Andreas Metzger, and Giovani Estrada. 2016. Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In Proceedings of the 12th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA’16). IEEE, 70–79.Google ScholarGoogle ScholarCross RefCross Ref
  36. Hamzeh Khazaei, Jelena Misic, and Vojislav Misic. 2013. A fine-grained performance model of cloud computing centers. IEEE Trans. Parallel Distrib. Syst. 24, 11 (Nov. 2013), 2138–2147.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Hamzeh Khazaei, Jelena Misic, Vojislav Misic, and S. Rashwand. 2013. Analysis of a pool management scheme for cloud computing centers. IEEE Trans. Parallel Distrib. Syst. 24, 5 (May 2013), 849–861.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Hamzeh Khazaei, Jelena Misic, and Vojislave B. Misic. 2011. Modelling of cloud computing centers using M/G/m queues. In Proceedings of the 31st International Conference on Distributed Computing Systems Workshops. IEEE, 87–92.Google ScholarGoogle Scholar
  39. Hamzeh Khazaei, Jelena Misic, and Vojislav B. Misic. 2011. Performance analysis of cloud computing centers using m/g/m/m+ r queuing systems. IEEE Trans. Parallel Distrib. Syst. 23, 5 (2011), 936–943.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Hamzeh Khazaei, Jelena Misic, and Vojislav B. Misic. 2012. A fine-grained performance model of cloud computing centers. IEEE Trans. Parallel Distrib. Syst. 24, 11 (2012), 2138–2147.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Hamzeh Khazaei, Jelena Misic, and Vojislav B. Misic. 2012. Performance of cloud centers with high degree of virtualization under batch task arrivals. IEEE Trans. Parallel Distrib. Syst. 24, 12 (2012), 2429–2438.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Diederik P. Kingma and Jimmy Ba. 2014. Adam: A Method for Stochastic Optimization. Retrieved from arxiv:https://cs.LG/1412.6980.Google ScholarGoogle Scholar
  43. Cristian Klein, Martina Maggio, Karl-Erik Årzén, and Francisco Hernández-Rodriguez. 2014. Brownout: Building more robust cloud applications. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). 700–711.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Harold C. Lim, Shivnath Babu, Jeffrey S. Chase, and Sujay S. Parekh. 2009. Automated control in cloud computing: Challenges and opportunities. In Proceedings of the 1st Workshop on Automated Control for Datacenters and Clouds (ACDC’09). ACM, New York, NY, 13–18.Google ScholarGoogle Scholar
  45. Martina Maggio, Cristian Klein, and Karl Erik Årzén. 2014. Control strategies for predictable brownouts in cloud computing. IFAC Proc. Vol. (IFAC-PapersOnline) 19 (2014), 689–694.Google ScholarGoogle ScholarCross RefCross Ref
  46. Saif U. R. Malik, Samee U. Khan, and Sudarshan K. Srinivasan. 2013. Modeling and analysis of state-of-the-art VM-based cloud management platforms. IEEE Trans. Cloud Comput. 1, 1 (2013), 1–1.Google ScholarGoogle ScholarCross RefCross Ref
  47. Dirk Merkel. 2014. Docker: Lightweight linux containers for consistent development and deployment. Linux J. 2014, 239 (2014), 2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Mesosphere, Inc.2018. Marathon Recipes. Retrieved from https://mesosphere.github.io. https://mesosphere.github.io/marathon/docs/recipes.Google ScholarGoogle Scholar
  49. Tommi Nylander, Cristian Klein, Karl Erik Årzén, and Martina Maggio. 2018. BrownoutCC: Cascaded control for bounding the response times of cloud applications. In Proceedings of the American Control Conference. 3354–3361.Google ScholarGoogle ScholarCross RefCross Ref
  50. Fernando Ornelas-Tellez, J. Jesus Rico-Melgoza, Angel E. Villafuerte, and Febe J. Zavala-Mendoza. 2019. Neural Networks: A Methodology for Modeling and Control Design of Dynamical Systems. Elsevier, 21–38.Google ScholarGoogle Scholar
  51. Alessandro Vittorio Papadopoulos, Cristian Klein, Martina Maggio, Jonas Dürango, Manfred Dellkrantz, Francisco Hernández-Rodriguez, Erik Elmroth, and Karl Erik Årzén. 2016. Control-based load-balancing techniques: Analysis and performance evaluation via a randomized optimization approach. Control Eng. Practice 52 (2016), 24–34.Google ScholarGoogle ScholarCross RefCross Ref
  52. Haiyang Qian, Deep Medhi, and Kishor Trivedi. 2011. A hierarchical model to evaluate quality of experience of online services hosted by cloud computing. In Proceedings of the 12th IFIP/IEEE International Symposium on Integrated Network Management (IM’11). IEEE, 105–112.Google ScholarGoogle Scholar
  53. Shashank Shekhar, Hamzah Abdel-Aziz, Anirban Bhattacharjee, Aniruddha Gokhale, and Xenofon Koutsoukos. 2018. Performance interference-aware vertical elasticity for cloud-hosted latency-sensitive applications. In Proceedings of the IEEE 11th International Conference on Cloud Computing (CLOUD’18). IEEE, 82–89.Google ScholarGoogle ScholarCross RefCross Ref
  54. Stepan Shevtsov, Mihaly Berekmeri, Danny Weyns, and Martina Maggio. 2017. Control-theoretical software adaptation: A systematic literature review. IEEE Trans. Softw. Eng. 44, 8 (2017), 784–810.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Stepan Shevtsov, Mihaly Berekmeri, Danny Weyns, and Martina Maggio. 2018. Control-theoretical software adaptation: A systematic literature review. IEEE Trans. Softw. Eng. 44, 8 (2018), 784–810.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Bartlomiej Sniezynski, Piotr Nawrocki, Michal Wilk, Marcin Jarzab, and Krzysztof Zielinski. 2019. VM reservation plan adaptation using machine learning in cloud computing. J. Grid Comput. 17, 4 (2019), 797–812. https://doi.org/10.1007/s10723-019-09487-xGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  57. Giovanni Toffetti, Sandro Brunner, Martin Blöchlinger, Josef Spillner, and Thomas Michael Bohnert. 2017. Self-managing cloud-native applications: Design, implementation, and experience. Future Gen. Comput. Syst. 72 (2017), 165–179.Google ScholarGoogle ScholarCross RefCross Ref
  58. Amjad Ullah, Jingpeng Li, Yindong Shen, and Amir Hussain. 2018. A control theoretical view of cloud elasticity: Taxonomy, survey and challenges. Cluster Comput. 21, 4 (2018), 1735–1764.Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. W3Techs. 2019. Usage statistics and market share of WordPress. Retrieved from https://w3techs.com/technologies/details/cm-wordpress/all/all.Google ScholarGoogle Scholar
  60. Kaiqi Xiong and Harry Perros. 2009. Service performance and analysis in cloud computing. In Proceedings of the Congress on Services-I. IEEE, 693–700.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Optimizing the Performance of Containerized Cloud Software Systems Using Adaptive PID Controllers

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Article Metrics

          • Downloads (Last 12 months)53
          • Downloads (Last 6 weeks)4

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!