掌桥专利:专业的专利平台
掌桥专利
首页

一种基于在线容错的云计算资源调度方法

文献发布时间:2023-06-19 12:27:31


一种基于在线容错的云计算资源调度方法

技术领域

本发明属于云计算技术领域,具体涉及一种基于在线容错的云计算资源调度方法。

背景技术

随着云计算、物联网、5G、大数据以及人工智能的不断普及和广泛应用,通过新一代信 息化技术不断实现各类资源的整合与共享,逐步形成一种全新的大规模复杂云系统。由于参 与计算的节点种类多样、位置分布稀疏且通常无法有效控制,容易产生安全问题;并且云服 务供应商在传输、处理和存储的过程中均存在网络拥塞的风险,如何提高系统容错能力、实 现高效快速计算成为新的挑战。

容错被定义为系统即使在出现故障时仍能继续执行其预期任务的能力。没有容错能力, 即使是一个设计精良,具有最佳组件和服务的系统也不能被认为是可靠的。因此,服务可靠 性对于广泛的云计算应用至关重要。目前,云计算领域容错方法,分为主动性方法和反应性 方法。主动容错在实际问题发生前进行检测,预测故障并替换可疑组件。反应容错则是当故 障发生时,反应性容错减少故障对应用程序执行的影响。

基于主动容错的方法:通过对系统状态进行持续监控,并使用人工智能算法估计组件故 障发生率。然后采取必要的措施来防止故障的发生,这些方法是基于概率统计的。主要包括: 自我修复(Self-Healing)、抢占迁移(Pre-emptive migration)、系统复兴(System rejuvenation) 等方法;

基于反应容错的方法:一般在故障发生后对其进行处理,使用系统维护程序来消除发生 的故障的影响。基于反应容错的方法不需要检查系统的行为,因此不会造成任何不必要的开 销。主要包括:检查点技术、虚拟机迁移、复写(Replication)等方法;

传统的容错方法虽然应用广泛,但存在以下问题:

(1)基于主动容错的方法需要对系统进行持续监控,由于云计算组件众多,结构复杂, 对所有组件通过额外的监控组件进行监控,会消耗大量的云计算资源,产生巨大功耗,造成 极大的成本负担;

(2)基于反应容错的方法在故障发生后进行,例如复写技术(Replication),通过备份组 件,保证系统的可靠性,但缺乏对组件的分析,若对所有组件进行备份,也会造成极大的资 源浪费。

发明内容

针对现有技术中的不足,本发明综合主动容错与反应容错的特点,提供一种基于在线容 错的云计算资源调度方法。本发明的目的在于提高云计算系统的可靠性、减少云计算容错过 程的成本开销。本发明的技术解决方案为:通过建立马尔科夫模型计算云组件的可靠性,静 态容错方法通过LeaderRank算法对组件进行排名,选出关键组件进行备份;系统发生故障时, 通过动态容错方法,筛选健康组件,进行快速替换,以此达到提高云计算系统的可靠性、降 低容错成本的目的,主要内容包括:

为实现上述目的,本发明采用以下技术方案:一种基于在线容错的云计算资源调度方法, 包括如下步骤:

S1、云计算资源调度任务划分过程:将任务集合与资源池中的云组件集合进行匹配;

S2、在线容错过程:在线容错考虑调度过程中云计算组件故障,旨在以最低成本,完成 用户提交的任务,做到系统成本低,用户完成时间短的目标。首先通过静态容错筛选关键组 件(比如一个支付系统中负责支付功能的组件)对其备份,避免对全部组件进行备份,节约 成本;当系统发生故障时,通过动态容错,寻找可靠性高的组件进行替换,排除故障,及时 完成用户的任务;

S3、资源调度过程:上述过程,发生了多次调度。静态容错为对关键组件进行备份,为 第一次调度;即根据用户的任务,分配相应的组件,对关键组件备份,为资源调度提供蓝图; 云系统执行期间,若发生故障,如果判断是非关键组件故障,静态容错无法发挥作用,则需 要进行再次调度,通过动态容错找到替换组件,使任务正常运行;达到容错的目的。

为了解决在线容错产生的求解时间变长、寻找替换组件困难的问题,设计评价函数E, 将用户完成时间T以及组件的替换成本作为目标,使用线性加权法进行多目标优化,简化求 解目标,从理论上缩短计算量;其次,对于多次调度,仅采用一种调度算法不能快速、高效 求解,故需要设计新的调度算法。发生多次调度时,设计最大评价值优先算法(MEF算法), 将评价函数E作为适应度函数,将PSO算法与PBIL算法进行结合;采用PSO算法对种群进 行初始化,初步确定求解范围,通过静态容错筛选关键组件;接着采用PBIL算法,从宏观 控制种群进化方向,调用动态容错,排除故障,完成用户任务,进而更快得到最优分配以Task

具体过程如下:

(1)构建基于多目标优化的评价函数

静态容错通过对关键组件备份,可以实现用较低的成本达到较好的容错效果,完成初步 调度;调度过程中发生故障,再次调度,调用动态容错,在两个关键组件之间寻找替换组件, 缩短用户完成时间,保障任务顺利进行。整个过程中,用户完成时间T、动态容错成本C、 系统延迟D,以及系统可用性A,共同影响资源调度的效率。通过线性加权法,设计评价函 数E,来反映资源调度的效率。

(2)基于PSO算法初始化种群

由于粒子群算法PSO可设置大量的粒子充斥解空间,增大搜索到更优解的概率,拥有较 好的全局搜索能力;适用于本发明的资源调度方法。静态容错时,PSO算法对种群进行初始 化,初步确定求解范围,即对资源调度做出初步规划。

(3)基于PBIL算法求解动态容错

执行任务发生故障时,动态容错强调寻找替换组件,是一种局部调度,因此,使用PBIL 算法继续求解。PBIL算法是一种基于现有解学习的进化算法,算法基于当前优秀个体的学习 得到概率模型,通过概率模型控制产生新的群体。通过PSO算法初试化种群之后,采用PBIL 算法继续求解,这里用评价值作为适应度函数,比遗传算法的交叉变异有更高的效率,最终 得到了在系统评价值最大的情况下的资源分配情况,即让每个云任务都得到了最优的云组件 去处理。

为优化上述技术方案,采取的具体措施还包括:

进一步地,步骤S2包括:

S21、可靠性建模过程:云组件执行任务时,会发生故障,但云组件长时间运行错误的发 生率不是一个恒定不变的量而是随时间t变化的函数,故在线容错算法利用NHPP模型(非 齐次泊松过程模型),描述时间变量和软件的累计故障数。根据云组件故障的严重程度,分为 一般性失效与严重性失效;针对以上两种故障,分别采用静态容错与动态容错两种方法解决;

S22、静态容错过程:针对云组件的一般性失效,通过对关键组件备份,实现用较低的成 本达到较好的容错效果,完成初步调度;静态容错考虑组件本身可靠性R以及完成过程可靠 性Pt,采用改进的LeaderRank算法对组件进行排名,以此筛选出关键组件;

S23、动态容错过程:动态容错针对云组件的严重性失效,多发生在云组件执行过程。故 障产生时,在两个关键组件之间,寻找替换服务组件,可以达到优良的容错效果,其实质是 一种查找替代组合的算法。通过采用启发式替代路径搜索算法,将贪婪函数和松弛函数作为 启发式函数求解,以找到接近最优的替换组件。

进一步地,一般性失效故障的期望函数m(t)性质如下:

根据以上假设,可以得到:

m(t+Δr)-m(t)=θ

其中,a表示云组件总故障数;x

同理,云组件发生严重性失效时,

θ

静态容错完成过程可靠性Pt定义如下:

L

假设有n个云计算组件,迭代矩阵M是n维方阵:

进一步地,动态容错是在两个关键组件之间,替换发生故障的服务,并同时满足QoS约 束,将问题抽象为0-1整数约束的多目标优化问题,其公式如下:

其中,T

松弛函数H:

进一步地,把松弛函数作为资源调度算法的评价函数,将E作为评价函数,将松弛函数的 权重系数简化为[0.25,0.25,0.25,0.25],

将静态容错评价函数E的动态容错成本C看做C

进一步地,云服务过程中系统延迟D如下:

容错成本C如下:

D

系统可用性A,指制造服务可以在特定检查时间正常执行的可能性,表示如下:

其中

进一步地,具体步骤为:

Step 1:通过Map/Reduce机制,将用户的需求统计为不同的任务集合 Task

Step 2:初始化种群

Step 3:PSO算法初始化种群,静态容错筛选关键组件;

Step 4:判断g<G,若满足,执行step 5;若不满足,执行step 11;

Step 5:计算个体适应度H;

Step 6:判断系统是否发生故障,若发生故障,执行step 7;若正常,执行step 8;

Step 7:调用动态容错,排除故障;

Step 8:

Step 9:根据采样策略产生新种群,g=g+1;

Step 10:返回step 4,进行执行程序;

Step 11:得到最优分配策略O

进一步地,Step 3包括如下步骤:

Step 3.1:输入组件的转移矩阵M,随机分配各组件重要程度SR

Step 3.2:计算每个组件的重要程度SR

Step 3.3:更新组件的重要程度;

Step 3.4:判断

Step 3.5:分配背景组件给所有组件SR

Step 3.6:得到各组件的重要程度SR

进一步地,Step 7包括如下步骤:

Step 7.1:输入各组件的参数D、C、T、A,初始化组件集合Cc,初始化替换组件集合S;

Step 7.2:初始化组件松弛函数H(P

Step 7.3:计算加入i组件后贪婪函数值G(P

Step 7.4:判断G(P

Step 7.5:将组件i移入集合S,i∈S;

Step 7.6:将i移出集合Cc,并在集合Cc中寻找新i;

Step 7.7:判断

Step 7.8:得到最优替换组件集合S。

本发明的有益效果是:本发明的在线容错包含静态容错和动态容错两个方面,针对反应 容错方法备份成本高的问题,静态容错通过马尔科夫模型,筛选出关键组件,对其进行备份, 提高备份组件的准确性,仅对少数组件备份便可达到很好的容错效果,即对使用频率高、功 能重要的组件进行备份;针对主动容错监控成本高,动态容错通过数学建模的方式,分析各 个组件的可靠性,可以通过少量指标就可以获得组件的实时状态,在故障发生时,迅速选择 监控组件进行替换;提高了云计算系统的可靠性并减少云计算容错过程的成本开销。

附图说明

图1为本发明的基于在线容错的云计算资源调度方法总体框架图;

图2为本发明的基于NHPP的可靠性模型图;

图3为本发明的静态容错算法的流程图;

图4为本发明的动态容错算法的流程图;

图5为本发明的MEF算法的流程图;

图6为本发明的静态容错算法效果对比图;

图7为本发明的动态容错算法效果对比图;

图8a为本发明的MEF算法负载在100个节点下执行时间仿真图;

图8b为本发明的MEF算法负载在500个节点下执行时间仿真图;

图9为本发明的MEF算法在Dejong函数上收敛测试对比图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。

需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅 为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实 质变更技术内容下,当亦视为本发明可实施的范畴。

如附图1-9所示,本发明提供一种基于在线容错的云计算资源调度方法。在本发明的一 个实施例中,采用公开数据集WS-DREAM作为测试数据,采用CloudSim Plus架构作为测试 框架。首先使用CloudSim Plus和Pajek生成云计算服务网络,将WS-DREAM数据集中的组 件可靠性值(r∈[33%,89%]),然后设置150个节点生成了1000个调用序列,并在这些调用 序列上应用了现有的容错机制,筛选出关键组件进行备份,实现静态容错;在静态容错实验 的基础上,再选择了四个QoS指标:延迟D,时间T,成本C和可用性A,通过对比试验来证明动态容错的有效性;接着在动态容错实验的基础上,再对算法的执行时间进行分析。使用CloudSim Plus建立数据中心,然后由数据中心创建一系列资源如CPU、内存、带宽等、 再向CIS发送注册消息进行注册,一旦注册即可使用、由DatacenterBroker管理信息交互的过程,通过对比试验来分析MEF方法的执行时间;最后为了排除实验过程人为因素的干扰,包括云任务的分配、节点的属性对执行过程的影响,除了进行云任务执行时间测试,还设计了De Jong Function N.5来测试算法的全局搜寻能力以及收敛速度。本发明的总体框图如图1 所示,实施过程如下:

总体步骤为:

Step 1:通过Map/Reduce机制,将用户的需求统计为不同的任务集合 Task

Step 2:初始化种群

Step 3:PSO算法初始化种群,静态容错筛选关键组件;

Step 4:判断g<G,若满足,执行step 5;若不满足,执行step 11;

Step 5:计算个体适应度H;

Step 6:判断系统是否发生故障,若发生故障,执行step 7;若正常,执行step 8;

Step 7:调用动态容错,排除故障;

Step 8:

Step 9:根据根据采样策略产生新种群,g=g+1;

Step 10:返回step 4,进行执行程序;

Step 11:得到最优分配策略O

其中Step 3包括如下步骤:

Step 3.1:输入组件的转移矩阵M,随机分配各组件重要程度sR

Step 3.2:计算每个组件的重要程度SR

Step 3.3:更新组件的重要程度

Step 3.4:判断

Step 3.5:分配背景组件给所有组件SR

Step 3.6:得到各组件的重要程度SR

并且Step 7包括如下步骤:

Step 7.1:输入各组件的参数D、C、T、A,初始化组件集合Cc,初始化替换组件集合S;

Step 7.2:初始化组件松弛函数H(P

Step 7.3:计算加入i组件后贪婪函数值G(P

Step 7.4:判断G(P

Step 7.5:将组件i移入集合S,i∈S;

Step 7.6:将i移出集合Cc,并在集合Cc中寻找新i;

Step 7.7:判断

Step 7.8:得到最优替换组件集合S。

具体步骤如下:

步骤1:云计算资源调度任务划分过程

在云计算系统中,使用Map/Reduce机制,将用户的需求统计为不同的任务集合Task

步骤2:在线容错过程

本发明为了减少监控组件的成本,分析组件的可靠性,对组件进行可靠性建模。

假设组件故障率服从故障率不变的均匀泊松分布,但组件使用时间,频率不同,其故障 模型也有差异。关键组件使用时间长、频率高,障率高;非关键组件使用频率低,其模型应 与关键组件不同。根据组件长时间运行错误的发生率不是一个恒定的量而是随时间t变化的 函数,在线容错对以上两种组件分别建立NHPP模型(非齐次泊松过程模型)来描述其累计 故障数。

建立的NHPP可靠性模型如图2所示。

一般性失效故障的期望函数m(t)性质如下:

根据以上假设,可以得到:

m(t+Δt)-m(t)=θ

a表示云组件总故障数,{x

θ

静态容错考虑组件本身可靠性R以及完成过程可靠性Pt,采用采用改进的LeaderRank 算法对组件进行排名,选出关键组件。完成过程可靠性Pt定义如下:

L

假设有n个云计算组件,迭代矩阵M是n维方阵:

静态容错的总体流程如图3所示,静态容错算法效果对比图如图6所示,Ref=5%时与 Ref=20%时的系统故障率对比,说明随着Ref从5%增加到20%,云计算组件故障率单调增 加。较高的Ref值会导致较高故障率的制造服务,导致计算组件可靠性下降。Ref较低,云计 算组件的故障率相对较低,故五类算法的可靠性类似;Ref较高,意味着云计算组件故障率 更高,在这种情况下,本方法可靠性更高,体现出更大的优势。

动态容错:对于严重性失效,多发生在云组件执行过程。故障产生时,在两个关键组件 之间,寻找替换服务组件,可以达到优良的容错效果,其实质是一种查找替代组合的算法。 通过采用启发式替代路径搜索算法,将贪婪函数和松弛函数作为启发式函数求解,以找到接 近最优的路径。动态容错算法数学符号如下表1所示。

表1动态容错基本符号表

云服务过程中系统延迟D如下:

容错成本C如下:

其中D

系统可用性A,指制造服务可以在特定检查时间正常执行的可能性,表示如下:

其中

动态容错是找到一种最佳的服务组合,替换发生故障的服务,并同时满足QoS约束。可 以将问题抽象为0-1整数约束的多目标优化问题,其公式如下:

其中,T

松弛函数H:

动态容错算法流程如图4所示,图7为动态容错算法效果对比图,从图中可以看出,本 方法在系统延迟、执行时间、成本以及系统可靠性方面优势明显。随着云计算节点规模的扩 大,可替换节点变多,系统延迟时间明显变短;由于节点较多,性能优良的节点多,任务执 行时间也变短;容错成本也有降低;系统可用性变高,资源利用率变大。因为如果节点中有 更多服务,则通过更多候选服务选择更好的解决方案的可能性更大。由此可以看出,本方法 不仅找到了可替换的健康节点,其执行时间、系统吞吐量也尽可能的降低,达到最优替换, 实现负载均衡的目的。

步骤3:资源调度过程

本发明是一种基于在线容错的云计算资源调度方法。步骤2得到资源调度过程中两个目 标,即贪婪函数与松弛函数。本发明把松弛函数作为资源调度算法的评价函数,对于云任务 mt我们将E作为评价函数,为了方便讨论,将松弛函数的权重系数简化为[0.25,0.25,0.25,0.25],

为了便于讨论静态容错与动态容错,将静态容错评价函数E的动态容错成本C看做C

基于在线容错的多目标优化评价函数,不仅考虑用户的完成时间,还考虑容 错过程,这两个目标优化为一个评价函数,极大降低资源调度过程的复杂性,做 到调度算法的初步优化。由于在线容错的性质,静态容错对关键组件备份,即将 调度任务较多的分配到关键组件上,为具体的资源调度提供依据;动态容错则是 在执行过程中发生故障,调用替换组件,再次调度;这个过程中,可能发生一次 甚至多次调度,单一的调度算法显然不能满足调度任务。为此,设计最大评价值 优先算法(MEF算法),将评价函数E作为适应度函数,将PSO算法与PBIL算 法进行结合,静态容错时,PSO算法对种群进行初始化,初步确定求解范围;发 生故障时,调用动态容错,采用PBIL算法,从宏观控制种群进化方向,进而更 快得到最优分配以及相应的评价值,完成多次资源调度,实现容错。

基于PSO算法初始化种群

由于粒子群算法PSO可设置大量的粒子充斥解空间,增大搜索到更优解的概率,拥有较 好的全局搜索能力;适用于本文的资源调度方法。

初始化。先设置最大迭代次数,目标函数的自变量个数,粒子的最大速度,位置信息为 整个搜索空间,并在速度区间和搜索空间上随机初始化速度和位置。将Max-Min的启发式规 则带入,得到了一个种群,重复多次速度和位置更新操作,并将获得的个体加入到种群中, 直到种群规模达到要求。

适应度函数。适应度是用来描述种群中不同个体能够达到或者接近最优解的程度,适应 度值越大,越接近最优解。这里简单地采用系统的总评价值来表示个体的适应度。

基于PBIL算法求解动态容错

执行任务发生故障时,继续使用PSO算法全局求解,消耗时间长,计算量大;动态容错 强调寻找替换组件,是一种局部调度,因此,使用PSO算法不适用于此环节。PBIL算法是一种基于现有解学习的进化算法,算法基于当前优秀个体的学习得到概率模型,通过概率模型 控制产生新的群体。

通过PSO算法初试化种群之后,采用PBIL算法继续求解,这里用评价值作为适应度函 数,比遗传算法的交叉变异有更高的效率,最终得到了在系统评价值最大的情况下的资源分 配情况,即让每个云任务都得到了最优的云组件去处理。

采用蒙特卡洛方法以频率代表概率的方法进行计算。设S

①若解在优势种群中,每位变量x

②若解不在优势种群中,为使种群保持较高的多样性,依据该子任务的平均评价值相 对于整体平均评价值的远近进行计算。

λ=|Aa-ave

MEF算法具体流程如图5所示,图8为本发明的MEF算法在不同负载下执行时间对比图,图8a表示负载在100个节点上的仿真实验,图8b表示负载在500个节点上的仿真实验,由实验可以看出,本方法在负载较高的情况下,还具有良好的性能。通过本发明最终得到最优分配策略O

本发明综合主动容错与反应容错的特点,提出了一种基于在线容错的云计算资源调度方 法。在线容错包含静态容错和动态容错两个方面,针对反应容错方法备份成本高的问题,静 态容错通过马尔科夫模型,筛选出关键组件,对其进行备份,提高备份组件的准确性,仅对 少数组件备份便可达到很好的容错效果,即对使用频率高、功能重要的组件进行备份;针对 主动容错监控成本高,动态容错通过数学建模的方式,分析各个组件的可靠性,可以通过少 量指标就可以获得组件的实时状态,在故障发生时,迅速选择监控组件进行替换;以此提高 云计算系统的可靠性。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于 本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术 人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

相关技术
  • 一种基于在线容错的云计算资源调度方法
  • 一种基于杂交水稻算法的云计算资源调度方法及系统
技术分类

06120113299617