Skip to main content

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

  • Conference paper
  • First Online:
  • 916 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Affetti, L.: Pwitter. https://github.com/deib-polimi/pwitter

  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.005

    Article  MathSciNet  MATH  Google Scholar 

  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.14

    Article  Google Scholar 

  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. 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)

    Book  Google Scholar 

  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. 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

    Chapter  Google Scholar 

  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. 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. 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. 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

    Article  Google Scholar 

  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. Maskin, E.: The theory of implementation in Nash equilibrium: a survey. In: Social Goals and Social Organization, pp. 173–204 (1985)

    Google Scholar 

  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. Monderer, D., Shapley, L.S.: Potential games. Games Econ. Behav. 14(1), 124–143 (1996)

    Article  MathSciNet  Google Scholar 

  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. 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

    Article  Google Scholar 

  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. 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. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jinan Sun .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

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

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics