CN110321198A - 一种容器云平台计算资源与网络资源协同调度方法及系统 - Google Patents
一种容器云平台计算资源与网络资源协同调度方法及系统 Download PDFInfo
- Publication number
- CN110321198A CN110321198A CN201910598036.7A CN201910598036A CN110321198A CN 110321198 A CN110321198 A CN 110321198A CN 201910598036 A CN201910598036 A CN 201910598036A CN 110321198 A CN110321198 A CN 110321198A
- Authority
- CN
- China
- Prior art keywords
- container
- load
- current
- physical machine
- migration
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种容器云平台计算资源与网络资源协同调度方法及系统。该方法包括:获取数据中心的物理机上容器的负载值;计算当前容器负载裕度;若当前容器负载裕度小于0,生成第一容器序列;若最大负载裕度大于或等于当前容器负载裕度,则将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;若最大负载裕度小于当前容器负载裕度,则将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;若当前容器负载裕度大于0,获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度。采用本发明的方法及系统,能够有效提高资源利用率。
Description
技术领域
本发明涉及虚拟化容器技术领域,特别是涉及一种容器云平台计算资源与网络资源协同调度方法及系统。
背景技术
随着新型虚拟化容器(Docker)技术的发展,容器虚拟化技术及其构建的云平台以其固有的优势(例如应用的微服务化、运维的标准化、集成/部署的自动化、低测试研发成本等)正逐渐被各大云服务提供商所广泛采纳。
虽然以容器为基本运行单元的云计算虚拟架构为解决传统虚拟机资源管理中的成本和效率问题提供了新的契机,但也对容器云平台资源管理提出了新的挑战。在瞬息万变的多租户多数据中心云环境下实现计算资源和网络资源的自适应调度,即便是采用新型的容器虚拟化技术,依然非常困难。例如,Amazon至少有遍布4个大洲的11个数据中心,每个数据中均拥有几十万台服务器,Google至少有遍布4个大洲的13个数据中心,每个数据中心拥有的服务器数量甚至超过100万台,数据中心各种物理资源虚拟化后数目更加庞大,管理起来技术难度大、复杂性高;各数据中心间以专用网连接,费用昂贵。另一方面,计算资源和网络资源之间存在错综复杂的非线性不确定关系,单独调整一方面未必能提高资源利用率和应用服务性能,需要动态协调配置。因此,如何实现计算资源和网络资源的协同调度对于研究学者提出了新的挑战。
发明内容
本发明的目的是提供一种容器云平台计算资源与网络资源协同调度方法及系统,具有能够提高资源利用率的优点。
为实现上述目的,本发明提供了如下方案:
一种容器云平台计算资源与网络资源协同调度方法,包括:
获取数据中心的物理机上容器的负载值;每个所述数据中心管理多个物理机,每个所述物理机管理多个容器;
计算当前容器负载裕度;所述容器负载裕度为容器额定负载值与容器当前负载值的差值;
判断当前容器负载裕度是否小于0;
若所述当前容器负载裕度小于0,计算并比较所述当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列;
判断所述第一容器序列中的最大负载裕度是否小于当前容器负载裕度,若所述最大负载裕度大于或等于当前容器负载裕度,则将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;
若所述最大负载裕度小于当前容器负载裕度,则在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;
若所述当前容器负载裕度大于0,判断是否遍历完当前物理机管理的所有容器;
若遍历完当前物理机管理的所有容器,结束调度任务;
若没有遍历完当前物理机管理的所有容器,则获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并返回步骤“判断当前容器负载裕度是否小于0”。
可选的,所述将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中,具体包括:
计算将当前容器迁移至所述第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价;
比较所述第一迁移代价,并将所述当前容器迁移至最小第一迁移代价对应的容器中。
可选的,所述将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中,具体包括:
计算每一个所述物理机管理的所有容器的负载裕度之和,得到每一个所述物理机的总负载裕度;
比较并选取最大总负载裕度对应的物理机;
将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内。
可选的,将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内,具体包括:
计算最大总负载裕度对应的物理机管理的各个容器的负载裕度;
将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列;
计算将当前容器迁移至所述第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价;
比较所述第二迁移代价,并将所述当前容器迁移至最小第二迁移代价对应的容器中。
可选的,计算所述第一迁移代价或所述第二迁移代价的方法,具体包括:
获取接收所述当前容器负载迁移的物理机的活跃度、当前容器待迁移的负载值和接收所述当前容器负载迁移的容器的交换频率;
根据如下公式计算第一迁移代价或所述第二迁移代价f(C):
f(C)=αC1+βC2+γC3
式中,C表示当前容器,f(C)表示所述第一迁移代价或所述第二迁移代价,C1表示接收所述当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收所述当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
本发明还提供一种容器云平台计算资源与网络资源协同调度系统,包括:
数据中心的物理机上容器的负载值获取模块,用于获取数据中心的物理机上容器的负载值;每个所述数据中心管理多个物理机,每个所述物理机管理多个容器;
当前容器负载裕度计算模块,用于计算当前容器负载裕度;所述容器负载裕度为容器额定负载值与容器当前负载值的差值;
第一判断模块,用于判断当前容器负载裕度是否小于0;
第一容器序列生成模块,用于在所述当前容器负载裕度小于0时,计算并比较所述当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列;
第二判断模块,用于判断所述述第一容器序列中的最大负载裕度是否小于当前容器负载裕度;
第一迁移模块,用于在所述最大负载裕度大于或等于当前容器负载裕度时,将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;
第二迁移模块,用于在所述最大负载裕度小于当前容器负载裕度时,在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;
第三判断模块,用于当所述当前容器负载裕度大于0时,判断是否遍历完当前物理机管理的所有容器;
结束模块,用于在遍历完当前物理机管理的所有容器时,结束调度任务;
容器负载裕度更新模块,用于在没有遍历完当前物理机管理的所有容器时,获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并将指令发送至所述第一判断模块。
可选的,所述第一迁移模块,具体包括:
第一迁移代价计算单元,用于计算将当前容器迁移至所述第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价;
第一比较单元,用于比较所述第一迁移代价;
第一迁移单元,用于将所述当前容器迁移至最小第一迁移代价对应的容器中。
可选的,所述第二迁移模块,具体包括:
总负载裕度计算单元,用于计算每一个所述物理机管理的所有容器的负载裕度之和,得到每一个所述物理机的总负载裕度;
第二比较单元,用于比较并选取最大总负载裕度对应的物理机;
第二迁移单元,用于将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内。
可选的,所述第二迁移单元,具体包括:
负载裕度计算子单元,用于计算最大总负载裕度对应的物理机管理的各个容器的负载裕度;
第二容器序列生成子单元,用于将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列;
第二迁移代价计算子单元,用于计算将当前容器迁移至所述第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价;
第二比较子单元,用于比较所述第二迁移代价;
第二迁移子单元,用于将所述当前容器迁移至最小第二迁移代价对应的容器中。
与现有技术相比,本发明的有益效果是:
本发明提供了一种基于种容器云平台计算资源与网络资源协同调度方法及系统,该方法通过获取数据中心的物理机上容器的负载值;计算当前容器负载裕度;判断当前容器负载裕度是否小于0;若当前容器负载裕度小于0,计算并比较当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列;判断最大负载裕度是否大于当前容器负载裕度,若最大负载裕度大于或等于当前容器负载裕度,则将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;若最大负载裕度小于当前容器负载裕度,则在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;若当前容器负载裕度大于0,获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度。采用本发明的方法及系统,能够有效提高资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中容器云平台计算资源与网络资源协同调度方法流程图;
图2为本发明实施例中容器云平台计算资源与网络资源协同调度系统结构图;
图3为本发明实施例中基于多属性信息的数据中心间资源调度的层次化结构图;
图4为本发明实施例中服务器计算资源管理系统模型图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种容器云平台计算资源与网络资源协同调度方法及系统,具有能够提高资源利用率的优点。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一:
图1为本发明实施例中容器云平台计算资源与网络资源协同调度方法流程图,如图1所示,一种容器云平台计算资源与网络资源协同调度方法,包括:
步骤101:获取数据中心的物理机上容器的负载值;每个数据中心管理多个物理机,每个物理机管理多个容器。
步骤102:计算当前容器负载裕度;容器负载裕度为容器额定负载值与容器当前负载值的差值。
步骤103:判断当前容器负载裕度是否小于0;若当前容器负载裕度小于0,执行步骤104;若当前容器负载裕度大于0,执行步骤108。
步骤104:计算并比较当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列。
步骤105:判断第一容器序列中的最大负载裕度是否小于当前容器负载裕度,若最大负载裕度大于或等于当前容器负载裕度,执行步骤106;若最大负载裕度小于当前容器负载裕度,执行步骤107。
步骤106:将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中,然后执行步骤108。
该步骤106具体包括:
计算将当前容器迁移至第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价。
计算第一迁移代价的方法,具体包括:
获取预迁移的物理机的活跃度、当前容器待迁移的负载值和预迁移容器的交换频率。
根据如下公式计算第一迁移代价f1(C):
f1(C)=αC1+βC2+γC3
式中,C表示当前容器,f1(C)表示第一迁移代价,C1表示接收当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
比较第一迁移代价,并将当前容器迁移至最小第一迁移代价对应的容器中。
步骤107:在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中,然后执行步骤108。
该步骤107具体包括:
计算每一个物理机管理的所有容器的负载裕度之和,得到每一个物理机的总负载裕度。
比较并选取最大总负载裕度对应的物理机。
将当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内,具体过程为:
计算最大总负载裕度对应的物理机管理的各个容器的负载裕度。
将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列。
计算将当前容器迁移至第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价。
计算第二迁移代价的方法,具体包括:
获取预迁移的物理机的活跃度、当前容器待迁移的负载值和预迁移容器的交换频率。
根据如下公式计算第二迁移代价f2(C):
f2(C)=αC1+βC2+γC3
式中,C表示当前容器,f2(C)表示第二迁移代价,C1表示接收当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
比较第二迁移代价,并将当前容器迁移至最小第二迁移代价对应的容器中。
步骤108:判断是否遍历完当前物理机管理的所有容器,若是,执行步骤110,若否,执行步骤109。
步骤109:获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并返回步骤103。
步骤110:结束调度任务。
图2为本发明实施例中容器云平台计算资源与网络资源协同调度系统结构图,如图2所示,一种容器云平台计算资源与网络资源协同调度系统,包括:
数据中心的物理机上容器的负载值获取模块201,用于获取数据中心的物理机上容器的负载值;每个数据中心管理多个物理机,每个物理机管理多个容器。
当前容器负载裕度计算模块202,用于计算当前容器负载裕度;容器负载裕度为容器额定负载值与容器当前负载值的差值。
第一判断模块203,用于判断当前容器负载裕度是否小于0。
第一容器序列生成模块204,用于在当前容器负载裕度小于0时,计算并比较当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列。
第二判断模块205,用于判断第一容器序列中的最大负载裕度是否小于当前容器负载裕度。
第一迁移模块206,用于在最大负载裕度大于或等于当前容器负载裕度时,将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中。
第一迁移模块206,具体包括:
第一迁移代价计算单元,用于计算将当前容器迁移至第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价。
根据如下公式计算第一迁移代价f1(C):
f1(C)=αC1+βC2+γC3
式中,C表示当前容器,f1(C)表示第一迁移代价,C1表示接收当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
第一比较单元,用于比较第一迁移代价。
第一迁移单元,用于将当前容器迁移至最小第一迁移代价对应的容器中。
第二迁移模块207,用于在最大负载裕度小于当前容器负载裕度时,在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中。
第二迁移模块207,具体包括:
总负载裕度计算单元,用于计算每一个物理机管理的所有容器的负载裕度之和,得到每一个物理机的总负载裕度。
第二比较单元,用于比较并选取最大总负载裕度对应的物理机。
第二迁移单元,用于将当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内。
第二迁移单元,具体包括:
负载裕度计算子单元,用于计算最大总负载裕度对应的物理机管理的各个容器的负载裕度。
第二容器序列生成子单元,用于将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列。
第二迁移代价计算子单元,用于计算将当前容器迁移至第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价。
根据如下公式计算第二迁移代价f2(C):
f2(C)=αC1+βC2+γC3
式中,C表示当前容器,f2(C)表示第二迁移代价,C1表示接收当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
第二比较子单元,用于比较第二迁移代价。
第二迁移子单元,用于将当前容器迁移至最小第二迁移代价对应的容器中。
第三判断模块208,用于当所述当前容器负载裕度大于0时,判断是否遍历完当前物理机管理的所有容器。
容器负载裕度更新模块209,用于在没有遍历完当前物理机管理的所有容器时,获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并将指令发送至所述第一判断模块203。
结束模块210,用于在遍历完当前物理机管理的所有容器时,结束调度任务。
构造多属性信息的数据中心间资源调度的层次化结构,本发明构造的数据中心间资源调度的层次化结构如图3所示,图3为基于多属性信息的数据中心间资源调度的层次化结构图,详细说明如下:
第0层是对多个属性信息综合考虑的最终评价值。
第1层是数据中心管理者最关注的几个核心属性,例如中转数据中心的接入带宽价格、接入链路的服务质量、数据能源使用效率等。
第2层是对第1层核心属性的分解,例如,链路的服务质量主要跟时延还有带宽有关,而内容的流行度就要跟用户所处的地理位置,以及当地用户的规模有关。
以此类推可进一步构造第3层、第4层直至第n层。
构建的层次化结构,以租户为粒度的云网络选择可建模为两层递阶协调模型,云经纪人通过对各租户资源需求的协调,间接地对整个系统进行集中式全局控制,实现了“集中-分散”相结合的大系统递阶控制方式,模型如下:
云经纪人层:
s.t.X={x∈Rn|h(x)≤0}
其中,v(x)=(v1(x),v2(x),...,vN(x))。
租户层:
s.t.Yi(x)={yi∈Rn|gi(x,yi)≤0}
式中,F为云经纪人层的目标函数,通常为总成本最小或总收益最大;X为云经纪人层的约束函数,包括资源选择和调度约束、全局资源总量和可用量约束、租户分组约束等;v(x)为租户在x确定后的反应决策向量;vi(x)为租户i的调度目标,通常为租户支付成本最小或收益最大;Yi(x)为租户i的调度约束,包括资源启用的时序约束、所分配资源的全局和局部使用约束等。
基于以上目标,采用Double Q-Network算法实现多租户容器云数据中心下的计算与网络资源协同调度机制。相关概念定义如下:
状态空间:用五元组S=(RA,WR,AW,PJ,IM)表示状态空间,其中RA表示资源可用时间;WR表示待调度任务的工作量;AW表示等待队列中的总工作量;PJ表示队列中各租户提交任务的比例;IM表示空闲容器资源数。
动作空间:用三元组J=(WS,TJ,ET)表示动作空间,其中WS表示租户标识符;TJ表示任务类型;ET表示任务执行时间。
奖赏函数:以递阶协调模型中云经纪人层和租户层的目标函数作为奖赏函数。将各种agent反馈的信息进行自身知识的构建和学习,最终得到实现目标函数的最优策略。
图4为服务器计算资源管理系统模型图,如图4所示,当数据中心的监控器发现有服务器的负载上升,性能不足时,数据中心会调用动态调度程序。调度过程分为两种情况:
第一,首先是在数据中心内部进行增加物理机且(或)迁移相应容器,避免数据中心间的迁移。
第二,如果数据中心自身的调整不能满足用户的性能要求,数据中心向云计算系统发起请求,在数据中心间进行容器迁移。
假设物理主机Hi上的容器Ci负载升高,导致性能不足。首先考察Hi上是否有充足的可用资源提供给Ci。如果资源充足,那么将这些资源分配给Ci。如果Hi上没有足够的资源供给Ci,那么首先考虑在数据中心内部迁移容器。迁移可以分为直接迁移和间接迁移两种。直接迁移是将Ci迁移到其他资源充足的物理主机上。间接迁移是迁移Hi的除Ci外其他的容器,为Ci在Hi上腾出足够的资源。以迁移代价最小原则选择迁移的方式,考虑的因素包括被迁移虚拟机的活跃度(CPU资源)、迁移的数据量(内存资源)、交换的频率(I/O资源)等。假设待迁移的容器C′,C′即为以下函数在满足C′CPU>Ci CPU,C′MEM>Ci MEM,C′IO>Ci IO条件下的最小值。
f(C′)=αC′CPU+βC′MEM+γC′IO
其中,α、β和γ表示权重因子,用来设置这三类资源的偏重程度。
在数据中心内部调整无效或者调整后仍然不能满足用户要求时,数据中心向系统资源分配器进行报告。报告的内容是需要迁出本数据中心,转移到其他数据中心的容器集合。
在迁移过程中尽量不破坏容器之间的约束关系,如果破坏了容器约束关系,使得具有约束关系的容器分布在不同的数据中心,那么这些容器之间的数据交互将会变得困难。因此,我们拟将以容器簇作为数据中心间的资源迁移单位。迁移的容器簇的选择同样以迁移代价最小为原则,这意味着可能迁移本身过载的容器簇,也有可能迁移其他容器簇以腾出资源给过载的容器簇。
系统资源分配器收到请求后将重新发起一个拍卖过程,实现容器从原始数据中心迁移至其它数据中心。这个过程与前面数据中心选择算法中的拍卖过程类似,但相对简单。待拍卖的容器簇要以一个整体在除原始数据中心之外的其它数据中心间进行竞标,不存在组合竞标的情况。因此拟使用顺序拍卖的方法,根据各个数据中心的投标情况进行排序,资源分配器只需选择出出价最高者即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种容器云平台计算资源与网络资源协同调度方法,其特征在于,包括:
荻取数据中心的物理机上容器的负载值;每个所述数据中心管理多个物理机,每个所述物理机管理多个容器;
计算当前容器负载裕度;所述容器负载裕度为容器额定负载值与容器当前负载值的差值;
判断当前容器负载裕度是否小于0;
若所述当前容器负载裕度小于0,计算并比较所述当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列;
判断所述第一容器序列中的最大负载裕度是否小于当前容器负载裕度,若所述最大负载裕度大于或等于当前容器负载裕度,则将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;
若所述最大负载裕度小于当前容器负载裕度,则在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;
若所述当前容器负载裕度大于0,判断是否遍历完当前物理机管理的所有容器;
若遍历完当前物理机管理的所有容器,结束调度任务;
若没有遍历完当前物理机管理的所有容器,则获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并返回步骤“判断当前容器负载裕度是否小于0”。
2.根据权利要求1所述的容器云平台计算资源与网络资源协同调度方法,其特征在于,所述将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中,具体包括:
计算将当前容器迁移至所述第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价;
比较所述第一迁移代价,并将所述当前容器迁移至最小第一迁移代价对应的容器中。
3.根据权利要求1所述的容器云平台计算资源与网络资源协同调度方法,其特征在于,所述将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中,具体包括:
计算每一个所述物理机管理的所有容器的负载裕度之和,得到每一个所述物理机的总负载裕度;
比较并选取最大总负载裕度对应的物理机;
将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内。
4.根据权利要求3所述的容器云平台计算资源与网络资源协同调度方法,其特征在于,将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内,具体包括:
计算最大总负载裕度对应的物理机管理的各个容器的负载裕度;
将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列;
计算将当前容器迁移至所述第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价;
比较所述第二迁移代价,并将所述当前容器迁移至最小第二迁移代价对应的容器中。
5.根据权利要求2或4所述的容器云平台计算资源与网络资源协同调度方法,其特征在于,计算所述第一迁移代价或所述第二迁移代价的方法,具体包括:
获取接收所述当前容器负载迁移的物理机的活跃度、当前容器待迁移的负载值和接收所述当前容器负载迁移的容器的交换频率;
根据如下公式计算所述第一迁移代价或所述第二迁移代价f(C):
f(C)=αC1+βC2+γC3
式中,C表示当前容器,f(C)表示所述第一迁移代价或所述第二迁移代价,C1表示接收所述当前容器负载迁移的物理机的活跃度,C2表示当前容器待迁移的负载值,C3表示接收所述当前容器负载迁移的容器的交换频率,α表示第一权重因子,β表示第二权重因子,γ表示第三权重因子,α+β+γ=1。
6.一种容器云平台计算资源与网络资源协同调度系统,其特征在于,包括:
数据中心的物理机上容器的负载值获取模块,用于获取数据中心的物理机上容器的负载值;每个所述数据中心管理多个物理机,每个所述物理机管理多个容器;
当前容器负载裕度计算模块,用于计算当前容器负载裕度;所述容器负载裕度为容器额定负载值与容器当前负载值的差值;
第一判断模块,用于判断当前容器负载裕度是否小于0;
第一容器序列生成模块,用于在所述当前容器负载裕度小于0时,计算并比较所述当前容器所在的物理机管理的其他容器的负载裕度,将当前容器所在的物理机管理的其他容器的负载裕度由大到小排列,生成第一容器序列;
第二判断模块,用于判断所述第一容器序列中的最大负载裕度是否小于当前容器负载裕度;
第一迁移模块,用于在所述最大负载裕度大于或等于当前容器负载裕度时,将当前容器的负载迁移至第一容器序列中负载裕度大于0对应的容器中;
第二迁移模块,用于在所述最大负载裕度小于当前容器负载裕度时,在当前容器所在的数据管理中心内增加物理机并将当前容器的负载迁移至增加物理机管理的容器中,或者将当前容器的负载迁移至当前容器所在数据中心内的其他物理机管理的容器中;
第三判断模块,用于当所述当前容器负载裕度大于0时,判断是否遍历完当前物理机管理的所有容器;
结束模块,用于在遍历完当前物理机管理的所有容器时,结束调度任务;
容器负载裕度更新模块,用于在没有遍历完当前物理机管理的所有容器时,获取当前物理机管理的下一个容器的负载值,计算下一个容器负载裕度,并将计算出的下一个容器负载裕度更新为当前容器负载裕度,并将指令发送至所述第一判断模块。
7.根据权利要求6所述的容器云平台计算资源与网络资源协同调度系统,其特征在于,所述第一迁移模块,具体包括:
第一迁移代价计算单元,用于计算将当前容器迁移至所述第一容器序列中负载裕度大于0对应的所有容器的第一迁移代价;
第一比较单元,用于比较所述第一迁移代价;
第一迁移单元,用于将所述当前容器迁移至最小第一迁移代价对应的容器中。
8.根据权利要求6所述的容器云平台计算资源与网络资源协同调度系统,其特征在于,所述第二迁移模块,具体包括:
总负载裕度计算单元,用于计算每一个所述物理机管理的所有容器的负载裕度之和,得到每一个所述物理机的总负载裕度;
第二比较单元,用于比较并选取最大总负载裕度对应的物理机;
第二迁移单元,用于将所述当前容器的负载迁移至最大总负载裕度对应的物理机管理的容器内。
9.根据权利要求8所述的容器云平台计算资源与网络资源协同调度系统,其特征在于,所述第二迁移单元,具体包括:
负载裕度计算子单元,用于计算最大总负载裕度对应的物理机管理的各个容器的负载裕度;
第二容器序列生成子单元,用于将最大总负载裕度对应的物理机管理的各个容器的负载裕度由大到小排列,生成第二容器序列;
第二迁移代价计算子单元,用于计算将当前容器迁移至所述第二容器序列中负载裕度大于0对应的所有容器的第二迁移代价;
第二比较子单元,用于比较所述第二迁移代价;
第二迁移子单元,用于将所述当前容器迁移至最小第二迁移代价对应的容器中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910598036.7A CN110321198B (zh) | 2019-07-04 | 2019-07-04 | 一种容器云平台计算资源与网络资源协同调度方法及系统 |
US16/683,843 US11042419B2 (en) | 2019-07-04 | 2019-11-14 | Cooperative scheduling method and system for computing resource and network resource of container cloud platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910598036.7A CN110321198B (zh) | 2019-07-04 | 2019-07-04 | 一种容器云平台计算资源与网络资源协同调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321198A true CN110321198A (zh) | 2019-10-11 |
CN110321198B CN110321198B (zh) | 2020-08-25 |
Family
ID=68122573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910598036.7A Active CN110321198B (zh) | 2019-07-04 | 2019-07-04 | 一种容器云平台计算资源与网络资源协同调度方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11042419B2 (zh) |
CN (1) | CN110321198B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423578A (zh) * | 2022-09-01 | 2022-12-02 | 广东博成网络科技有限公司 | 基于微服务容器化云平台的招投标方法和系统 |
CN116795546A (zh) * | 2023-06-21 | 2023-09-22 | 中国科学院沈阳自动化研究所 | 面向信息物理生产系统的确定性网算容器设计与实现方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157304B2 (en) * | 2019-11-01 | 2021-10-26 | Dell Products L.P. | System for peering container clusters running on different container orchestration systems |
CN114584563A (zh) * | 2022-03-18 | 2022-06-03 | 西安超越申泰信息科技有限公司 | 一种边端协同智能资源调度方法、装置、终端及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102236582A (zh) * | 2011-07-15 | 2011-11-09 | 浙江大学 | 虚拟化集群负载在多台物理机中均衡分配的方法 |
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN104636197A (zh) * | 2015-01-29 | 2015-05-20 | 东北大学 | 一种数据中心虚拟机迁移调度策略的评价方法 |
CN107222531A (zh) * | 2017-05-23 | 2017-09-29 | 北京科技大学 | 一种容器云资源调度方法 |
CN109271249A (zh) * | 2018-07-27 | 2019-01-25 | 暨南大学 | 一种基于P.haul框架的云容器预拷贝在线迁移方法 |
US10228964B2 (en) * | 2016-12-21 | 2019-03-12 | Netapp, Inc. | Storage layer based orchestration method for virtual machine migration across disparate virtualization environments |
CN109697105A (zh) * | 2018-12-11 | 2019-04-30 | 广东石油化工学院 | 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170199770A1 (en) * | 2014-06-23 | 2017-07-13 | Getclouder Ltd. | Cloud hosting systems featuring scaling and load balancing with containers |
JP6394455B2 (ja) * | 2015-03-24 | 2018-09-26 | 富士通株式会社 | 情報処理システム、管理装置およびプログラム |
-
2019
- 2019-07-04 CN CN201910598036.7A patent/CN110321198B/zh active Active
- 2019-11-14 US US16/683,843 patent/US11042419B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN102096461A (zh) * | 2011-01-13 | 2011-06-15 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102236582A (zh) * | 2011-07-15 | 2011-11-09 | 浙江大学 | 虚拟化集群负载在多台物理机中均衡分配的方法 |
CN102790793A (zh) * | 2012-05-08 | 2012-11-21 | 北京邮电大学 | 一种面向云计算虚拟机迁移的决策方法及控制模块 |
CN104636197A (zh) * | 2015-01-29 | 2015-05-20 | 东北大学 | 一种数据中心虚拟机迁移调度策略的评价方法 |
CN104636197B (zh) * | 2015-01-29 | 2017-12-19 | 东北大学 | 一种数据中心虚拟机迁移调度策略的评价方法 |
US10228964B2 (en) * | 2016-12-21 | 2019-03-12 | Netapp, Inc. | Storage layer based orchestration method for virtual machine migration across disparate virtualization environments |
CN107222531A (zh) * | 2017-05-23 | 2017-09-29 | 北京科技大学 | 一种容器云资源调度方法 |
CN109271249A (zh) * | 2018-07-27 | 2019-01-25 | 暨南大学 | 一种基于P.haul框架的云容器预拷贝在线迁移方法 |
CN109697105A (zh) * | 2018-12-11 | 2019-04-30 | 广东石油化工学院 | 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423578A (zh) * | 2022-09-01 | 2022-12-02 | 广东博成网络科技有限公司 | 基于微服务容器化云平台的招投标方法和系统 |
CN115423578B (zh) * | 2022-09-01 | 2023-12-05 | 广东博成网络科技有限公司 | 基于微服务容器化云平台的招投标方法和系统 |
CN116795546A (zh) * | 2023-06-21 | 2023-09-22 | 中国科学院沈阳自动化研究所 | 面向信息物理生产系统的确定性网算容器设计与实现方法 |
CN116795546B (zh) * | 2023-06-21 | 2024-02-13 | 中国科学院沈阳自动化研究所 | 面向信息物理生产系统的确定性网算容器设计与实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110321198B (zh) | 2020-08-25 |
US11042419B2 (en) | 2021-06-22 |
US20210004267A1 (en) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Madni et al. | Recent advancements in resource allocation techniques for cloud computing environment: a systematic review | |
Kaur et al. | Container-as-a-service at the edge: Trade-off between energy efficiency and service availability at fog nano data centers | |
CN110321198A (zh) | 一种容器云平台计算资源与网络资源协同调度方法及系统 | |
Masdari et al. | Efficient task and workflow scheduling in inter-cloud environments: challenges and opportunities | |
Xhafa et al. | Computational models and heuristic methods for Grid scheduling problems | |
Liu et al. | Resource preprocessing and optimal task scheduling in cloud computing environments | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
CN108021435B (zh) | 一种基于截止时间的具有容错能力的云计算任务流调度方法 | |
Singh et al. | Energy based efficient resource scheduling: a step towards green computing | |
CN105471985A (zh) | 负载均衡方法及云平台计算方法、云平台 | |
Mehrotra et al. | Towards an autonomic performance management approach for a cloud broker environment using a decomposition–coordination based methodology | |
Sharma et al. | An improved task allocation strategy in cloud using modified k-means clustering technique | |
Choudhary et al. | An approach to improve task scheduling in a decentralized cloud computing environment | |
CN108845886A (zh) | 基于相空间的云计算能耗优化方法和系统 | |
Khaleel | Multi-objective optimization for scientific workflow scheduling based on Performance-to-Power Ratio in fog–cloud environments | |
Luo et al. | Distributed data mining in grid computing environments | |
Li et al. | Cost-efficient fault-tolerant workflow scheduling for deadline-constrained microservice-based applications in clouds | |
Jung et al. | A workflow scheduling technique using genetic algorithm in spot instance-based cloud | |
Mofrad et al. | Service level agreement based adaptive Grid superscheduling | |
CN104869154A (zh) | 统筹资源可信度与用户满意度的分布式资源调度方法 | |
El-Zoghdy | A load balancing policy for heterogeneous computational grids | |
Zhao et al. | RAS: a task scheduling algorithm based on resource attribute selection in a task scheduling framework | |
Yadav et al. | Job scheduling in grid computing | |
Vinothini et al. | Meta-heuristic firefly approach to multi-servers load balancing with independent and dependent server availability consideration | |
Awasare et al. | Survey and comparative study on resource allocation strategies in cloud computing environment |
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 |