Collaborative Computing: Networking, Applications and Worksharing. 14th EAI International Conference, CollaborateCom 2018, Shanghai, China, December 1-3, 2018, Proceedings

Research Article

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

Download
364 downloads
  • @INPROCEEDINGS{10.1007/978-3-030-12981-1_47,
        author={Ruici Luo and Wei Ye and Jinan Sun and Xueyang Liu and Shikun Zhang},
        title={Runtime Resource Management for Microservices-Based Applications: A Congestion Game Approach (Short Paper)},
        proceedings={Collaborative Computing: Networking, Applications and Worksharing. 14th EAI International Conference, CollaborateCom 2018, Shanghai, China, December 1-3, 2018, Proceedings},
        proceedings_a={COLLABORATECOM},
        year={2019},
        month={2},
        keywords={Microservice architecture Resource management Game theory},
        doi={10.1007/978-3-030-12981-1_47}
    }
    
  • Ruici Luo
    Wei Ye
    Jinan Sun
    Xueyang Liu
    Shikun Zhang
    Year: 2019
    Runtime Resource Management for Microservices-Based Applications: A Congestion Game Approach (Short Paper)
    COLLABORATECOM
    Springer
    DOI: 10.1007/978-3-030-12981-1_47
Ruici Luo,*, Wei Ye,*, Jinan Sun,*, Xueyang Liu,*, Shikun Zhang,*
    *Contact email: luoruici@pku.edu.cn, wye@pku.edu.cn, sjn@pku.edu.cn, liuxueyang@pku.edu.cn, zhangsk@pku.edu.cn

    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.