CN112306670A - 一种Docker虚拟化场景下的服务器集群优化方法 - Google Patents

一种Docker虚拟化场景下的服务器集群优化方法 Download PDF

Info

Publication number
CN112306670A
CN112306670A CN201911005348.9A CN201911005348A CN112306670A CN 112306670 A CN112306670 A CN 112306670A CN 201911005348 A CN201911005348 A CN 201911005348A CN 112306670 A CN112306670 A CN 112306670A
Authority
CN
China
Prior art keywords
server
cluster
time
total
docker
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911005348.9A
Other languages
English (en)
Other versions
CN112306670B (zh
Inventor
时孝全
秦利滨
孙超
盛健勃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Building Materials Xinyun Zhilian Technology Co ltd
Cnbm Technology Corp ltd
Original Assignee
China Building Materials Xinyun Zhilian Technology Co ltd
Cnbm Technology Corp ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Building Materials Xinyun Zhilian Technology Co ltd, Cnbm Technology Corp ltd filed Critical China Building Materials Xinyun Zhilian Technology Co ltd
Priority to CN201911005348.9A priority Critical patent/CN112306670B/zh
Publication of CN112306670A publication Critical patent/CN112306670A/zh
Application granted granted Critical
Publication of CN112306670B publication Critical patent/CN112306670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

本发明公开了一种Docker虚拟化场景下的服务器集群优化方法,包括以下步骤:(1)通过Docker与操作系统的交互接口函数,收集Docker容器的服务器资源使用情况;(2)通过服务器操作系统和集群总控系统的交互接口函数,收集服务器集群的资源使用和任务情况;(3)在集群总控服务器,建立服务器、容器、进程表、集群进程总时间表,计算方法为所有进程按照某种组合执行,将进程运行时间、载入时间和退出时间进行线性加和;穷举所有组合形式,计算所有可能进程执行序列的总执行时间,输入到集群进程总时间表;(4)选取集群总执行时间最短的方案作为最优方案执行;(5)更新集群总控服务器表,服务器,容器和进程表;(6)重复执行步骤(4)和步骤(5),直至所有进程执行完毕。本发明的方法在服务器集群的层面进行优化,不单独关注某个服务器的需求响应,通过合理控制不同服务器、不同容器间的切换,提升了集群处理多个任务的能力,减少了集群总运行时间,区域内运行较为平稳。

Description

一种Docker虚拟化场景下的服务器集群优化方法
技术领域
本发明涉及一种服务器集群优化方法,尤其涉及一种Docker虚拟化场景下的服务器集群优化方法,属于信息技术领域。
背景技术
Docker是一种常用的在Linux系统中运行Windows应用程序容器,可用来虚拟化服务器应用,使得客户端在和Linux服务器交互时感觉不到容器外的操作系统属性。Docker容器提供的跨平台特性被用作Linux服务器集群应用程序托管服务。但Docker容器的存在,相当于在Linux操作系统和Windows应用程序之间加了一个中间层,不仅降低了单个服务器的效率,还有可能降低服务器集群系统效率。如何在应用程序Docker环境的虚拟化场景下调度服务器集群,成为集群运营商面临的难题。
现有的Linux集群的调度系统主要采用LVS架构,包含负载均衡层(Loadbalancer),服务器群层(Server array)和数据共享层(Shared data),LVS架构是上述三层架构首字母的缩写。现有的LVS架构提供多种调度方法,与单个服务器调度算法类似。
但其存在以下不足:集群内多个服务器运行着多个Docker容器,目前LVS架构下,不同服务器间调度算法没有考虑Docker容器的特点,使得服务器、容器和进程(线程)在频繁切换时可能导致系统效率降低。
发明内容
针对上述问题,本发明的目的在于提供一种通过合理控制不同服务器、不同容器间的切换,提升集群处理多个任务的能力,减少集群总运行时间的Docker虚拟化场景下的服务器集群优化方法。
本发明的目的是通过以下技术方案来实现的:
一种Docker虚拟化场景下的服务器集群优化方法,包括以下步骤:
(1)通过Docker与操作系统的交互接口函数,收集Docker容器的服务器资源使用情况;
(2)通过服务器操作系统和集群总控系统的交互接口函数,收集服务器集群的资源使用和任务情况;
(3)在集群总控服务器,建立服务器、容器、进程表、集群进程总时间表,计算方法为所有进程按照某种组合执行,将进程运行时间、载入时间和退出时间进行线性加和;穷举所有组合形式,计算所有可能进程执行序列的总执行时间,输入到集群进程总时间表;
(4)选取集群总执行时间最短的方案作为最优方案执行;
(5)更新集群总控服务器表,服务器,容器和进程表;
(6)重复执行步骤(4)和步骤(5),直至所有进程执行完毕。
步骤(3)中所述的进程表包含进程运行时间、载入时间、退出时间和服务器负载率表。
本发明的优点:本发明的方法在服务器集群的层面进行优化,不单独关注某个服务器的需求响应,通过合理控制不同服务器、不同容器间的切换,提升了集群处理多个任务的能力,减少了集群总运行时间,区域内运行较为平稳。
附图说明
图1是本发明方法初始时刻程序执行时间随机化矩阵图。
图2是本发明方法与全随机方法的系统平均执行时间对比图。
图3是本发明系统总执行时间对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图并通过具体实施例进一步说明本发明。
实施例1:
首先对业务场景进行数学描述。对于服务器,容器,任务(进程或线程)进行如下定义:
服务器集群系统中包含i个服务器,每个服务器的id为s i ;每个服务器包含j个docker容器,每个docker容器的id为d i, j ;每个docker容器中有k个进程(或线程),记为p i, j, k ;服务器集群主控制服务器中存储着一个进程矩阵M(i, j, k),三个时间矩阵:分别为运行时间矩阵tr(i, j, k),载入时间矩阵tl(i, j, k),退出时间矩阵te(i, j, k),其中i, j, k分别代表服务器、容器、进程。
例如,tr(i, j, k)代表第一个服务器的第j个docker容器中的第k个进程的运行时间。
服务器效率矩阵fi),代表集群中服务器i的效率,在集群轻载时候接近1,在重载时可由系统管理员设置规则,如单个服务器效率与服务器中所有进程运行时间成反比。
假设总共有N个进程需要执行,总共有I个服务器在集群中,总共有J个容器在服务器i中,总共有K个进程在容器中,N远大于I×J×K。方法的目标函数是系统运行时间t最小。
本发明方法的具体流程如下:
第一步:初始化进行矩阵和时间矩阵、进程表、时间片。在集群系统开始运行的时候或者启动本方法的时候执行。此时,进程表可能为0(集群系统开始运行时,或者已经将所有服务运行结束),也可能非零(集群系统已运行一段时间,很多程序在执行);
第二步:如果进程表为零,程序进入等待状态;如果进程表非零,需要将服务器资源分别分配给各个进程。遍历进程矩阵M(i, j, k)和运行时间矩阵tr(i, j, k),获得f (i)(tr(i, j, k)+tl(i, j, k)+te(i, j, k))最短的前I个进程执行,分别给I个服务器;
第三步:运算结束后将这前I个进程按照执行完成时间顺序依次移除。每次移除之后,遍历进程表,计算f (i) (tr(i, j, k)+tl(i, j, k)+te(i, j, k)),获取最小的f (i)(tr(i, j, k)+tl(i, j, k)+te(i, j, k)),执行第I+1个进程。重复这个步骤直至进程表为零。
发明效果的比较例:
因服务器集群处理的进程数一般都是以万为单位,进程表和时间表不方便以表格形式展示,本发明在matlab中实现了本方法,以随机生成的进程表和时间表为输入,总运行时间为输出,对比本方法和随机分配服务器,容器及进程的方法的总运行时间。
假设集群中共有100个服务器,每个服务器有100个Docker,每个Docker可容纳100个进程。初始时刻共有10000000个进程需要处理,他们的处理时间矩阵,载入时间矩阵和退出时间矩阵为0-1秒的随机数,如图1所示,系统效率为1。
第一步,时间最短的,前1000000个进程开始执行。然后,将已执行的1000000个进程,按照退出时间顺序依次移除,每移除第x个,将排序为1000000+x个的进行载入。按照方法描述中的步骤循环执行,直至10000000个进程执行完毕。
选取1000000,2000000,…,100000000个进程处理的总时间和全随机不使用调度算法的结果对比,平均执行时间如图2所示,灰色代表本发明方法的平均执行时间,黑色代表全随机方法的平均执行时间。可见本发明方法的平均执行时间接近线性上升,较全随机方法平稳。
总执行时间如图3所示,灰线为本发明所用的总执行时间,黑线是全随机方法所用的总执行时间,可见本发明的系统平均执行时间较全随机方法短。
通过两种方法的对比可见,本发明的方法在处理多容器多任务时系统总运行时间较小,区域内运行较为平稳。
上述实施实例仅说明本设计的原理和方法,并非用于限制本发明。任何对此技术和原理了解的人士都可在不违背本发明的精神和范畴下,对上述实施例进行修饰和改变。因此,凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神和技术思想下所完成的一切等效修饰和改变,仍应由本发明的权利要求所涵盖。

Claims (2)

1.一种Docker虚拟化场景下的服务器集群优化方法,其特征在于包括以下步骤:
(1)通过Docker与操作系统的交互接口函数,收集Docker容器的服务器资源使用情况;
(2)通过服务器操作系统和集群总控系统的交互接口函数,收集服务器集群的资源使用和任务情况;
(3)在集群总控服务器,建立服务器、容器、进程表、集群进程总时间表,计算方法为所有进程按照某种组合执行,将进程运行时间、载入时间和退出时间进行线性加和;穷举所有组合形式,计算所有可能进程执行序列的总执行时间,输入到集群进程总时间表;
(4)选取集群总执行时间最短的方案作为最优方案执行;
(5)更新集群总控服务器表,服务器,容器和进程表;
(6)重复执行步骤(4)和步骤(5),直至所有进程执行完毕。
2.如权利要求1所述的服务器集群优化方法,其特征在于步骤(3)中所述的进程表包含进程运行时间、载入时间、退出时间和服务器负载率表。
CN201911005348.9A 2019-10-22 2019-10-22 一种Docker虚拟化场景下的服务器集群优化方法 Active CN112306670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911005348.9A CN112306670B (zh) 2019-10-22 2019-10-22 一种Docker虚拟化场景下的服务器集群优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911005348.9A CN112306670B (zh) 2019-10-22 2019-10-22 一种Docker虚拟化场景下的服务器集群优化方法

Publications (2)

Publication Number Publication Date
CN112306670A true CN112306670A (zh) 2021-02-02
CN112306670B CN112306670B (zh) 2023-12-19

Family

ID=74485592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911005348.9A Active CN112306670B (zh) 2019-10-22 2019-10-22 一种Docker虚拟化场景下的服务器集群优化方法

Country Status (1)

Country Link
CN (1) CN112306670B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286675A (zh) * 2019-12-29 2021-01-29 中建材信息技术股份有限公司 一种Docker虚拟服务网络负载均衡方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185408A1 (en) * 2012-01-18 2013-07-18 Dh2I Company Systems and Methods for Server Cluster Application Virtualization
US20170017521A1 (en) * 2015-07-13 2017-01-19 Palo Alto Research Center Incorporated Dynamically adaptive, resource aware system and method for scheduling
CN106776029A (zh) * 2016-12-21 2017-05-31 上海爱数信息技术股份有限公司 一种优化服务器内存资源利用率的方法及系统
CN107888708A (zh) * 2017-12-25 2018-04-06 山大地纬软件股份有限公司 一种基于Docker容器集群的负载均衡算法
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185408A1 (en) * 2012-01-18 2013-07-18 Dh2I Company Systems and Methods for Server Cluster Application Virtualization
US20170017521A1 (en) * 2015-07-13 2017-01-19 Palo Alto Research Center Incorporated Dynamically adaptive, resource aware system and method for scheduling
CN106776029A (zh) * 2016-12-21 2017-05-31 上海爱数信息技术股份有限公司 一种优化服务器内存资源利用率的方法及系统
CN107888708A (zh) * 2017-12-25 2018-04-06 山大地纬软件股份有限公司 一种基于Docker容器集群的负载均衡算法
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286675A (zh) * 2019-12-29 2021-01-29 中建材信息技术股份有限公司 一种Docker虚拟服务网络负载均衡方法

Also Published As

Publication number Publication date
CN112306670B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
JP4387174B2 (ja) 複数の優先順位グループに関連付けられたプロセスを複数のリソース間に分散する方法
Chin et al. A fast parallel stochastic gradient method for matrix factorization in shared memory systems
Desai et al. A survey of various load balancing techniques and challenges in cloud computing
US9367359B2 (en) Optimized resource management for map/reduce computing
US8443366B1 (en) Techniques for establishing a parallel processing framework for a multi-tenant on-demand database system
CN107688492B (zh) 资源的控制方法、装置和集群资源管理系统
US20100325633A1 (en) Searching Regular Expressions With Virtualized Massively Parallel Programmable Hardware
US11392414B2 (en) Cooperation-based node management protocol
Wu et al. Heuristic algorithms for task assignment and scheduling in a processor network
US20190384633A1 (en) On-demand validated execution of specific tasks in isolation
Ghosh et al. Dynamic time quantum priority based round robin for load balancing in cloud environment
Swarnkar et al. A survey of load balancing techniques in cloud computing
CN115827183A (zh) 一种基于组合优化的混合容器云环境下Serverless服务调度系统
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN112306670A (zh) 一种Docker虚拟化场景下的服务器集群优化方法
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN113254200B (zh) 资源编排方法及智能体
CN115629854A (zh) 分布式任务调度方法、系统、电子设备和存储介质
Sekaran et al. SIQ algorithm for efficient load balancing in cloud
TWI742774B (zh) 運算系統及其主機資源分配方法
CN112346852A (zh) 矩阵求和运算的分布式物理处理
CN109739649B (zh) 资源管理方法、装置、设备及计算机可读存储介质
KR102248978B1 (ko) 다수 사용자의 분산 기계학습에서 평균 지연 속도 절감을 위한 자원 할당 방법 및 장치
US7937708B2 (en) Computer system and method for allocating computational power based on a two stage process
Trejo-Sánchez et al. A multi-agent architecture for scheduling of high performance services in a GPU cluster

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant