CN107992353A - 一种基于最小迁移量的容器动态迁移方法及系统 - Google Patents

一种基于最小迁移量的容器动态迁移方法及系统 Download PDF

Info

Publication number
CN107992353A
CN107992353A CN201710643225.2A CN201710643225A CN107992353A CN 107992353 A CN107992353 A CN 107992353A CN 201710643225 A CN201710643225 A CN 201710643225A CN 107992353 A CN107992353 A CN 107992353A
Authority
CN
China
Prior art keywords
container
migration
server
load
minimum
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
CN201710643225.2A
Other languages
English (en)
Other versions
CN107992353B (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.)
Nanjing Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication University
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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201710643225.2A priority Critical patent/CN107992353B/zh
Publication of CN107992353A publication Critical patent/CN107992353A/zh
Application granted granted Critical
Publication of CN107992353B publication Critical patent/CN107992353B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明公开了一种基于最小迁移量的容器动态迁移方法及系统,并设计了一种动态的容器迁移模型。本发明的目的是提出一种基于最小迁移量的容器动态迁移优化方法,通过拟合源服务器中容器的增长速度,以迁移增长速度快、占用率高的容器为原则,进行动态迁移时的容器选择,在保证集群负载均衡的情况下,减少了迁移的数量,从而提高了资源的利用率。

Description

一种基于最小迁移量的容器动态迁移方法及系统
技术领域
针对基于容器的分布式云计算平台下,会出现集群负载不均衡的问题,本发明设计了一种基于最小迁移量的容器动态迁移方法,并设计了一种动态的容器迁移模型。本发明属于容器化云计算平台的负载均衡领域。
背景技术
随着云计算大数据平台的不断发展,容器化的云计算平台正在逐渐成为大的趋势,并得到了持续的发展。传统的云计算虚拟化采用的方法是将物理机虚拟为多台逻辑上的计算机,且每个逻辑计算机可运行不同的操作系统。但是在传统的方式下,运维和管理的成本很高,配置较为杂乱。另外,虚拟机集群会连接多个系统,各个组件之间会产生许多复杂的交互信息,升级时会产生很多问题。
容器虚拟化技术(Docker为例)的出现有效的解决了传统虚拟机的配置麻烦,不易维护等问题。容器的理念是为每个应用程序提供了隔离的运行空间,每个容器内都包含一个独享的完整用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。容器技术是一种粒度更小的轻量级的虚拟化技术,他不需要虚拟化硬件。
在实际的搭配Docker容器的云计算环境下,会有负载不均衡的情况发生,即某些服务器加载的容器过多,运行较为缓慢,或者,某个服务器中的容器,带来的数据增长过快。为了解决负载不均衡的问题,则必须进行容器的迁移过程。一般来讲,容器的迁移分为静态和动态两种。在静态的迁移过程中,待迁移的容器被立即关闭,然后在目的服务器中新开一个容器,将待迁移容器的状态迁移到新的容器中。在这个过程中,整个云服务会被暂停,经济损失会比较多。一般采用的是动态迁移的方式,在确定了源服务器和目的服务器后,需要这两个服务器的信息之间的协作,来确定热点容器的迁移信息。这种方式的基本原则是,让用户几乎感觉不到有任何的迁移过程,即迁移的时间可以忽略不计,对用户来说是透明的。
目前,云服务越来越成型,且越来越多的大公司参与到云计算的研究上来。而随着云平台下容器化的大趋势,容器的动态迁移也日趋成熟,但仍有许多研究的难点。一个有效的迁移方法应该可以提高云资源的利用率,且减少实际的执行时间。下面分三个部分来阐述:
(1)多任务的影响:多任务是指,在以分布式为基础的云计算环境下,不同容器搭载的待处理的任务之间可能是有联系或相互合作的,事实上,这也是分布式处理的一个常态。在实际的应用中,会不可避免的遇到此类问题,本文暂时假设不讨论多任务的问题。
(2)工作负载的不确定性:在实际的云计算服务时,不同的时间,不同的服务器,有可能会有短时间内大量的一个资源的需求出现,即,某一个服务器上的一个容器CPU占有率会突然增高。假设其他的服务器上的任务都很快的完成,这就有可能造成某一台服务器的负载较高,这样会出现整个服务器集群的负载不均衡的情况。
(3)变化的数据量:通常情况下,基本上每个任务的处理都会带来数据的变化,有的任务处理会使数据量增多,有的会减少,有的则在一段时间内保持恒定的量。虽然Docker容器具有方便迁移,动态的优点,但是这些特点同时也会带来一些问题,Docker具有高度的灵活性,它可以把任何东西都打包成一个容器,在服务器中执行,这些容器的大小可能千差万别,内容也会有所区别,有的容器中包含的程序,可能会快速的生成很多随机数据,所以容器大小的变化幅度会比较大。
发明内容
本发明的目的是针对上述技术问题中的第二点和第三点,提出一种基于最小迁移量的优化方法,以迁移增长速度快、占用率高的容器为原则,进行动态迁移时的容器选择,在保证集群负载均衡的情况下,减少了迁移的数量,从而提高了资源的利用率。
为了实现上述技术目的,本发明采用如下技术方案:
一种基于最小迁移量的容器动态迁移优化方法,具体的步骤如下:
步骤S1、先通过传统的静态阈值法,判断服务器集群是否满足负载均衡,如果整个集群不满足负载均衡,说明有服务器有过载现象,将负载大于CPU占有量阈值T的服务器设置为热点服务器,加入热点服务器列表;
步骤S2、监测模块一直周期性的监测热点服务器中容器的信息数据,得到容器的内存历史数据;
步骤S3、通过最小三乘法的拟合方法,在容器内存历史数据的基础上,得到每个容器的增长特性,得到增长特性第一优先列表pri1
步骤S4、结合容器的内存数据大小,得到第二优先列表pri2,将两个优先列表按照一定的权值相加得到pri3(Ci)=pri1(Ci)*μ+pri2(Ci)*(1-μ);其中,Ci为热点服务器中的容器集合;μ为优先列表1和优先列表2的权重比值;
步骤S5、若当前的容器内存占有量大于Pi和Ti的差值,遵循最小迁移量原则,直接将该容器作为待迁移容器,加入迁移列表;其中,
Pi是指当前服务器i的CPU占有量,Ti表示服务器i的CPU占有量阈值;
步骤S6、如不满足步骤S5的条件,则对按优先权排列后的容器进行选择,每次将优先级高的容器加入迁移列表,若迁移后服务器的占有量仍然大于CPU占有量阈值T,则重复步骤S6,否则转步骤S7;
步骤S7、得到最终的迁移列表result,将迁移列表中的容器,顺序的按照预拷贝的方法迁移到目标服务器。
在上述的过程中,当发现在一开始的时候就有一个比较大的容器,则根据最小迁移量原则,直接将该容器迁移;若没有,则根据两个优先级队列的加权结果,进行一个新的排列,使占用内存较多、增长较快的优先作为待迁移容器。
步骤S1中判断服务器集群是否满足负载均衡的具体方法是:
为当前的服务器集群设置一个负载均衡率阈值δ*,若当前的服务器集群的负载均衡率大于负载均衡率阈值δ*,说明当前的服务器集群没有满足负载均衡,需要进行容器的动态迁移,通过计算服务器集群的方差δ,确定服务器集群负载不均衡后,将负载大于CPU占有量阈值T的设置为热点服务器Si,负载均衡率的判断方法如下:
其中,N为服务器集群的个数;Load为计算集群中各个服务器的负载,即已占用的CPU大小;δ*是设定好的负载均衡率阈值;δ为服务器集群的方差;
步骤S3中最小三乘法模型如下:
Y=a0+a1Xk
其中,Y是容器的大小;a0和a1是模型系数;X是时间;K为幂值;
然后计算平方损失函数模型,让实际情况下散布的值与设定好的模型的平方差和最小:
其中,φ为设定好的模型的平方差。
为了确定参数a0,a1和幂值k,构造最小三乘法回归参数的估计值模型:
在得到幂值k之后,若k>1,则可以判断当前容器增长为非线性,确定为待迁移容器。
一种基于最小迁移量的容器动态迁移系统,包括容器的动态监控模块,热点容器确定模块和预拷贝容器迁移模块;
其中,容器的动态监控模块用于负责周期性的在一小段时间内,监控容器的占有率情况,然后将负载情况,容器的增长趋势,是否有elephant应用信息传递给优化的最小迁移量模块,优化的最小迁移量模块在接收到信息之后,进行待迁移主机和待迁移容器的判定,并将容器的占有量作为原始数据,进行热点容器的判断,把占有量大的和增长速度快的作为热点容器,加入迁列表;在整个集群的负载率小于阈值之后,实现最终的负载均衡;
预拷贝容器迁移模块用于容器的内存的迁移,在进行完整个判定过程后,就交给预拷贝容器迁移模块,这里采用pre-copy方法,对容器的内存进行迭代拷贝之后,将容器迁移到目标服务器的目标容器中。
有益效果:本发明方案提出了一种提出一种基于最小迁移量的优化方法,通过容器的预测模型,将待迁移的容器设置为热点容器,加入迁移队列等待迁移到目标服务器中。方案的原则是让尽量使迁移的容器数达到最小。该方法主要具有如下优点:
(1)实时性:该模型的监测模块是实时监控,周期性的监测容器的内存占用大小的增长趋势。这样得到的数据是最新的,才能进一步的进行预测,否则数据的监测太慢,预测的时间完成之后,会导致结果的误差。
(2)减少了迁移总次数:通过最小迁移量的技术方案,可以在每次迁移占用最大的容器的基础上,将容器的增长趋势添加进去。从而避免把当前占用量较大,但是增长趋势小的误操作,迁移到目标服务器上。而那些当前占用量小,但是增长很快的容器却被留了下来。按照本技术方案,可以减少最终的迁移次数。
(3)减少了总的迁移时间:因为本方案是以预测模型为基础,所以减少了很多的误迁移操作。因为具体的预拷贝迁移,分为前期资源的准备时间和后期的内存迁移时间。所以,减少不必要的迁移次数之后,就可以节约大量的前期资源准备的时间,最终减少了总的迁移时间,提高了效率。
(4)负载均衡:在本方案的迁移之后,可以把占用量大,增长趋势快的容器迁移到低于阈值的服务器上。最后,服务器集群的负载均衡率小于阈值,可以实现最终的负载均衡。
附图说明
图1是动态迁移模型。
图2是最小迁移量的容器迁移模型。
图3预拷贝的迁移步骤图。
具体实施方式
下面结合说明书附图以及具体实施例对本发明一种基于最小迁移量的容器动态迁移方法作进一步详细说明。
本发明的设计方案强调减少迁移过程中不必要的容器迁移。
图1所示为容器的动态迁移模型,容器的动态迁移大致分为两个阶段,一个是前期的部署,待迁移容器的选择,另一个是具体的迁移过程,涉及到网络的迁移,存储的迁移和状态(内存,CPU,I/O)的迁移。其中,监视模块控制着整个迁移的过程,它决定了谁来负责迁移的初始化,迁移的开始和迁移的目标位置。而容器的迁移决策模块,则是负责具体的迁移过程,它的目的是尽可能的减少待迁移容器的downtime,尽量让用户感受不到服务的中断。而监视模块同样应该引起重视,在保证服务器集群负载均衡的前提下,从根本上减少容器的迁移量,能够减少资源的浪费,同时减少企业因为停止服务而产生的损失。本文聚焦在待迁移容器的选择上,在保证服务质量的情况下减少整体的能量消耗。
图2是最小迁移量的容器迁移模型。以云计算平台为基础的容器动态迁移模型总共包括四个部分,容器动态监控模块,热点容器确定模块,预拷贝迁移模块,迁移执行模块。
图3是预拷贝的迁移步骤图。预拷贝迁移模块主要负责容器的内存的迁移。为了保证用户的体验,要进行迭代拷贝的方式。减少downtime的大小,让用户感受不到迁移的过程。
该方法具体如下:
首先,监视模块一直在周期性的监视每一个容器的占用内存大小,从容器的数据量增长速度入手,在一段时间内,根据每个容器在每个时间点(单位:ms)上的大小形成历史数据。若增长速度达到指数级,则在迁移容器的选择时优先处理,而数据增长慢的或数据减少的,则降低优先度处理,形成一个迁移选择的机制。
在选择热点容器之前,首先要确定负载不均衡的源服务器。即规定只有负载较高的服务器才进行容器迁移。
本文的目的是在负载不均衡的源服务器中,确定待迁移的容器,同时也为了减少算法的复杂度,因此这里采用传统的静态阈值法,来确定服务器集群是否负载均衡。即计算服务器集群的平均负载,然后得到服务器负载的方差δ,假设服务器集群有N个服务器,Load表示计算集群中各个服务器的负载,即已占用的CPU大小。δ*是设定好的负载均衡率阈值,通过计算服务器集群的方差δ,确定服务器集群负载不均衡后,将负载大于CPU占有量阈值T的服务器设置为热点服务器Si
接下来就是对容器内存数据的拟合。由于容器化的灵活性,容器的大小多则几个G,少则数十M,所以,这里采用了最小三乘法,来进行回归建模。相比最小二乘法的线性模型,最小三乘法解决了二乘法只能做线性回归的问题。最小二乘法对于非线性问题,要通过对过程假设,建立相关性质的数学关系式,即机理模型,对机理模型进行线性化处理,再做回归建模。但是在实际运用中,Docker容器的占有率增长有很大的几率是指数性的。而最小三乘法可以解决多元非线性的问题。所以,在这里加入X的幂k,用来描述增长的速度。另外,在实际的服务器运行时,容器的数目有可能较多,若采用x的d阶多项式模型,则计算量是非常大的,会带来额外的资源消耗。在本文,只需要找到描述增长速度的k即可,不需要巨大的计算量。
所以,具体的方法步骤如下:
(1)先通过传统的静态阈值法,判断服务器集群是否满足负载均衡。如果整个集群不满足负载均衡,说明有服务器有过载现象。将负载大于CPU占有量阈值T的服务器设置为热点服务器,加入热点服务器列表。
(2)监测模块一直周期性的监测热点服务器中容器的信息数据。得到容器的内存历史数据。
(3)通过最小三乘法的拟合方法,在容器内存历史数据的基础上,得到每个容器的增长特性。得到增长特性第一优先列表pri1
(4)结合容器的内存数据大小,得到增长特性第二优先列表pri2,将两个优先列表按照一定的权值相加可以得到pri3(Ci)=pri1(Ci)*μ+pri2(Ci)*(1-μ)
(5)若当前的容器内存占有量大于Pi和Ti的差值,遵循最小迁移量原则,直接将该容器作为待迁移容器,加入迁移列表。
(6)如不满足条件(5),则对按优先权排列后的容器进行选择,每次将优先级高的容器加入迁移列表。若迁移后服务器的占有量仍然大于CPU占有量阈值T,则重复步骤(6),否则转步骤(7)
(7)得到最终的迁移列表result。将迁移列表中的容器,顺序的按照预拷贝的方法迁移到目标服务器。
一、系统结构
本发明在结构上主要分为容器的动态监控模块,热点容器确定模块,和预拷贝容器迁移模块。
容器的动态监控模块负责周期性的在一小段时间内,监控容器的占有率情况,然后将负载情况,容器的增长趋势,是否有elephant应用等信息传递给OMNM(优化的最小迁移量)模块。OMNM模块在接收到信息之后,进行待迁移主机和待迁移容器的判定。并将容器的占有量作为原始数据,进行热点容器的判断,把占有量大的和增长速度快的作为热点容器,加入迁列表。在整个集群的负载率小于阈值之后,实现最终的负载均衡。在进行完整个判定过程后,就交给具体的迁移模块,这里采用常见的pre-copy方法。对容器的内存进行迭代拷贝之后,将容器迁移到目标服务器的目标容器中。
二、方法流程
1.检查服务器集群的负载均衡率。为当前的服务器集群设置一个阈值δ*。若当前的服务器集群的负载均衡率大于阈值,说明当前的服务器集群没有满足负载均衡,需要进行容器的动态迁移,服务器集群有N个服务器,Load表示计算集群中各个服务器的负载,即已占用的CPU大小。δ*是设定好的负载均衡率阈值,通过计算服务器集群的方差δ,确定服务器集群负载不均衡后,将负载大于CPU占有量阈值T的服务器设置为热点服务器Si。其中,负载均衡率的判断方法如下:
2.下面假设服务器Si中有若干个个容器,对这若干个容器进行定期监测,现在以一个容器的拟合过程来做说明。现得到某一容器在一段时间内(单位为ms)的时间与容器大小的键值对(xi,yi),yi是在时刻xi测得的容器的大小(单位:Mb)。现在对yi进行拟合。
●本发明采用最小三乘法预测模型进行预测。最小三乘法可以解决多元非线性的问题。所以,在这里加入X的幂k,用来描述增长的速度。另外,在实际的服务器运行时,容器的数目有可能较多,若采用x的d阶多项式模型,则计算量是非常大的,会带来额外的资源消耗。模型如下:
Y=a0+a1Xk
●然后计算平方损失函数模型,让实际情况下散布的值与设定好的模型的平方差和最小:
●为了确定参数a0,a1和参数k,可以构造最小三乘法回归参数的估计值模型:
在得到幂值k之后,若k>1,则可以判断当前容器增长为非线性,确定为待迁移容器。
3.最小迁移量机制,尽量使迁移的容器数量达到最小,即针对热点服务器,在满足降低热点服务器负载的情况下,选择一组数量最小的容器进迁移。因为,不管待迁移的容器的大小如何,迁移的过程都要经历一个固定的热迁移和downtime时间。
●现在令Ci为热点服务器中的容器集合,Q(Ci)表示Ci的幂集(即Ci集合中的所有子集),result用来表示待迁移容器的集合。现在就可以得到一些约束:result∈Q(Ci),Pi<∑v∈resultui(v)+TiPi是指当前服务器i的CPU占有量,ui(v)是指容器v在服务器i中占的CPU大小,Ti表示服务器i的CPU占有量阈值。
●现在有一组热点服务器,sS={s1,s2,s3…sN},我们遍历热点服务器,对于每一个热点服务器si,获取当前的容器集合Ci
●遍历当前的容器集合Ci,根据步骤二中的预测方法得到该容器集合的几个优先列表pri1(Ci)
●遍历当前的容器集合Ci,根据容器的CPU占有量,按从小到大排列,可以得到优先序列pri2(Ci)。从而得到最终的一个加权优先列表:pri3(Ci)=pri1(Ci)*μ+pri2(Ci)*(1-μ)
●若当前的容器内存占有量大于Pi和Ti的差值,遵循最小迁移量原则,直接将该容器作为待迁移容器,加入迁移列表。
●对按优先权排列后的容器进行选择,每次将优先级高的容器加入迁移列表。若迁移后服务器的占有量仍然大于阈值,则重复此步骤。
●得到最终的迁移列表result。将迁移列表中的容器,顺序的按照预拷贝的方法迁移到目标服务器。
在上述的过程中,当发现在一开始的时候就有一个比较大的容器,则根据最小迁移量原则,直接将该容器迁移。若没有,则根据两个优先级队列的加权结果,进行一个新的排列,目的是使占用内存较多、增长较快的优先作为待迁移容器。

Claims (5)

1.一种基于最小迁移量的容器动态迁移优化方法,其特征在于,具体的步骤如下:
步骤S1、先通过传统的静态阈值法,判断服务器集群是否满足负载均衡,如果整个集群不满足负载均衡,说明有服务器有过载现象,将负载大于CPU占有量阈值T的服务器设置为热点服务器,加入热点服务器列表;
步骤S2、监测模块一直周期性的监测热点服务器中容器的信息数据,得到容器的内存历史数据;
步骤S3、通过最小三乘法的拟合方法,在容器内存历史数据的基础上,得到每个容器的增长特性,得到增长特性第一优先列表pri1
步骤S4、结合容器的内存数据大小,得到第二优先列表pri2,将两个优先列表按照一定的权值相加得到pri3(Ci)=pri1(Ci)*μ+pri2(Ci)*(1-μ);其中,Ci为热点服务器中的容器集合;μ为优先列表1和优先列表2的权重比值;
步骤S5、若当前的容器内存占有量大于Pi和Ti的差值,遵循最小迁移量原则,直接将该容器作为待迁移容器,加入迁移列表;其中,
Pi是指当前服务器i的CPU占有量,Ti表示服务器i的CPU占有量阈值;
步骤S6、如不满足步骤S5的条件,则对按优先权排列后的容器进行选择,每次将优先级高的容器加入迁移列表,若迁移后服务器的占有量仍然大于CPU占有量阈值T,则重复步骤S6,否则转步骤S7;
步骤S7、得到最终的迁移列表result,将迁移列表中的容器,顺序的按照预拷贝的方法迁移到目标服务器。
2.根据权利要求1所述的基于最小迁移量的容器动态迁移优化方法,其特征在于,在上述的过程中,当发现在一开始的时候就有一个比较大的容器,则根据最小迁移量原则,直接将该容器迁移;若没有,则根据两个优先级队列的加权结果,进行一个新的排列,使占用内存较多、增长较快的优先作为待迁移容器。
3.根据权利要求1所述的基于最小迁移量的容器动态迁移优化方法,其特征在于,步骤S1中判断服务器集群是否满足负载均衡的具体方法是:
为当前的服务器集群设置一个负载均衡率阈值δ*,若当前的服务器集群的负载均衡率大于负载均衡率阈值δ*,说明当前的服务器集群没有满足负载均衡,需要进行容器的动态迁移,通过计算服务器集群的方差δ,确定服务器集群负载不均衡后,将负载大于CPU占有量阈值T的设置为热点服务器Si,负载均衡率的判断方法如下:
<mrow> <msup> <mi>&amp;delta;</mi> <mo>*</mo> </msup> <mo>&lt;</mo> <mi>&amp;delta;</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msup> <mrow> <mo>&amp;lsqb;</mo> <mover> <mrow> <mi>l</mi> <mi>o</mi> <mi>a</mi> <mi>d</mi> </mrow> <mo>&amp;OverBar;</mo> </mover> <mo>-</mo> <msub> <mi>load</mi> <mi>i</mi> </msub> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> <mi>N</mi> </mfrac> </mrow>
其中,N为服务器集群的个数;Load为计算集群中各个服务器的负载,即已占用的CPU大小;δ*是设定好的负载均衡率阈值;δ为服务器集群的方差;
4.根据权利要求1所述的基于最小迁移量的容器动态迁移优化方法,其特征在于,步骤S3中最小三乘法模型如下:
Y=a0+a1Xk
其中,Y是容器的大小;a0和a1是模型系数;X是时间;K为幂值;
然后计算平方损失函数模型,让实际情况下散布的值与设定好的模型的平方差和最小:
<mrow> <mi>&amp;phi;</mi> <mo>=</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mover> <mi>Y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
<mrow> <mi>&amp;phi;</mi> <mo>=</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
其中,φ为设定好的模型的平方差。
为了确定参数a0,a1和幂值k,构造最小三乘法回归参数的估计值模型:
<mrow> <mo>(</mo> <mover> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>^</mo> </mover> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>,</mo> <mover> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>^</mo> </mover> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>,</mo> <mover> <mi>k</mi> <mo>^</mo> </mover> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>)</mo> <mo>=</mo> <mi>argmin</mi> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
<mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>Na</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> <mo>,</mo> </mrow>
<mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>y</mi> <mi>i</mi> </msub> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> <mo>+</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msubsup> <mi>x</mi> <mi>i</mi> <mi>k</mi> </msubsup> </mrow>
在得到幂值k之后,若k>1,则可以判断当前容器增长为非线性,确定为待迁移容器。
5.一种基于最小迁移量的容器动态迁移系统,其特征在于,包括容器的动态监控模块,热点容器确定模块和预拷贝容器迁移模块;
其中,容器的动态监控模块用于负责周期性的在一小段时间内,监控容器的占有率情况,然后将负载情况,容器的增长趋势,是否有elephant应用信息传递给优化的最小迁移量模块,优化的最小迁移量模块在接收到信息之后,进行待迁移主机和待迁移容器的判定,并将容器的占有量作为原始数据,进行热点容器的判断,把占有量大的和增长速度快的作为热点容器,加入迁列表;在整个集群的负载率小于阈值之后,实现最终的负载均衡;
预拷贝容器迁移模块用于容器的内存的迁移,在进行完整个判定过程后,就交给预拷贝容器迁移模块,这里采用pre-copy方法,对容器的内存进行迭代拷贝之后,将容器迁移到目标服务器的目标容器中。
CN201710643225.2A 2017-07-31 2017-07-31 一种基于最小迁移量的容器动态迁移方法及系统 Active CN107992353B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710643225.2A CN107992353B (zh) 2017-07-31 2017-07-31 一种基于最小迁移量的容器动态迁移方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710643225.2A CN107992353B (zh) 2017-07-31 2017-07-31 一种基于最小迁移量的容器动态迁移方法及系统

Publications (2)

Publication Number Publication Date
CN107992353A true CN107992353A (zh) 2018-05-04
CN107992353B CN107992353B (zh) 2022-03-18

Family

ID=62028926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710643225.2A Active CN107992353B (zh) 2017-07-31 2017-07-31 一种基于最小迁移量的容器动态迁移方法及系统

Country Status (1)

Country Link
CN (1) CN107992353B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN110119377A (zh) * 2019-04-24 2019-08-13 华中科技大学 面向Docker容器的在线迁移系统实现和优化方法
CN110347498A (zh) * 2019-06-10 2019-10-18 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统
WO2020220436A1 (zh) * 2019-04-29 2020-11-05 东北大学 面向不同老化场景的虚拟机工作队列和冗余队列更新方法
CN112882714A (zh) * 2021-02-04 2021-06-01 中国工商银行股份有限公司 SonarQube服务器集群扩容方法及装置
CN113535411A (zh) * 2021-09-17 2021-10-22 阿里云计算有限公司 资源调度方法、设备及系统
CN114422517A (zh) * 2022-01-24 2022-04-29 广东三合电子实业有限公司 一种服务器负载均衡系统及其方法
CN115981781A (zh) * 2022-12-16 2023-04-18 之江实验室 基于多模态网络的容器迁移方法、装置和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120174104A1 (en) * 2009-01-15 2012-07-05 International Business Machines Corporation Techniques for Placing Applications in Heterogeneous Virtualized Systems While Minimizing Power and Migration Cost
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN106330576A (zh) * 2016-11-18 2017-01-11 北京红马传媒文化发展有限公司 容器化微服务自动伸缩及迁移调度的方法、系统和设备
CN106385449A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于容器的异构集群服务迁移中转系统及中转方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120174104A1 (en) * 2009-01-15 2012-07-05 International Business Machines Corporation Techniques for Placing Applications in Heterogeneous Virtualized Systems While Minimizing Power and Migration Cost
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN106385449A (zh) * 2016-09-13 2017-02-08 哈尔滨工程大学 一种基于容器的异构集群服务迁移中转系统及中转方法
CN106330576A (zh) * 2016-11-18 2017-01-11 北京红马传媒文化发展有限公司 容器化微服务自动伸缩及迁移调度的方法、系统和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SAREH FOTUHI PIRAGHAJ: "A Framework and Algorithm for Energy Efficient Container Consolidation in Cloud Data Centers", 《2015 IEEE INTERNATIONAL CONFERENCE ON DATA SCIENCE AND DATA INTENSIVE SYSTEMS》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109271249B (zh) * 2018-07-27 2022-02-08 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN110119377A (zh) * 2019-04-24 2019-08-13 华中科技大学 面向Docker容器的在线迁移系统实现和优化方法
WO2020220436A1 (zh) * 2019-04-29 2020-11-05 东北大学 面向不同老化场景的虚拟机工作队列和冗余队列更新方法
CN110347498A (zh) * 2019-06-10 2019-10-18 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN110347498B (zh) * 2019-06-10 2022-12-16 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN111190688B (zh) * 2019-12-19 2022-12-09 西安交通大学 一种面向云数据中心的Docker迁移方法及系统
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及系统
CN112882714A (zh) * 2021-02-04 2021-06-01 中国工商银行股份有限公司 SonarQube服务器集群扩容方法及装置
CN112882714B (zh) * 2021-02-04 2024-01-30 中国工商银行股份有限公司 SonarQube服务器集群扩容方法及装置
CN113535411A (zh) * 2021-09-17 2021-10-22 阿里云计算有限公司 资源调度方法、设备及系统
CN113535411B (zh) * 2021-09-17 2022-03-01 阿里云计算有限公司 资源调度方法、设备及系统
CN114422517A (zh) * 2022-01-24 2022-04-29 广东三合电子实业有限公司 一种服务器负载均衡系统及其方法
CN115981781A (zh) * 2022-12-16 2023-04-18 之江实验室 基于多模态网络的容器迁移方法、装置和计算机设备

Also Published As

Publication number Publication date
CN107992353B (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
CN107992353B (zh) 一种基于最小迁移量的容器动态迁移方法及系统
Ali et al. Grouped tasks scheduling algorithm based on QoS in cloud computing network
Zhang et al. Network-aware virtual machine migration in an overcommitted cloud
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN109039954B (zh) 多租户容器云平台虚拟计算资源自适应调度方法及系统
KR100420419B1 (ko) 계산 환경의 분할들의 그룹들을 관리하는 방법, 시스템 및 기록 매체
CN104657221A (zh) 一种云计算中基于任务分类的多队列错峰调度模型及方法
Ebadifard et al. A dynamic task scheduling algorithm improved by load balancing in cloud computing
CN111966453B (zh) 一种负载均衡方法、系统、设备及存储介质
Patni et al. Load balancing strategies for grid computing
Supreeth et al. Hybrid genetic algorithm and modified-particle swarm optimization algorithm (GA-MPSO) for predicting scheduling virtual machines in educational cloud platforms
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
Shahapure et al. Virtual machine migration based load balancing for resource management and scalability in cloud environment
Mekala et al. DAWM: Cost-aware asset claim analysis approach on big data analytic computation model for cloud data centre
Mejahed et al. A multi-objective algorithm for virtual machine placement in cloud environments using a hybrid of particle swarm optimization and flower pollination optimization
Alshathri et al. A New Reliable System For Managing Virtual Cloud Network.
CN114880129A (zh) 资源利用率预测感知的云数据中心虚拟机资源分配方法
CN112954012B (zh) 基于负载的改进模拟退火算法的云任务调度方法
CN117032902A (zh) 一种基于负载的改进离散粒子群算法的云任务调度方法
Ramezani et al. Task Scheduling in cloud environments: a survey of population‐based evolutionary algorithms
Mirtaheri et al. Adaptive load balancing dashboard in dynamic distributed systems
Wang A dynamic resource management in mobile agent by artificial neural network
Lukashin et al. Resource scheduler based on multi-agent model and intelligent control system for openstack
Son et al. Multi-objective optimization method for resource scaling in cloud computing

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