计算机科学 ›› 2021, Vol. 48 ›› Issue (6): 276-281.doi: 10.11896/jsjkx.200500152

• 计算机网络 • 上一篇    下一篇

面向Docker容器的动态负载算法

刘邦邦1, 易国洪2, 黄祖源1   

  1. 1 武汉工程大学计算机科学与工程学院 武汉430205
    2 智能机器人湖北省重点实验室(武汉工程大学) 武汉430205
  • 收稿日期:2020-05-28 修回日期:2020-09-12 出版日期:2021-06-15 发布日期:2021-06-03
  • 通讯作者: 易国洪(yiguohong@wit.cdu.cn)
  • 基金资助:
    航天探测多谱图像的特征级自主统一复原方法研究基金(61671337)

Dynamic Loading Algorithm for Docker Container

LIU Bang-bang1, YI Guo-hong2, HUANG Zu-yuan1   

  1. 1 School of Computer Science & Engineering,Wuhan Institute of Technology,Wuhan 430205,China
    2 Hubei Key Laboratory of Intelligent Robot(Wuhan Institute of Technology),Wuhan 430205,China
  • Received:2020-05-28 Revised:2020-09-12 Online:2021-06-15 Published:2021-06-03
  • About author:LIU Bang-bang,born in 1995,postgra-duate.His main research interests include software testingand cloud computing.(928944920@qq.com)
    YI Guo-hong,born in 1972,professor.His main research interests include software testing and cloud computing.
  • Supported by:
    Research Fund for Feature Level Autonomous and Unified Restoration of Multispectral Images in Space Exploration(61671337).

摘要: 为了提高Docker容器服务器集群的抗并发性和缩短平均响应时间,文中设计了一种动态负载容器服务器的算法DLOAD(Dynamic Loading Algorithm)。该算法在WRR负载算法的基础上引用了实时权值的概念,弥补了WRR算法在权值给定方面的不足,优化了Docker容器服务器的负载算法。DLOAD算法将记录服务器的资源信息,将容器连接数占比、CPU利用率、内存利用率、网络IO占比、磁盘IO占比和平均响应时间作为算法参数,计算出Docker容器服务器的实时权值,并将实时权值记录到负载服务器的权值表中。负载服务器查询权值表后调用WRR算法,推荐最优的Docker容器服务器ID进行负载。通过仿真实验,从Docker容器服务器的平均响应时间和吞吐量这两个方面对改进前后的算法进行分析和对比,得出改进后的DLOAD算法能够更加高效地缩短服务器的平均响应时间和改善抗并发性,有效提升了容器服务器的性能。

关键词: Docker, 动态负载, 高并发, 抗并发性, 容器服务器, 实时权值

Abstract: To improve anti concurrency and the average response time of docker container server cluster,a DLOAD(Dynamic Loading Algorithm) for dynamically loading container server is designed.Based on the WRR load algorithm,this algorithm refe-rences the concept of real-time weight,makes up for the shortcomings of WRR algorithm in weight setting,and optimizes the load algorithm of docker container server.DLOAD algorithm will record the resource information of the server,take the ratio of container connections,CPU utilization,memory utilization,network IO,disk IO and average response time as parameters,calculate the real-time weight of container,and record the real-time weight in the weight table of the load server.After the load server queries the weight table,it calls the WRR algorithm and recommends the best Docker container server ID to load.Through the simulation experiment,the average response time and throughput of docker container server before and after the improvement are analyzed and compared.It is concluded that the improved DLOADalgorithm can improve the average response time and anti concurrency of the server more efficiently than other algorithm,and improve the performance of the container server.

Key words: Anti-concurrency, Container server, Docker, Dynamically loading, High concurrency, Real-time weight

中图分类号: 

  • P391
[1]WEN Z,LI G,YANG G.Research and Realization of Nginx-based Dynamic Feedback Load Balancing Algorithm[C]//2018 IEEE 3rd Advanced Information Technology,Electronic and Automation Control Conference (IAEAC).Chongqing,2018:2541-2546.
[2]CHI X,LIU B,NIU Q,et al.Web Load Balance and Cache Optimization Design Based Nginx under High-Concurrency Environment[C]//2012 Third International Conference on Digital Ma-nufacturing & Automation.Guilin,2012:1029-1032.
[3]GUO G,YU J,LU L,et a1.Data migration model based on RAM Cloud hierarchical storage architecture[J].Journal of Computer Applications,2015,35(12):3392-3397.
[4]WANG L,TAO J,KUNZE M,et al.Scientific Cloud Compu-ting:Early Definition and Experience[C]//2008 10th IEEE International Conference on High Performance Computing and Communications.Dalian,2008:825-830.
[5]JOY A M.Performance comparison between Linux containersand virtual machines[C]//Proceedings of 2015 International Conference on Advances in Computer Engineering and Applications.Ghaziabad:IEEE,2015:342-346.
[6]Docker Inc.Evolution of the Modern Software Supply Chain[EB/OL].[2018-04-23].https://goto.docker.com/rs/929-FJL-178/images/Docker-Survey-2016.pdf.
[7]MADHUMATHI R.The Relevance of Container Monitoring towards Container Intelligence[C]//ICCCNT.IEEE,2018:1-5.
[8]CHUNG M T,QUANG-HUNG N,NGUYEN M,et al.Using Docker in high performance computing applications[C]//2016 IEEE Sixth International Conference on Communications and Electronics (ICCE).Ha Long,2016:52-57.
[9]GOPALASINGHAM A,HERCULEA D G,CHEN C S,et al.Virtualization of radio access network by Virtual Machine and Docker:Practice and performance analysis[C]//2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).Lisbon,2017:680-685.
[10]FELTER W,FERREIRA A,RAJAMONY R,et al.An updated performance comparison of virtual machines and Linuxcontai-ners[C]//2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).Philadelphia,PA,2015:171-172.
[11]SHU A,PENG X,ZHAO W Y.Adaptive management of cloud computing resources based on container technology [J].Computer Science,2017,44 (7):120-127.
[12]LIN W,QI D Y.Survey of resource scheduling in cloud computing[J].Computer Science,2012,39(10):1-6.
[13]LIU Q,E H H,SONG M.The Design of Multi-Metric Load Bala-ncer for Kubernetes[C]//2020 InternationalConference on Inventive Computation Technologies (ICICT).Coimbatore,India,2020:1114-1117.
[14]FOURATI M H,MARZOUK S,DRIRA K,et al.DOCKERANALYZER:Towards Fine Grained Resource Elasticity for Microservices-Based Applications Deployed with Docker[C]//2019 20th International Conference on Parallel and Distributed Computing,Applications and Technologies (PDCAT).Gold Coast,Australia,2019:220-225.
[15]BERNSTEIN D.Containers and cloud:From LXC to docker to Kubernetes[J].IEEE Cloud Computing,2014,1(3):81-84.
[16]YANG C.Checkpoint and Restoration of Micro-service in Doc-ker Containers[C]//3rd International Conference on Mechatro-nics and Industrial Informatics.2015:915-918.
[17]LEI Q,LIAO W,JIANG Y,et al.Performance and Scalability Testing Strategy Based on Kubemark[C]//2019 IEEE 4th International Conference on Cloud Computing and Big Data Ana-lysis (ICCCBDA).Chengdu,China,2019:511-516.
[1] 谭双杰, 林宝军, 刘迎春, 赵帅.
基于机器学习的分布式星载RTs系统负载调度算法
Load Scheduling Algorithm for Distributed On-board RTs System Based on Machine Learning
计算机科学, 2022, 49(2): 336-341. https://doi.org/10.11896/jsjkx.201200126
[2] 徐飞, 王少昌, 杨卫霞.
基于博弈论的云资源调度算法
Cloud Resource Scheduling Algorithm Based on Game Theory
计算机科学, 2019, 46(6A): 295-299.
[3] 余昌发, 程学林, 杨小虎.
基于Kubernetes的分布式TensorFlow平台的设计与实现
Design and Implementation of Distributed TensorFlow Platform Based onKubernetes
计算机科学, 2018, 45(11A): 527-531.
[4] 胡星,王泽瑞,李烁,杨楠,张知凡,王巧,王千祥.
POP:一个基于微服务架构的在线编程系统
POP:Micro-service Based Online Programming System
计算机科学, 2017, 44(4): 8-11. https://doi.org/10.11896/j.issn.1002-137X.2017.04.002
[5] 王溪波,葛宏帅,王瑞全,林海.
电梯远程监控系统中高并发通信服务器的设计
Design of High Concurrent Communication Server of Elevator Remote Monitoring System
计算机科学, 2017, 44(4): 157-160. https://doi.org/10.11896/j.issn.1002-137X.2017.04.034
[6] 罗俊辉,白光伟,沈航,曹磊.
异构无线网络终端服务感知的动态负载均衡机制
Dynamic Load Balance Mechanism Based on Mobile Terminal Service-aware in Integrated Heterogeneous Wireless Networks
计算机科学, 2014, 41(6): 37-42. https://doi.org/10.11896/j.issn.1002-137X.2014.06.008
[7] 孙峻文,周良,丁秋林.
基于退火算法的动态负载均衡研究
Research of Dynamic Load Balancing Based on Simulated Annealing Algorithm
计算机科学, 2013, 40(5): 89-92.
[8] 余鑫,张斌.
一种支持邻居负载感知的动态负载平衡扩散算法
Dynamic Load Balancing Diffusion Algorithm with Neighbors Loading Awareness
计算机科学, 2013, 40(3): 167-169.
[9] 陈任之,黄立波,陈顼颢,王志英.
单节点多GPU集群下HPL动态负载均衡优化
Optimizing HPL Benchmark on Multi-GPU Clusters
计算机科学, 2013, 40(3): 107-110.
[10] .
分布式数据流处理系统的动态负载平衡技术

计算机科学, 2007, 34(7): 120-123.
[11] .
基于生物迁移的网络动态负载平衡的研究

计算机科学, 2007, 34(7): 63-65.
[12] 张喜平 汪林林.
访问Web GIS服务的一种动态负载均衡方法

计算机科学, 2005, 32(7): 83-84.
[13] 徐卫东 王康.
适用于内容分发网络的动态负载均衡策略

计算机科学, 2005, 32(1): 41-44.
[14] 卢凯 胡湘华.
高性能计算机的系统分区技术研究

计算机科学, 2004, 31(12): 179-181.
[15] 华强胜 陈志刚 李登.
一种基于主负载信息表的动态负载平衡模型及其均衡算法研究

计算机科学, 2002, 29(12): 183-185.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!