• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

Computer Engineering & Science

Previous Articles     Next Articles

Design and implementation of a
Docker dynamic scheduling algorithm

LIU Shuyang,ZHANG Manyi,CAO Qiang   

  1. (Wuhan National Laboratory for Optoelectronics,Huazhong University of Science and Technology,Wuhan 430074,China)
  • Received:2018-06-25 Revised:2018-08-20 Online:2018-12-25 Published:2018-12-25

Abstract:

As a container’s runtime infrastructure, Docker can efficiently deploy, execute, and manage containers. However, the existing Dockercontainer management mechanism based on prerun static configuration cannot dynamically allocate resources according to the characteristics of different application categories and runtime resource requirements. Therefore, based on the analysis of experiments on the resource usage and performance of Docker when running different workloads, we design and implement a runtimebased Docker dynamic scheduling algorithm to prioritize realtime application container service while ensuring the performance of batchapplication containers. The algorithm can also recommend the most suitable application container that can be created according to current running status of nodes, thus maximizing the resource utilization of nodes. Experiments show that this algorithm does not introduce significant performance overhead. When resource competition occurs among containers, the service time for realtime application containers can be prolonged by 87.5%, with a 2.9% performance overhead at most for the batchapplication containers that running at the same time. The algorithm recommendation mechanism increases the number of container instances that can run on nodes by 2.3 times, resulting in a maximum of 9.3% performance loss for batchapplication containers.

Key words: container, dynamic scheduling, resource utilization, service requirement