Joint optimization of service request routing and instance placement in the microservice system

Abstract Microservice architecture is a promising architectural style. It decomposes monolithic software into a set of loosely coupled containerized microservices and associates them into multiple microservice chains to serve service requests. The new architecture creates flexibility for service provisioning but also introduces increased energy consumption and low service performance. Efficient resource allocation is critical. Unfortunately, existing solutions are designed at a coarse level for virtual machine (VM)-based clouds and not optimized for such chain-oriented service provisioning. In this paper, we study the resource allocation optimization problem for service request routing and microservice instance placement, so as to jointly reduce both resource usage and chains’ end-to-end response time for saving energy and guaranteeing Quality of Service (QoS). We design detailed workload models for microservices and chains and formulate the optimization problem as a bi-criteria optimization problem. To address it, a three-stage scheme is proposed to search and optimize the trade-off decisions, route service requests into instances and deploy instances to servers in a balanced manner. Through numerical evaluations, we show that while assuring the same QoS, our scheme performs significantly better than and faster than benchmarking algorithms on reducing energy consumption and balancing load.

[1]  Rajiv Ranjan,et al.  Open Issues in Scheduling Microservices in the Cloud , 2016, IEEE Cloud Computing.

[2]  Shane G. Henderson,et al.  Two Issues in Setting Call Centre Staffing Levels , 2001, Ann. Oper. Res..

[3]  Henri Casanova,et al.  Resource allocation algorithms for virtualized service hosting platforms , 2010, J. Parallel Distributed Comput..

[4]  Carlos A. Coello Coello,et al.  Improving PSO-Based Multi-objective Optimization Using Crowding, Mutation and epsilon-Dominance , 2005, EMO.

[5]  Jasbir S. Arora,et al.  Survey of multi-objective optimization methods for engineering , 2004 .

[6]  Wolf-Dietrich Weber,et al.  Power provisioning for a warehouse-sized computer , 2007, ISCA '07.

[7]  Rajkumar Buyya,et al.  Energy-aware resource allocation heuristics for efficient management of data centers for Cloud computing , 2012, Future Gener. Comput. Syst..

[8]  Qingfu Zhang,et al.  Multiobjective Optimization Problems With Complicated Pareto Sets, MOEA/D and NSGA-II , 2009, IEEE Transactions on Evolutionary Computation.

[9]  Carlos Juiz,et al.  Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications , 2018, The Journal of Supercomputing.

[10]  P. Burke The Output of a Queuing System , 1956 .

[11]  Jelena V. Misic,et al.  Performance Analysis of Cloud Computing Centers Using M/G/m/m+r Queuing Systems , 2012, IEEE Transactions on Parallel and Distributed Systems.

[12]  Carlos A. Coello Coello,et al.  Multi-Objective Particle Swarm Optimizers: An Experimental Comparison , 2009, EMO.

[13]  Christoph Meinel,et al.  Elastic Virtual Machine for Fine-Grained Cloud Resource Provisioning , 2011 .

[14]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

[15]  Albert-László Barabási,et al.  The origin of bursts and heavy tails in human dynamics , 2005, Nature.

[16]  Rami Bahsoon,et al.  Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services , 2016, IEEE Transactions on Services Computing.

[17]  Richard M. Karp,et al.  The Differencing Method of Set Partitioning , 1983 .

[18]  Jun Zhang,et al.  An Energy Efficient Ant Colony System for Virtual Machine Placement in Cloud Computing , 2018, IEEE Transactions on Evolutionary Computation.

[19]  J. Medhi,et al.  Stochastic models in queueing theory , 1991 .

[20]  Rajkumar Buyya,et al.  Dynamically scaling applications in the cloud , 2011, CCRV.

[21]  W. Grassmann The convexity of the mean queue size of the M/M/c queue with respect to the traffic intensity , 1983, Journal of Applied Probability.

[22]  M Reyes Sierra,et al.  Multi-Objective Particle Swarm Optimizers: A Survey of the State-of-the-Art , 2006 .

[23]  Wei Zhang,et al.  NFVnice: Dynamic Backpressure and Scheduling for NFV Service Chains , 2017, IEEE/ACM Transactions on Networking.

[24]  Roberto Morabito,et al.  Power Consumption of Virtualization Technologies: An Empirical Investigation , 2015, 2015 IEEE/ACM 8th International Conference on Utility and Cloud Computing (UCC).

[25]  E. N. Elnozahy,et al.  Energy Conservation Policies for Web Servers , 2003, USENIX Symposium on Internet Technologies and Systems.

[26]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[27]  Rolf Stadler,et al.  Resource Management in Clouds: Survey and Research Challenges , 2015, Journal of Network and Systems Management.

[28]  Arun Venkataramani,et al.  Black-box and Gray-box Strategies for Virtual Machine Migration , 2007, NSDI.

[29]  Scott Shenker,et al.  Verification in the Age of Microservices , 2017, HotOS.

[30]  Norman C. Beaulieu,et al.  Estimating the distribution of a sum of independent lognormal random variables , 1995, IEEE Trans. Commun..

[31]  Pieter Simoens,et al.  Docker Layer Placement for On-Demand Provisioning of Services on Edge Clouds , 2018, IEEE Transactions on Network and Service Management.

[32]  Vincenzo Mancuso,et al.  A Measurement-Based Characterization of the Energy Consumption in Data Center Servers , 2015, IEEE Journal on Selected Areas in Communications.

[33]  Enrique Alba,et al.  SMPSO: A new PSO-based metaheuristic for multi-objective optimization , 2009, 2009 IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making(MCDM).

[34]  Jun Zhang,et al.  Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches , 2015, ACM Comput. Surv..

[35]  Calton Pu,et al.  Economical and Robust Provisioning of N-Tier Cloud Workloads: A Multi-level Control Approach , 2011, 2011 31st International Conference on Distributed Computing Systems.

[36]  Max Mühlhäuser,et al.  Incentivizing Microservices for Online Resource Sharing in Edge Clouds , 2019, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).

[37]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[38]  Zongpeng Li,et al.  Load Balancing Across Microservices , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[39]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[40]  Dejun Yang,et al.  Load Balancing for Interdependent IoT Microservices , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

[41]  Asser N. Tantawi,et al.  Performance management for cluster-based web services , 2005, IEEE Journal on Selected Areas in Communications.

[42]  William J. Reed,et al.  The Double Pareto-Lognormal Distribution—A New Parametric Model for Size Distributions , 2004, WWW 2001.