Using Controllers to Adapt Messaging Systems: An Initial Experience
Adaptive middleware systems have been designed for various computing environments, including wireless sensor networks, IoT and cloud computing. Whatever the environment, however, the adaptation logic of these middleware systems rarely adopts control theory concepts. To shed some light on this topic, this paper presents the steps to using control theory in implementing an adaptive mechanism for a popular middleware model: message-oriented middleware, also known as messaging systems. These steps have been employed in a widely adopted open-source messaging system named RabbitMQ. This paper’s contributions are on how to employ control theory step-by-step in messaging systems, along with some initial results on using P, PI and PID controllers.
T.F. Abdelzaher, K.G. Shin, and N. Bhatti. 2002. Performance guarantees for Web server end-systems: a control-theoretical Approach. IEEE Transactions on Parallel and Distributed Systems 13, 1 (2002), 80-96.
N.L. Banerjee, K. Basu, and S.K. Das. 2005. Adaptive resource management for multimedia applications in wireless networks. In Sixth IEEE International Symposium on a World of Wireless Mobile and Multimedia Networks. 250-257.
Gordon S. Blair, Geoff Coulson, Anders Andersen, Lynne Blair, Michael Clarke, Fabio Costa, Hector Duran-Limon, Tom Fitzpatrick, Lee Johnston, Rui Moreira, Nikos Parlavantzas, and Katia Saikoski. 2001. The Design and Implementation of Open ORB 2. IEEE Distributed Systems Online 2 (June 2001), -.
D. J. M. Cavalcanti and N. S. Rosa. 2021. Adaptive Middleware of Things. In Proceedings of the 26th IEEE Symposium on Computers and Communications (ISCC 2021) (Rennes, France) (ISCC). IEEE Computer Society, New York, NY, USA, Article 1, 6 pages.
Syed Muhammad Danish, Kaiwen Zhang, and Hans-Arno Jacobsen. 2021. Block-AIM: A Neural Network-Based Intelligent Middleware For Large-Scale IoT Data Placement Decisions. IEEE Transactions on Mobile Computing (2021), 1-1.
Philippe Dobbelaere and Kyumars Sheykh Esmaili. 2017. Kafka versus RabbitMQ: A Comparative Study of Two Industry Reference Publish/Subscribe Implementations: Industry Paper. In Proceedings of the 11th ACM International Conference on Distributed and Event-Based Systems (Barcelona, Spain) (DEBS 17). Association for Computing Machinery, New York, NY, USA, 227 - 238.
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas DIppolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro Vittorio Papadopoulos, Suprio Ray, Amir M. Sharifloo, Stepan Shevtsov, Mateusz Ujma, and Thomas Vogel. 2015. Software Engineering Meets Control Theory. In 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. 71-82.
Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolás Dippolito, 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, Article 24 (Feb. 2017), 31 pages.
Guo Fu, Yanfeng Zhang, and Ge Yu. 2021. A Fair Comparison of Message Queuing Systems. IEEE Access 9 (2021), 421-432.
Joseph L. Hellerstein, Yixin Diao, Sujay Parekh, and Dawn M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley & Sons, Inc., Hoboken, NJ, USA.
IBM. 2005. An Architectural Blueprint for Autonomic Computing. Technical Report. IBM.
Baochun Li and K. Nahrstedt. 1999. A control-based middleware framework for quality-of-service adaptations. IEEE Journal on Selected Areas in Communications 17, 9 (Sept. 1999), 1632-1650.
Jesús M. T. Portocarrero, Flávia C. Delicato, Paulo F. Pires, Taniro C. Rodrigues, and Thais V. Batista. 2016. SAMSON: Self-adaptive Middleware for Wireless Sensor Networks. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (Pisa, Italy) (SAC '16). 1315-1322.
Bran Selic. 2020. Controlling the Controllers: What Software People Can Learn From Control Theory. IEEE Software 37, 6 (2020), 99-103.
Stepan Shevtsov, Mihaly Berekmeri, Danny Weyns, and Martina Maggio. 2018. Control-Theoretical Software Adaptation: A Systematic Literature Review. IEEE Transactions on Software Engineering 44, 8 (2018), 784-810.
Xiao-An Shi, Xing-She Zhou, Xiao-Jun Wu, and Jian-Hua Gu. 2003. Adaptive control based dynamic Real-time resource management. In Proceedings of the 2003 International Conference on Machine Learning and Cybernetics (IEEE Cat. No.03EX693), Vol. 5. 3155-3159 Vol.5.
Danny Weyns. 2017. Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges. In Handbook of Software Engineering. Springer.
Ronghua Zhang, Chenyang Lu, T.F. Abdelzaher, and J.A. Stankovic. 2002. Control-Ware: a middleware architecture for feedback control of software performance. In Proceedings 22nd International Conference on Distributed Computing Systems. 301-310.