Advertisement

Runtime Resource Management for Microservices-Based Applications: A Congestion Game Approach (Short Paper)

  • Ruici Luo
  • Wei Ye
  • Jinan SunEmail author
  • Xueyang Liu
  • Shikun Zhang
Conference paper
Part of the Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering book series (LNICST, volume 268)

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.

Keywords

Microservice architecture Resource management Game theory 

References

  1. 1.
  2. 2.
    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.005MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    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.14CrossRefGoogle Scholar
  4. 4.
    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
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    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_8CrossRefGoogle Scholar
  8. 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
  9. 9.
    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
  10. 10.
    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
  11. 11.
    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.2393868CrossRefGoogle Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    Maskin, E.: The theory of implementation in Nash equilibrium: a survey. In: Social Goals and Social Organization, pp. 173–204 (1985)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Monderer, D., Shapley, L.S.: Potential games. Games Econ. Behav. 14(1), 124–143 (1996)MathSciNetCrossRefGoogle Scholar
  16. 16.
    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
  17. 17.
    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/S221065021730130XCrossRefGoogle Scholar
  18. 18.
    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
  19. 19.
    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)Google Scholar
  20. 20.
    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-1CrossRefGoogle Scholar

Copyright information

© ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2019

Authors and Affiliations

  • Ruici Luo
    • 1
    • 3
  • Wei Ye
    • 2
    • 3
  • Jinan Sun
    • 2
    • 3
    Email author
  • Xueyang Liu
    • 2
    • 3
  • Shikun Zhang
    • 2
    • 3
  1. 1.School of Electronics Engineering and Computer SciencePeking UniversityBeijingChina
  2. 2.National Engineering Research Center for Software EngineeringPeking UniversityBeijingChina
  3. 3.Key Laboratory of High Confidence Software TechnologiesMinistry of EducationBeijingChina

Personalised recommendations