{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,26]],"date-time":"2026-01-26T03:06:59Z","timestamp":1769396819836,"version":"3.49.0"},"reference-count":60,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2020,9,30]],"date-time":"2020-09-30T00:00:00Z","timestamp":1601424000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100006785","name":"Google","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100006785","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Auton. Adapt. Syst."],"published-print":{"date-parts":[[2020,9,30]]},"abstract":"<jats:p>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\u2019s 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.<\/jats:p>","DOI":"10.1145\/3465630","type":"journal-article","created":{"date-parts":[[2021,8,18]],"date-time":"2021-08-18T18:28:48Z","timestamp":1629311328000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Optimizing the Performance of Containerized Cloud Software Systems Using Adaptive PID Controllers"],"prefix":"10.1145","volume":"15","author":[{"given":"Mikael","family":"Sabuhi","sequence":"first","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Alberta, Edmonton, Canada"}]},{"given":"Nima","family":"Mahmoudi","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, University of Alberta, Edmonton, Canada"}]},{"given":"Hamzeh","family":"Khazaei","sequence":"additional","affiliation":[{"name":"Department of Electrical Engineering and Computer Science, York University, Toronto, Canada"}]}],"member":"320","published-online":{"date-parts":[[2021,8,18]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.neucom.2015.02.065"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/BigData.2017.8258201"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCST.2005.847331"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/CCGRID.2017.15"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2859889.2859894"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA\u201915)","author":"Arcelli D."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/65.844498"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1721654.1721672"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the IEEE 20th International Conference on Web Services. 83\u201390","author":"Baresi L."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950328"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the IEEE International Conference on Cloud Engineering Workshop (IC2EW\u201916)","author":"Barna C."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEAMS.2017.12"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS\u201917)","author":"Barna Cornel","year":"2017"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3184407.3184438"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCC.2016.2560158"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1080\/00207179208934317"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TIE.2015.2455026"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02551274"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAC.2015.25"},{"key":"e_1_2_1_20_1","unstructured":"Docker. 2018. Create a Docker Swarm manager. Retrieved from https:\/\/docs.docker.com\/swarm\/reference\/manage\/.  Docker. 2018. Create a Docker Swarm manager. Retrieved from https:\/\/docs.docker.com\/swarm\/reference\/manage\/."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/CDC.2014.7040221"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the IEEE International Conference on Autonomic Computing. 151\u2013152","author":"Farokhi S."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3024188"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the IEEE 10th International Conference on Cloud Computing (CLOUD\u201917)","author":"Fokaefs M."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E.2014.75"},{"key":"e_1_2_1_26_1","volume-title":"Deep Learning","author":"Goodfellow Ian"},{"key":"e_1_2_1_27_1","unstructured":"Google. 2020. Benchmarks for Linux VM instances. Retrieved from https:\/\/cloud.google.com\/compute\/docs\/benchmarks-linux.  Google. 2020. Benchmarks for Linux VM instances. Retrieved from https:\/\/cloud.google.com\/compute\/docs\/benchmarks-linux."},{"key":"e_1_2_1_28_1","unstructured":"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 Inc.2019. Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops. Retrieved from http:\/\/kubernetes.io\/."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/JCAI.2009.86"},{"key":"e_1_2_1_30_1","unstructured":"Heyman Jonatan and Bystrom Carl and Hamren Joakim and Heyman Hugo. 2019. Locust\u2014A modern load testing framework. Retrieved from http:\/\/locust.io\/.  Heyman Jonatan and Bystrom Carl and Hamren Joakim and Heyman Hugo. 2019. Locust\u2014A modern load testing framework. Retrieved from http:\/\/locust.io\/."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/0893-6080(89)90020-8"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155624"},{"key":"e_1_2_1_33_1","doi-asserted-by":"crossref","unstructured":"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\u2013159.  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\u2013159.","DOI":"10.1007\/978-3-319-96983-1_11"},{"key":"e_1_2_1_34_1","volume-title":"McKee","author":"Ipek Engin","year":"2005"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/QoSA.2016.13"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2012.280"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2012.182"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 31st International Conference on Distributed Computing Systems Workshops. IEEE, 87\u201392","author":"Khazaei Hamzeh"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2011.199"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2012.280"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2012.318"},{"key":"e_1_2_1_42_1","volume-title":"Kingma and Jimmy Ba","author":"Diederik","year":"2014"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568227"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of the 1st Workshop on Automated Control for Datacenters and Clouds (ACDC\u201909)","author":"Lim Harold C."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.3182\/20140824-6-ZA-1003.00669"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCC.2013.3"},{"key":"e_1_2_1_47_1","first-page":"2","article-title":"Docker: Lightweight linux containers for consistent development and deployment","volume":"239","author":"Merkel Dirk","year":"2014","journal-title":"Linux"},{"key":"e_1_2_1_48_1","unstructured":"Mesosphere Inc.2018. Marathon Recipes. Retrieved from https:\/\/mesosphere.github.io. https:\/\/mesosphere.github.io\/marathon\/docs\/recipes.  Mesosphere Inc.2018. Marathon Recipes. Retrieved from https:\/\/mesosphere.github.io. https:\/\/mesosphere.github.io\/marathon\/docs\/recipes."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.23919\/ACC.2018.8431282"},{"key":"e_1_2_1_50_1","volume-title":"Zavala-Mendoza","author":"Ornelas-Tellez Fernando","year":"2019"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.conengprac.2016.03.020"},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of the 12th IFIP\/IEEE International Symposium on Integrated Network Management (IM\u201911)","author":"Qian Haiyang","year":"2011"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD.2018.00018"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2704579"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2704579"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10723-019-09487-x"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2016.09.002"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10586-018-2807-6"},{"key":"e_1_2_1_59_1","unstructured":"W3Techs. 2019. Usage statistics and market share of WordPress. Retrieved from https:\/\/w3techs.com\/technologies\/details\/cm-wordpress\/all\/all.  W3Techs. 2019. Usage statistics and market share of WordPress. Retrieved from https:\/\/w3techs.com\/technologies\/details\/cm-wordpress\/all\/all."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/SERVICES-I.2009.121"}],"container-title":["ACM Transactions on Autonomous and Adaptive Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3465630","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3465630","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:17:42Z","timestamp":1750191462000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3465630"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,9,30]]},"references-count":60,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2020,9,30]]}},"alternative-id":["10.1145\/3465630"],"URL":"https:\/\/doi.org\/10.1145\/3465630","relation":{},"ISSN":["1556-4665","1556-4703"],"issn-type":[{"value":"1556-4665","type":"print"},{"value":"1556-4703","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,9,30]]},"assertion":[{"value":"2020-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-08-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}