CN107196865B - 一种负载感知的自适应阈值过载迁移方法 - Google Patents

一种负载感知的自适应阈值过载迁移方法 Download PDF

Info

Publication number
CN107196865B
CN107196865B CN201710426966.5A CN201710426966A CN107196865B CN 107196865 B CN107196865 B CN 107196865B CN 201710426966 A CN201710426966 A CN 201710426966A CN 107196865 B CN107196865 B CN 107196865B
Authority
CN
China
Prior art keywords
server
service
migration
load
overload
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.)
Active
Application number
CN201710426966.5A
Other languages
English (en)
Other versions
CN107196865A (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.)
Civil Aviation University of China
Original Assignee
Civil Aviation University of China
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 Civil Aviation University of China filed Critical Civil Aviation University of China
Priority to CN201710426966.5A priority Critical patent/CN107196865B/zh
Publication of CN107196865A publication Critical patent/CN107196865A/zh
Application granted granted Critical
Publication of CN107196865B publication Critical patent/CN107196865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种负载感知的自适应阈值过载迁移方法,包括:step1初始化变量:算法开始时需要维护服务信息表,系统自动在处理机上登记进程的PCB信息;step2运行负载均衡算法:在集群系统中配置相应的负载均衡算法对用户的请求进行负载分发。step3确定是否存在需要强制迁移的处理机;step4检查服务器是否过载:定期的监测系统的运行情况,以过载阈值为基准,判定服务器是否过度负载;tep5基于负载感知的迁移服务选取:该专利根据客户端请求的速率自适应的改变过载阈值,能够有效的根据并发量实时调整各个服务器的过载阈值,并对于过载服务器选择最佳迁出方案,防止了过载服务器的超负荷工作甚至宕机。

Description

一种负载感知的自适应阈值过载迁移方法
技术领域
本发明应用于服务负载迁移领域,特别是涉及一种负载感知的自适应阈值过载迁移方法。
背景技术
系统负载迁移是实际中经常遇到的一种问题,负载迁移策略的选择直接影响系统的效率,好的迁移策略能够增加系统的吞吐量,降低用户的相应时间,从而提高系统整体的吞吐量。
通常常见的过载迁移策略有以下几种:基于目标处理机的选择策略、基于过载阈值的设定策略、过载迁移整体架构策略。这几种过载迁移策略各有优缺点,能够适应不同的应用场景。
基于目标处理机的选择策略简单且比较常用的一种策略,其中比较常见的是以下几种:比如通过分析任务的特征并计算任务事件次数的数学期望和方差作为可靠性评价参数来选择目标迁移节点。将服务可迁移的目标定义为不破坏节点间的偏序关系且不产生死锁的情况下,使得迁移后的服务执行期望最大化,服务时间最小化。基于Xen虚拟机内存迭代拷贝算法,提出了通过缩短迭代拷贝的终止时间来减少虚拟机动态迁移所花费的时间,以使任务迁移时间最小化。采用首次适应算法或最佳适应算法找出第一个符合要求的节点作为目的节点,提出一种将目录迁移与目录复制相结合的负载均衡策略。这几种方法侧重点在于解决目标节点的选择问题,对阈值的选择以及对迁移节点的待迁移进程的研究稍有欠缺。
基于过载阈值的设定策略是基于过载迁移最基本问题即过载阈值提出来的。以节点的下载量和被下载量为基础提出了推拉结合的结构化网络“热点”动态迁移策略。将过载阈值选择问题建模为马尔可夫决策过程并根据最小迁移时间原则以及最小能耗增加放置原则确定虚拟机的迁移策略。以文件为粒度在迁入端重建迁出端的相关状态结构,并根据被访问状态选择是否立即响应。对负载迁移进行建模,在迁移过程中减少网络访问次数、减少全局时间消耗以及在提高效率的同时兼顾全局的负载均衡。利用缓存和链路迁移策略,将重载节点中的剩余负载向其他轻载节点转移。在以上方法中,对过载阈值进行了建模,根据各自研究背景的不同,选取了不同的阈值设定策略。
最后一种研究比较多的是过载迁移实现框架。有的是借助蚁群算法的思想,提出了一种面向负载均衡的自主式虚拟机动态迁移框架。通过专门的迁移协议的实现,以及专门的软件模块的实现和内核修改完成了进程迁移。基于最小化网络通信录的负载迁移策略,它主要关注负载迁移整个系统架构以及各模块所发挥的作用。综上所述,以上所有研究只是关注于负载迁移的某个环节,并没有把各个环节连贯起来,且对于待迁移服务的选择研究较少,故在前述研究的基础上提出了一种负载感知的自适应阈值过载迁移方法。
发明内容
本发明要解决的技术问题是:本发明的目的是提供一种负载感知的自适应阈值过载迁移方法,该负载感知的自适应阈值过载迁移方法能够根据客户端请求的速率自适应的改变过载阈值,并且在待迁移服务器中待迁移服务的选择上提出了一种负载感知方法,能够有效的根据并发量实时调整各个服务器的过载阈值,并对于过载服务器选择最佳迁出方案,防止了过载服务器的超负荷工作甚至宕机。
本发明为解决公知技术中存在的技术问题所采取的技术方案是:
一种面向多类型服务的粒子群优化用户请求调度方法,包括以下步骤:
步骤101、初始化变量,开始时首先维护服务信息表,系统在处理机上登记进程的PCB信息,当服务器轻载时,D为本地处理机,S为空,此时系统不存在迁出服务;集群中的所有服务器向负载均衡控制模块发送服务状态信息,负载均衡控制模块协调汇总后生成负载状态表信息;具体步骤为:
服务登记信息表是对服务器中正在进行的服务进行记录的一种数据结构,每个服务器节点维护一个服务登记信息表;上述数据结构描述为一个向量αi(P,D,S,T,PCB);其中i表示集群中的第i个服务器,i∈[1,n];P是进程标识符,描述了系统中每一个进程的ID;D是待迁移进程所属的源主机ID;S是待迁移进程所要迁往的目标主机ID;T是迁移过程中的迁移类型,如负载过重迁移、宕机迁移;PCB记录该服务CPU现场信息、堆栈信息、以及进程资源清单等相关信息,用于在目标处理机对迁移服务进行恢复;
系统负载状态表是由当前集群系统中所有服务器共同维护的,主要用于描述系统中各台服务器的忙碌程度;系统状态表用一个向量β(N,L,C)来表示;其中N表示为处理机的ID;
N∈[S1,S2,S3,...,Sn]
L是当前时刻t服务器i的负载值,L详细描述了当前服务器中所有节点的闲忙程度以及可利用状态;
Figure BDA0001316417610000031
其中
Figure BDA0001316417610000032
是第j种服务类型对计算机总开销的贡献值;Cij表示第i台服务器节点第j种服务类型所占的开销;Tij(t)是在t时刻,服务器节点i接受的j服务类型的数目;
C代表当前处理机的状态,其中Lo表示当前系统负载均值,当Li大于Lo时,当前服务器为重载,标记为W;当Li小于等于Lo时,表示为轻载服务器,标记为E;当服务器不可用时,标记为D。
Figure BDA0001316417610000033
其中f是跟服务器性能相关的权值,该权值采用加权集合平均数计算得到;
步骤102、运行负载均衡算法:
根据不同的业务场景部署相应的负载均衡算法:具体为:
加权轮询算法,适用于服务器性能相差不大的集群,任务队列的每个成员分配任务的概率相同;
随机算法,其中用户请求随机分发给后台的各个服务器,其中,随机函数的选取直接影响算法的好坏;
比率算法,依据各个服务器的负载能力分配,权值决定请求的分配概率,综合考虑了服务器性能的差异性;
最少连接算法,依据服务器连接数分配用户请求,忽略了请求消耗资源的不同,适用于请求类型单一的集群;
预测模式,基于应用程序的行为对处理器分配工作负载,从中选择一台服务器分配用户请求;
步骤103、确定是否存在需要强制迁移的处理机:
在系统运行过程中,当服务器自身的物理故障或者是人为原因,导致该服务器不能够正常提供服务,此时必须把用户所有的请求强制迁移出去;保证所有的请求在最短时间内迁出;
步骤104、检查服务器是否过载:
在系统运行过程中,定期的监测系统的运行情况,以服务器设定的过载阈值为基准,判定服务器是否过度负载;该阈值随服务器收到的用户并发量的变化而变化;当服务器在某一段时间接收过多的请求时,适当的调高负载阈值,当服务器较空闲时,则适当降低负载阈值;如果服务器确超过过载阈值,则进行下一步;
过载阈值的设定,如果过载阈值设定偏小,则会很容易触发过载迁移策略,导致服务器计算资源的浪费;相反,如果过载阈值设定过大,则很难触发过载迁移或者刚进行过载迁移服务器节点就变得难以恢复导致迁移代价巨大,则会导致某个节点很容易达到用户宕机的红线,所以服务器过载阈值的设定应该有区别性;具体的阈值调整方法为:
Figure BDA0001316417610000041
其中Wold是根据系统性能不同而设定的过载阈值,Wnew为新生成的阈值,N为监测到的用户请求分发到服务器的并发量,Nmin,Nmax为预先设定的过载区间;当N<Nmin时,增大过载阈值,使更多的服务请求能够被接收;反之当N>Nmax时需要减小过载阈值,把超过负载能力的任务迁移出去,防止服务器过于沉重或者宕机;通常k1设置为1.2,k2设置为0.8;
步骤105、基于负载感知的迁移服务选取:
当服务器过载时,对服务器上的服务进行迁移,究竟选取哪些服务进行迁移而保证系统负载率最小且迁移代价最小是该研究的关键;
服务选取方法是一种启发式方法,迭代的选择满足要求的服务进行迁移,具体步骤如下:
A、获取服务器上所有服务的集合V,置最小需要迁移的服务集合Vmin=V;
B、对集合中的各个服务按照负载值大小进行排序,并且令索引i=1,置Vm为空,j=1;
C、若|i+j|>|V|,则已遍历出当前算法,算法终止;否则选择第i+j个服务为迁移服务,并把该服务加入到Vm中,若V在移出该服务后,服务器处于负载阈值之下转入
步骤D,否则执行j=j+1,循环步骤C;
D、若Vm中的负载值小于Vmin负载值,则更新Vmin,Vmin=Vm,并且i=i+1,返回步骤B。
本发明具有的优点和积极效果:
通过采用上述技术方案,该负载感知的自适应阈值过载迁移方法能够根据客户端请求的速率自适应的改变过载阈值,并且在待迁移服务器中待迁移服务的选择上提出了一种负载感知方法,能够有效的根据并发量实时调整各个服务器的过载阈值,并对于过载服务器选择最佳迁出方案,防止了过载服务器的超负荷工作甚至宕机。
附图说明:
图1是采用本发明技术方案与传统方案所得到的第一吐量图对比表;
图2是采用本发明技术方案与传统方案所得到的负载率对比;
图3是采用本发明技术方案与传统方案所得到的第二吞吐量对比表;
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下:
请参阅图1至图3,一种负载感知的自适应阈值过载迁移方法,
步骤101、初始化变量,算法开始时需要维护服务信息表,系统自动在处理机上登记进程的PCB信息,当服务器轻载时,D为本地处理机,S为空,此时系统不存在迁出服务。集群中的所有服务器向负载均衡控制模块发送服务状态信息,后者协调汇总后生成负载状态表信息。具体步骤为:
服务登记信息表是对服务器中正在进行的服务进行记录的一种数据结构,每个服务器节点维护一个服务登记信息表。该结构可以描述为一个向量αi(P,D,S,T,PCB)。其中i表示集群中的第i个服务器,i∈[1,n];P是进程标识符,描述了系统中每一个进程的ID;D是待迁移进程所属的源主机ID;S是待迁移进程所要迁往的目标主机ID;T是迁移过程中的迁移类型,如负载过重迁移、宕机迁移;PCB记录该服务CPU现场信息、堆栈信息、以及进程资源清单等相关信息,用于在目标处理机对迁移服务进行恢复。
系统负载状态表是由当前集群系统中所有服务器共同维护的,它主要用于描述系统中各台服务器的忙碌程度。系统状态表用一个向量β(N,L,C)来表示。其中N表示为处理机的ID。
N∈[S1,S2,S3,...,Sn]
L是当前时刻t服务器i的负载值,它详细描述了当前服务器中所有节点的闲忙程度以及可利用状态。
Figure BDA0001316417610000051
其中
Figure BDA0001316417610000061
是第j种服务类型对计算机总开销的贡献值。Cij表示第i台服务器节点第j种服务类型所占的开销。Tij(t)是在t时刻,服务器节点i接受的j服务类型的数目。
C代表当前处理机的状态,其中Lo表示当前系统负载均值,当Li大于Lo是,当前服务器为重载,标记为W;当Li小于等于Lo时,表示为轻载服务器,标记为E;当服务器不可用时,标记为D。
Figure BDA0001316417610000062
其中f是跟服务器性能相关的权值,此处采用加权集合平均数的计算,既能够避免某些服务器负载率的突然升高,又能适合于动态平均数的计算。
步骤102、运行负载均衡算法:
根据不同的业务场景部署相应的负载均衡算法:如加权轮询算法,适用于服务器性能相差不大的集群,任务队列的每个成员分配任务的概率相同;随机算法,其中用户请求随机分发给后台的各个服务器,其中,随机函数的选取直接影响算法的好坏;比率算法,依据各个服务器的负载能力分配,权值决定请求的分配概率,综合考虑了服务器性能的差异性;最少连接算法,依据服务器连接数分配用户请求,忽略了请求消耗资源的不同,适用于请求类型单一的集群;预测模式,基于应用程序的行为对处理器分配工作负载,从中选择一台服务器分配用户请求。
步骤103、确定是否存在需要强制迁移的处理机:
在系统运行过程中,服务器自身的物理故障或者是人为原因,导致该服务器不能够正常提供服务,那么此时必须用最短的时间把用户所有的请求强制迁移出去。务必保证所有的请求在最短时间内迁出。
步骤104、检查服务器是否过载:
在系统运行过程中,要定期的监测系统的运行情况,以服务器设定的过载阈值为基准,判定服务器是否过度负载。该阈值随服务器收到的用户并发量的变化而变化。当服务器在某一段时间接收过多的请求时,应该适当的调高负载阈值,当服务器较空闲时,则适当降低负载阈值。如果服务器确超过过载阈值,则进行下一步。
过载阈值的设定是非常重要的,如果过载阈值设定偏小,则会很容易触发过载迁移策略,导致服务器计算资源的浪费;相反,如果过载阈值设定过大,则很难触发过载迁移或者说刚进行过载迁移服务器节点就变得难以恢复导致迁移代价巨大,则会导致某个节点很容易达到用户宕机的红线,所以服务器过载阈值的设定应该有区别性。本文采用了一种自适应阈值处理方法,能够根据用户请求速率自适应的调整阈值的大小。具体的阈值调整方法为:
Figure BDA0001316417610000071
其中Wold是根据系统性能不同而设定的过载阈值,Wnew为新生成的阈值,N为监测到的用户请求分发到服务器的并发量,Nmin,Nmax为预先设定的过载区间。当N<Nmin时可以适当增大过载阈值,使更多的服务请求能够被接收;反之当N>Nmax时需要减小过载阈值,把超过负载能力的任务迁移出去,防止服务器过于沉重或者宕机。通常k1设置为1.2,k2设置为0.8。
步骤105、基于负载感知的迁移服务选取:
当服务器过载时,此时需要对服务器上的服务进行迁移,究竟选取哪些服务进行迁移而保证系统负载率最小且迁移代价最小是该研究的关键。
该服务选取方法是一种启发式方法,迭代的选择满足要求的服务进行迁移,具体步骤如下:
①获取服务器上所有服务的集合V,置最小需要迁移的服务集合Vmin=V。
②对集合中的各个服务按照负载值大小进行排序,并且令索引i=1,置Vm为空,j=1。
③若|i+j|>|V|,则已遍历出当前算法,算法终止;否则选择第i+j个服务为迁移服务,并把该服务加入到Vm中,若V在移出该服务后,服务器处于负载阈值之下转入第四步,否则执行j=j+1,循环第三步。
若Vm中的负载值小于Vmin负载值,则更新Vmin,Vmin=Vm,并且i=i+1,返回第二步。
在上述优选实施例中,具体包括以下步骤:
Step1初始化变量
算法开始需要维护进程信息表,系统自动在处理机上等级进程的PCB信息,当服务器不过载时,D为本地处理机,S为空,此时系统不存在迁出进程。集群中的所有服务器向负载均衡控制模块发送进程状态信息,后者协调汇总生成负载状态表信息。
Step2运行负载均衡算法
在集群系统中配置相应的负载均衡算法对用户的请求进行负载。
Step3确定是否存在需要强制迁移的处理机
在系统运行过程中,服务器自身的物理故障或者是人为原因,导致该服务器不能够正常接收请求,那么此时必须用最短的时间把用户所有的请求强制迁移出去。
如果遇到服务器某些硬件故障导致服务器不能正常服务,那么必须尽快迁出用户的所有请求,此时选择负载状态表中负载最小的服务器进行迁移。务必保证所有的请求在最短时间内迁出。
Step4检查服务器是否过载
在系统运行过程中,要定期的监测系统的运行情况,监测的依据就是服务器设定的阈值,该阈值是随服务器的性能变化而变化的。当服务器在某一段时间接收过多的请求时,应该适当的调高负载阈值,当服务器较空闲时,则适当降低负载阈值。如果服务器确定需要迁移,则触发下一步。
Step5基于负载感知的迁移服务选取
当服务器过载时,此时需要对服务器上的服务进行迁移,究竟选取哪几个服务进行迁移是该研究的关键。本文提出一种基于负载感知的服务迁移策略。
第一步:获取服务器上所有服务的集合V,置最小需要迁移的服务集合Vmin=V。
第二步:然后对集合中的各个服务按照负载值大小进行排序,并且令索引i=1,置Vm为空,j=1。
第三步:若|i+j|>|V|,则已遍历出当前算法,算法终止;否则选择第i+j个服务为迁移服务,并把该服务加入到Vm中,若V在移出该服务后,服务器处于负载阈值之下转入第四步,否则执行j=j+1,循环第三步。
第四步:若Vm中的负载值小于Vmin负载值,则更新Vmin,Vmin=Vm,并且i=i+1,返回第二步。
第五步:源服务器通过执行系统调用将待迁移服务迁移至目标处理机。后者在收到迁入服务之后,为其分配必要的资源,恢复期PCB信息,并插入到就绪队列。
在该实验中,除了搭建ILink模拟环境,还需要编写两套程序,分别为客户端脚本程序和服务端服务程序。客户端脚本程序由HttpClient技术实现,通过HttpClient设定相应的参数及请求类型向服务器发送请求,客户端脚本可以自由设定并发量,进而模拟现实中的用户请求。服务端程序则是提供几种系统中常见的不同资源消耗的模拟服务,如CPU消耗型服务、内存消耗型服务、磁盘消耗型服务等。通过在服务端的负载均衡模块配置该负载均衡策略并采集系统吞吐量和负载率等指标来验证该方法的好坏。该实验场景是按照生产环境的用户请求规律层层递进而设计的,共设计了四个实验场景:
第一个场景:客户端脚本向服务器以[10,20,30,40,50,60,70,80,90,100](单位为(个/秒))并发量向服务器发送请求,测试服务器的连通性及负载能力。
第二个场景:首先在第一个周期内客户端按照[10,100]的并发区间随机访问后台服务器,在第二个周期内维持在高并发区间[60,100]访问,在第三个周期内模拟用户访问减少的情况,不断降低并维持在[10,30]的并发量。第四个区间是对后台服务器进行一个随机的访问,最后综合统计后台各节点的吞吐量情况,经过大量的实验,实验稳定结果如图1。
第三个场景:在随机并发或者低并发条件下,系统的负载率差异性不大,所以,该场景设计了持续高并发访问[60,100]考验系统的负载率指标(图2)。
第四个场景:在该场景下模拟了机器硬盘物理故障的情况,首先在其中一台服务器内部编写一个脚本,不断创建新文件以占用磁盘空间,最终服务器空间被塞满从而服务器不能接受用户的服务,测试该条件下系统吞吐量指标(图3)。
如图1所示在并发量60(单位(个/s))之前,由于系统完全有能力接受该并发范围的服务请求量,所以很少甚至没有触发过载迁移策略,两者的系统吞吐量几乎相同,但是,当服务请求维持在较高阶段[70,80,90,100]时,系统中单核主机逐渐不能够满足该请求规模,遇到了瓶颈,此时触发过载迁移策略,相应的,采用了本文策略的吞吐量相对于没有过载迁移的策略平均提高了约1.2%。
如图2所示,负载率指标衡量了整个系统的忙碌程度,在并发量50(单位(个/s))之前,两种策略负载率都是稳步提升,这是因为在客户端采用了逐步递增并发量的原因导致的。在此,过载阈值从60改变到了50左右,这是因为过载阈值随并发量的改变发生了变化。当系统达到过载阈值以后,采用过载迁移策略的负载率提高较慢,这是因为在该过程中触发了过载迁移,对负载任务进行了分摊使各个服务器均处于忙碌状态,提高了系统的负载率约2.3%,这也是过载感知策略优化的目的。
如图3所示,模拟了服务器硬件故障的情况,当用户请求并发量较少且系统硬件没有故障时,两种策略几乎没有区别,系统吞吐量相同;但是一旦超过了55(单位(个/s))以后,系统中损坏了一台服务器,所以导致系统整体的服务能力与之前相比会有所下降,但是不采用过载迁移策略的吞吐量程线性下降,而采用了过载迁移策略的吞吐量则是少量下降,这也说明了客户的请求有相当一部分被迁移成功,且当请求并发量持续增高以后,本文策略是占有一定优势的。
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。

Claims (1)

1.一种负载感知的自适应阈值过载迁移方法,其特征在于:包括如下步骤:
步骤101、初始化变量,开始时首先维护服务信息表,系统在处理机上登记进程的PCB信息,当服务器轻载时,D为本地处理机,S为空,此时系统不存在迁出服务;集群中的所有服务器向负载均衡控制模块发送服务状态信息,负载均衡控制模块协调汇总后生成负载状态表信息;具体步骤为:
服务登记信息表是对服务器中正在进行的服务进行记录的一种数据结构,每个服务器节点维护一个服务登记信息表;上述数据结构描述为一个向量αi(P,D,S,T,PCB);其中i表示集群中的第i个服务器,i∈[1,n];P是进程标识符,描述了系统中每一个进程的ID;D是待迁移进程所属的源主机ID;S是待迁移进程所要迁往的目标主机ID;T是迁移过程中的迁移类型,如负载过重迁移、宕机迁移;PCB记录该服务CPU现场信息、堆栈信息、以及进程资源清单相关信息,用于在目标处理机对迁移服务进行恢复;
系统负载状态表是由当前集群系统中所有服务器共同维护的,主要用于描述系统中各台服务器的忙碌程度;系统状态表用一个向量β(N,L,C)来表示;其中N表示为处理机的ID;
N∈[S1,S2,S3,...,Sn]
L是当前时刻t服务器i的负载值,L详细描述了当前服务器中所有节点的闲忙程度以及可利用状态;
Figure FDA0002486895040000011
其中
Figure FDA0002486895040000012
是第j种服务类型对计算机总开销的贡献值;Cij表示第i台服务器节点第j种服务类型所占的开销;Tij(t)是在t时刻,服务器节点i接受的j服务类型的数目;
C代表当前处理机的状态,其中Lo表示当前系统负载均值,当Li大于Lo时,当前服务器为重载,标记为W;当Li小于等于Lo时,表示为轻载服务器,标记为E;当服务器不可用时,标记为D;
Figure FDA0002486895040000013
其中f是跟服务器性能相关的权值,该权值采用加权集合平均数计算得到;
步骤102、运行负载均衡算法:
根据不同的业务场景部署相应的负载均衡算法:具体为:
加权轮询算法,适用于服务器性能相差不大的集群,任务队列的每个成员分配任务的概率相同;
随机算法,其中用户请求随机分发给后台的各个服务器,其中,随机函数的选取直接影响算法的好坏;
比率算法,依据各个服务器的负载能力分配,权值决定请求的分配概率,综合考虑了服务器性能的差异性;
最少连接算法,依据服务器连接数分配用户请求,忽略了请求消耗资源的不同,适用于请求类型单一的集群;
预测模式,基于应用程序的行为对处理器分配工作负载,从中选择一台服务器分配用户请求;
步骤103、确定是否存在需要强制迁移的处理机:
在系统运行过程中,当服务器自身的物理故障或者是人为原因,导致该服务器不能够正常提供服务,此时必须把用户所有的请求强制迁移出去;保证所有的请求在最短时间内迁出;
步骤104、检查服务器是否过载:
在系统运行过程中,定期的监测系统的运行情况,以服务器设定的过载阈值为基准,判定服务器是否过度负载;该阈值随服务器收到的用户并发量的变化而变化;当服务器在某一段时间接收过多的请求时,适当的调高负载阈值,当服务器较空闲时,则适当降低负载阈值;如果服务器超过过载阈值,则进行下一步;
过载阈值的设定,如果过载阈值设定偏小,则会很容易触发过载迁移策略,导致服务器计算资源的浪费;相反,如果过载阈值设定过大,则很难触发过载迁移或者刚进行过载迁移服务器节点就变得难以恢复导致迁移代价巨大,则会导致某个节点很容易达到用户宕机的红线,所以服务器过载阈值的设定有区别性;具体的阈值调整方法为:
Figure FDA0002486895040000021
其中Wold是根据系统性能不同而设定的过载阈值,Wnew为新生成的阈值,N为监测到的用户请求分发到服务器的并发量,Nmin,Nmax为预先设定的过载区间;当N<Nmin时,增大过载阈值,使更多的服务请求能够被接收;反之当N>Nmax时需要减小过载阈值,把超过负载能力的任务迁移出去,防止服务器过于沉重或者宕机;k1设置为1.2,k2设置为0.8;
步骤105、基于负载感知的迁移服务选取:
当服务器过载时,对服务器上的服务进行迁移,保证系统负载率最小且迁移代价最小;
服务选取方法是一种启发式方法,迭代的选择满足要求的服务进行迁移,具体步骤如下:
A、获取服务器上所有服务的集合V,置最小需要迁移的服务集合Vmin=V;
B、对集合中的各个服务按照负载值大小进行排序,并且令索引i=1,置Vm为空,j=1;
C、若|i+j|>|V|,则已遍历出当前算法,算法终止;否则选择第i+j个服务为迁移服务,并把该服务加入到Vm中,若V在移出该服务后,服务器处于负载阈值之下转入步骤D,否则执行j=j+1,循环步骤C;
D、若Vm中的负载值小于Vmin负载值,则更新Vmin,Vmin=Vm,并且i=i+1,返回步骤B。
CN201710426966.5A 2017-06-08 2017-06-08 一种负载感知的自适应阈值过载迁移方法 Active CN107196865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710426966.5A CN107196865B (zh) 2017-06-08 2017-06-08 一种负载感知的自适应阈值过载迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710426966.5A CN107196865B (zh) 2017-06-08 2017-06-08 一种负载感知的自适应阈值过载迁移方法

Publications (2)

Publication Number Publication Date
CN107196865A CN107196865A (zh) 2017-09-22
CN107196865B true CN107196865B (zh) 2020-07-24

Family

ID=59876567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710426966.5A Active CN107196865B (zh) 2017-06-08 2017-06-08 一种负载感知的自适应阈值过载迁移方法

Country Status (1)

Country Link
CN (1) CN107196865B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI689823B (zh) * 2018-01-04 2020-04-01 財團法人工業技術研究院 動態工作移轉方法及伺服器
CN108234668A (zh) * 2018-01-17 2018-06-29 北京网信云服信息科技有限公司 一种消费者队列的调度方法及系统
CN108810071A (zh) * 2018-03-30 2018-11-13 广东睿江云计算股份有限公司 一种基于进程迁移的Apache服务器集群负载均衡的方法
CN109815204B (zh) * 2018-12-10 2021-03-02 清华大学 一种基于拥塞感知的元数据请求分发方法及设备
CN109639531B (zh) * 2018-12-28 2022-07-19 天津卓朗科技发展有限公司 虚拟机网络自适应切换方法及系统
CN111385328B (zh) * 2018-12-29 2024-04-05 三六零科技集团有限公司 业务请求的处理方法、系统及电子设备
CN110348681B (zh) * 2019-06-04 2022-02-18 国网浙江省电力有限公司衢州供电公司 一种电力cps动态负荷分配方法
CN111835819B (zh) * 2020-05-07 2023-04-18 东南大学 移动边缘计算中区域化层次化任务迁移方法
CN112256438B (zh) * 2020-06-28 2021-06-25 腾讯科技(深圳)有限公司 负载均衡控制方法和装置、存储介质及电子设备
CN112261076B (zh) * 2020-09-09 2023-04-28 咪咕文化科技有限公司 下载服务分离方法、装置、电子设备和可读存储介质
CN112118314B (zh) * 2020-09-18 2023-05-05 北京百度网讯科技有限公司 负载均衡方法和装置
CN112799818B (zh) * 2021-02-03 2022-09-23 上海交通大学 基于检查点描述文件的云端融合任务迁移方法及系统
CN112988389B (zh) * 2021-03-22 2023-08-11 成都卓拙科技有限公司 结合负载调节及周期性调节的自动伸缩方法及系统
CN113157440B (zh) * 2021-03-23 2023-06-27 北京云上曲率科技有限公司 应用于移动端的自适应负载均衡和保证高可用的方法
CN113326140A (zh) * 2021-06-30 2021-08-31 统信软件技术有限公司 一种进程迁移方法、装置、计算设备以及存储介质
CN114546290A (zh) * 2022-02-25 2022-05-27 中国工商银行股份有限公司 块存储管理方法、装置、设备和存储介质
CN114900525B (zh) * 2022-05-20 2022-12-27 中国地质大学(北京) 一种偏斜数据流的双层协作负载均衡方法及存储介质
CN115242755B (zh) * 2022-07-07 2023-10-03 齐鲁工业大学 一种基于sip信令服务器集群的性能监测及负载均衡方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102790793A (zh) * 2012-05-08 2012-11-21 北京邮电大学 一种面向云计算虚拟机迁移的决策方法及控制模块
CN103607459A (zh) * 2013-11-21 2014-02-26 东北大学 一种云计算平台IaaS层的动态资源监测及调度方法
CN105007312A (zh) * 2015-07-03 2015-10-28 叶秀兰 一种云计算服务器自适应负载均衡控制方法及控制系统
CN105491138A (zh) * 2015-12-15 2016-04-13 国网智能电网研究院 一种基于负载率分级触发的分布式负载调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102790793A (zh) * 2012-05-08 2012-11-21 北京邮电大学 一种面向云计算虚拟机迁移的决策方法及控制模块
CN103607459A (zh) * 2013-11-21 2014-02-26 东北大学 一种云计算平台IaaS层的动态资源监测及调度方法
CN105007312A (zh) * 2015-07-03 2015-10-28 叶秀兰 一种云计算服务器自适应负载均衡控制方法及控制系统
CN105491138A (zh) * 2015-12-15 2016-04-13 国网智能电网研究院 一种基于负载率分级触发的分布式负载调度方法

Also Published As

Publication number Publication date
CN107196865A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN107196865B (zh) 一种负载感知的自适应阈值过载迁移方法
CN109918198B (zh) 一种基于用户特征预测的仿真云平台负载调度系统及方法
JP5162579B2 (ja) 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN110134495B (zh) 一种容器跨主机在线迁移方法、存储介质及终端设备
Krzywda et al. Power-performance tradeoffs in data center servers: DVFS, CPU pinning, horizontal, and vertical scaling
Iqbal et al. SLA-driven dynamic resource management for multi-tier web applications in a cloud
US10078533B2 (en) Coordinated admission control for network-accessible block storage
JP5998206B2 (ja) クラスタデータグリッドにおける拡張可能な中央集中型動的リソース分散
US20210037092A1 (en) Fault tolerant systems and methods incorporating a minimum checkpoint interval
US9807159B2 (en) Allocation of virtual machines in datacenters
CN106133693B (zh) 虚拟机的迁移方法、装置及设备
US11502972B2 (en) Capacity optimization in an automated resource-exchange system
US10795735B1 (en) Method and apparatus for load balancing virtual data movers between nodes of a storage cluster
CN111381928B (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
Supreeth et al. Hybrid genetic algorithm and modified-particle swarm optimization algorithm (GA-MPSO) for predicting scheduling virtual machines in educational cloud platforms
US11949737B1 (en) Allocation of server resources in remote-access computing environments
CN112835698A (zh) 一种基于异构集群的请求分类处理的动态负载均衡方法
US20220091874A1 (en) Method for optimizing the load balance in the cluster and framework thereof
Mylavarapu et al. An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload
Emara et al. Genetic-Based Multi-objective Task Scheduling Algorithm in Cloud Computing Environment.
Samir et al. Autoscaling recovery actions for container‐based clusters
Qin et al. Dynamic load balancing for I/O-and memory-intensive workload in clusters using a feedback control mechanism
Ashalatha et al. Dynamic load balancing methods for resource optimization in cloud computing environment
Attiya et al. D-choices scheduling: a randomized load balancing algorithm for scheduling in the cloud

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