1. Dynamic Multi-objective Scheduling of Microservices in the Cloud
- Author
-
Hamid Mohammadi Fard, Felix Wolf, and Radu Prodan
- Subjects
Job shop scheduling ,Emerging technologies ,Computer science ,business.industry ,Distributed computing ,05 social sciences ,050801 communication & media studies ,Cloud computing ,02 engineering and technology ,Microservices ,Service provider ,Scheduling (computing) ,0508 media and communications ,Knapsack problem ,020204 information systems ,Scalability ,0202 electrical engineering, electronic engineering, information engineering ,business - Abstract
For many applications, a microservices architecture promises better performance and flexibility compared to a conventional monolithic architecture. In spite of the advantages of a microservices architecture, deploying microservices poses various challenges for service developers and providers alike. One of these challenges is the efficient placement of microservices on the cluster nodes. Improper allocation of microservices can quickly waste resource capacities and cause low system throughput. In the last few years, new technologies in orchestration frameworks, such as the possibility of multiple schedulers for pods in Kubernetes, have improved scheduling solutions of microservices but using these technologies needs to involve both the service developer and the service provider in the behavior analysis of workloads. Using memory and CPU requests specified in the service manifest, we propose a general microservices scheduling mechanism that can operate efficiently in private clusters or enterprise clouds. We model the scheduling problem as a complex variant of the knapsack problem and solve it using a multi-objective optimization approach. Our experiments show that the proposed mechanism is highly scalable and simultaneously increases utilization of both memory and CPU, which in turn leads to better throughput when compared to the state-of-the-art.
- Published
- 2020
- Full Text
- View/download PDF