Abstract
The term “Microservice Architecture” has sprung up in recent years as a new style of software design that gains popularity as cloud computing prospers. In microservice-based applications, different microservices collaborate with one another via interface calls, but they may also compete for resources when an increase of users’ need renders the resources insufficient. This poses new challenges for allocating resources efficiently during runtime. To tackle the problem, we propose a novel approach based on Congestion Game in this paper. Firstly, we use a weighted directed acyclic graph to model the inter-relationship of the microservices that compose an application. Then we use M/G/1 Queue in Queue Theory to describe the arrival process of access requests, and combine it with the above graph to calculate the arrival rate of access requests to each microservice, which in turn is used to estimate response time in a newly-designed microservice revenue function. Finally, we define resources competing problem as a congestion game where each microservice is a player aiming to maximize its revenue, and propose an algorithm to find Nash equilibrium in polynomial time. Experiment results show that our approach can effectively improve the overall performance of the system with limited resources, and outperform Binpack and Spread, two scheduling strategies used in Docker Swarm.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Affetti, L.: Pwitter. https://github.com/deib-polimi/pwitter
Altman, E., Boulogne, T., El-Azouzi, R., Jiménez, T., Wynter, L.: A survey on networking games in telecommunications. Comput. Oper. Res. 33(2), 286–311 (2006). https://doi.org/10.1016/j.cor.2004.06.005
Ardagna, D., Panicucci, B., Passacantando, M.: Generalized nash equilibria for the service provisioning problem in cloud systems. IEEE Trans. Serv. Comput. 6(4), 429–442 (2013). https://doi.org/10.1109/TSC.2012.14
Baresi, L., Guinea, S., Leva, A., Quattrocchi, G.: 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 2016, pp. 217–228. ACM, New York (2016). https://doi.org/10.1145/2950290.2950328
Bolch, G., Greiner, S., de Meer, H., Trivedi, K.S.: Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications. Wiley-Interscience, New York (1998)
Chaisiri, S., Lee, B.S., Niyato, D.: Optimal virtual machine placement across multiple cloud providers. In: 2009 IEEE Asia-Pacific Services Computing Conference (APSCC), pp. 103–110 (2009). https://doi.org/10.1109/APSCC.2009.5394134
Dragoni, N., Lanese, I., Larsen, S.T., Mazzara, M., Mustafin, R., Safina, L.: Microservices: how to make your application scale. In: Petrenko, A.K., Voronkov, A. (eds.) PSI 2017. LNCS, vol. 10742, pp. 95–104. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74313-4_8
Gupta, A., Garg, R.: Load balancing based task scheduling with ACO in cloud computing. In: 2017 International Conference on Computer and Applications (ICCA), pp. 174–179 (2017). https://doi.org/10.1109/COMAPP.2017.8079781
Hoenisch, P., Schulte, S., Dustdar, S., Venugopal, S.: Self-adaptive resource allocation for elastic process execution. In: 2013 IEEE Sixth International Conference on Cloud Computing, pp. 220–227 (2013). https://doi.org/10.1109/CLOUD.2013.126
Kansal, S., Kumar, H., Kaushal, S., Sangaiah, A.K.: Genetic algorithm-based cost minimization pricing model for on-demand IaaS cloud service. J. Supercomput. (2018). https://doi.org/10.1007/s11227-018-2279-8
Li, Y., Tang, X., Cai, W.: Dynamic bin packing for on-demand cloud resource allocation. IEEE Trans. Parallel Distrib. Syst. 27(1), 157–170 (2016). https://doi.org/10.1109/TPDS.2015.2393868
Ling, Y., Yi, X., Bihuan, C., Xin, P., Wenyun, Z.: Towards runtime dynamic provision of virtual resources using feedforward and feedback control. J. Comput. Res. Dev. 52(4), 889–897 (2015)
Maskin, E.: The theory of implementation in Nash equilibrium: a survey. In: Social Goals and Social Organization, pp. 173–204 (1985)
Mei, H., Huang, G., Zhang, L., Zhang, W.: ABC: a method of software architecture modeling in the whole lifecycle. Scientia Sinica Informationis 44(5), 564–587 (2014)
Monderer, D., Shapley, L.S.: Potential games. Games Econ. Behav. 14(1), 124–143 (1996)
Pahl, C., Jamshidi, P.: Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science, CLOSER 2016, vol. 1 and 2, pp. 137–146. SCITEPRESS - Science and Technology Publications, LDA, Portugal (2016). https://doi.org/10.5220/0005785501370146
Sheikholeslami, F., Navimipour, N.J.: Service allocation in the cloud environments using multi-objective particle swarm optimization algorithm based on crowding distance. Swarm Evol. Comput. 35, 53–64 (2017). https://doi.org/10.1016/j.swevo.2017.02.007, http://www.sciencedirect.com/science/article/pii/S221065021730130X
Stolyar, A.L., Zhong, Y.: An infinite server system with general packing constraints: asymptotic optimality of a greedy randomized algorithm. In: 2013 51st Annual Allerton Conference on Communication, Control, and Computing (Allerton), pp. 575–582 (2013). https://doi.org/10.1109/Allerton.2013.6736576
Wang, H.M., Shi, P.C., Ding, B., Yin, G., Shi, D.X.: Online evolution of software services. Jisuanji Xuebao (Chin. J. Comput.) 34(2), 318–328 (2011)
Wei, G., Vasilakos, A.V., Zheng, Y., Xiong, N.: A game-theoretic method of fair resource allocation for cloud computing services. J. Supercomput. 54(2), 252–269 (2010). https://doi.org/10.1007/s11227-009-0318-1
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Luo, R., Ye, W., Sun, J., Liu, X., Zhang, S. (2019). Runtime Resource Management for Microservices-Based Applications: A Congestion Game Approach (Short Paper). In: Gao, H., Wang, X., Yin, Y., Iqbal, M. (eds) Collaborative Computing: Networking, Applications and Worksharing. CollaborateCom 2018. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 268. Springer, Cham. https://doi.org/10.1007/978-3-030-12981-1_47
Download citation
DOI: https://doi.org/10.1007/978-3-030-12981-1_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-12980-4
Online ISBN: 978-3-030-12981-1
eBook Packages: Computer ScienceComputer Science (R0)