Abstract
Docker container has been used in cloud computing at a rapid rate in the past 2 years, and Docker container resource scheduling problem has gradually become a research hot issue. It is NP-complete as the optimization criteria is to minimize the overall processing time of all the tasks. Nevertheless, minimization of makespan does not equate to customers’ satisfaction. Aiming at the performance optimization of Docker container resource scheduling, the authors propose a multi-objective container scheduling algorithm, namely Multiopt. The algorithm considers five key factors: CPU usage of every node, memory usage of every node, the time consumption transmitting images on the network, the association between containers and nodes, the clustering of containers, which affect the performance of applications in containers. To select the most suitable node to deploy containers needed to be allocated in the scheduling process, the authors define a metric method for every key factor and establish a scoring function for each one and then combine them into a composite function. The experimental results show that compared with the other three well-known algorithms: Spread, Binpack, and Random, Multiopt increases the maximum TPS by 7% and reduces the average response time per request by 7.5% while consuming roughly same allocation time.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Azad P, Nima NJ (2017) An energy-aware task scheduling in the cloud computing using a hybrid cultural and ant colony optimization algorithm. Int J Cloud Appl Comput 7(4):20–40
Bhuiyan MZA, Jie W, Wang G, Cao J (2016) Sensing and decision making in cyber-physical systems: the case of structural event monitoring. IEEE Trans Ind Inform 12(6):2103–2114
Chung MT, Quang-Hung N, Nguyen MT, Thoai N (2016) Using docker in high performance computing applications. In: IEEE sixth international conference on communications and electronics
De Alfonso C, Calatrava A, Molt G (2017) Container-based virtual elastic clusters. Elsevier Science Inc., Amsterdam
Din S, Paul A, Ahmad A, Gupta B, Rho S (2018) Service orchestration of optimizing continuous features in industrial surveillance using big data based fog-enabled internet of things. IEEE Access 99:1–1
Docker Inc. (2017a) docker swarm strategies. https://docs.docker.com/swarm/scheduler/strategy. Accessed 1 Feb 2018
Docker Inc. (2017b) Filters. https://docs.docker.com/v1.10/swarm/scheduler/filter/. Accessed 1 Feb 2018
Dutta UK, Razzaque MA, Al-Wadud MA, Islam MS, Hossain SM, Gupta BB (2018) Self-adaptive scheduling of base transceiver stations in green 5g networks. IEEE Access 99:1–1
Fernndez-Baca D, Medepalli A (1989) Allocating modules to processors in a distributed system with limited memory. Trans Softw Eng IEEE 15(11):1427–1436
Google Inc. (2017c) What is kubernetes? https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/. Accessed 1 Feb 2018
Guan X, Wan X, Choi BY, Song S, Zhu Jiafeng (2017) Application oriented dynamic resource allocation for data centers using docker containers. IEEE Commun Lett 21(3):504–507
Gupta BB, Agrawal DP, Yamaguchi S (2016) Handbook of research on modern cryptographic solutions for computer and cyber security. IGI Global Publisher, USA
He P, Deng Z, Gao C, Wang X, Li J (2017) Model approach to grammatical evolution: deep-structured analyzing of model and representation. Soft Comput 21(18):5413–5423
Kaewkasi C, Chuenmuneewong K (2017) Improvement of container scheduling for docker using ant colony optimization. In: International conference on knowledge and smart technology, pp 254–259
Ke-Jiang YE (2012) Power management of virtualized cloud computing platform. Chin J Comput 35(6):1262
Lin W, Xu SY, Li J, Xu L, Peng Zhiping (2015a) Design and theoretical analysis of virtual machine placement algorithm based on peak workload characteristics. Soft Comput 27(7):1–14
Lin W, Zhu C, Li J, Liu B, Lian H (2015b) Novel algorithms and equivalence optimisation for resource allocation in cloud computing. Int J Web Grid Serv 11(2):193–210
Lin W, Ziming W, Lin L, Wen A, Li J (2017a) An ensemble random forest algorithm for insurance big data analysis. IEEE Access 5(99):16568–16575
Lin W, Xu S, He L, Li J (2017) Multi-resource scheduling and power simulation for cloud computing. Inf Sci Int J 397(C):168–186
Lu SL, Ni M, Zhang HB (2016) Optimization of scheduling strategy based on the docker swarm cluster. Inf Technol 40(7):147–151
Merkel D (2014) Docker: lightweight linux containers for consistent development and deployment. Linux J 239:2
Pande SK, Panda SK, Das S (2017) A customer-oriented task scheduling for heterogeneous multi-cloud environment. Int J Cloud Appl Comput 6(4):1–17
Peinl R, Holzschuher F, Pfitzer F (2016) Docker cluster management for the cloud—survey results and own solution. Springer, New York
Sureshkumar M, Rajesh P (2017) Optimizing the docker container usage based on load scheduling. In: International conference on computing and communications technologies, pp 165–168
The Apache Software Foundation (2017) Apache mesos architecture. http://mesos.apache.org/documentation/latest/. Accessed 01 Feb 2018
Wang H, Wang W, Cui Z, Zhou X, Zhao J, Li Y (2018) A new dynamic firefly algorithm for demand estimation of water resources. Inf Sci 438:95–106
Xu P, Shi S, Chu X (2017) Performance evaluation of deep learning tools in docker containers. In: International conference on big data computing and communications, pp 395–403
Zhang D, Yan BH, Feng Z, Zhang C, Wang YX (2017) Container oriented job scheduling using linear programming model. In International conference on information management, pp 174–180
Zhenhua L, Zhang Y, Yunhao L (2017) Towards a full-stack dev ops environment (platform-as-a-service) for cloud-hosted applications. Tsinghua Sci Technol 22(1):1–9
Acknowledgements
This work is supported by National Natural Science Foundation of China (Grant No. 61772205), Science and Technology Planning Project of Guangdong Province (Grant Nos. 2017B010126002, 2017A010101008, 2017A010101014, 2017B090901061, 2016A010119171, and 2016B090918021), Guangzhou Science and Technology Projects (Grant No. 201802010010), Nansha Science and Technology Projects (Grant No. 2017GJ001), Special Funds for the Development of Industry and Information of Guangdong Province (big data demonstrated applications) in 2017, Special Project of Scientific and Technological Cooperation of Chinese Academy of Sciences in Hubei, the Fundamental Research Funds for the Central Universities, SCUT.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
Bo Liu declares that he has no conflict of interest. Pengfei Li declares that he has no conflict of interest. Weiwei Lin declares that he has no conflict of interest. Na Shu declares that she has no conflict of interest. Yin Li declares that he has no conflict of interest. Victor Chang declares that he has no conflict of interest.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Communicated by B. B. Gupta.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Liu, B., Li, P., Lin, W. et al. A new container scheduling algorithm based on multi-objective optimization. Soft Comput 22, 7741–7752 (2018). https://doi.org/10.1007/s00500-018-3403-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-018-3403-7