一种基于可靠性驱动的云资源容错调度方法技术

技术编号:8022277 阅读:206 留言:0更新日期:2012-11-29 04:31
一种基于可靠性驱动的云资源容错调度方法,包括以下步骤:1)初始化;2)计算DAG中的每个任务i的bl(i)和初始化tl(i)=0;3)将开始任务插入α中;4)开始调度,按如下步骤进行操作,直至所有的任务都调度完成,具体包含如下步骤:4.1)调度时的初始化;4.2)在每个处理机Pj上,寻找任务i的合适处理机;4.3)如果任务i没有可行的处理机,则调度失败;4.4)将处理机分配给任务i;4.5)将任务i的空闲后续放入到α中;4.6)更新U;5)调度结束,调度成功。本发明专利技术通过有效的容错调度提高了系统的服务质量。

【技术实现步骤摘要】

本专利技术涉及资源的容错调度技术,具体是。
技术介绍
云计算因具有超大规模、高可靠性、高可扩展性、按需服务、极其廉价等特点受到了广大的关注。其中云计算一个非常重要特点就是高可靠性。可是,云计算系统使用的大 规模资源具有高度动态性和异构性,资源环境所固有的不可靠状态,使得云计算平台较传统的计算平台出现大规模资源失败的可能性大大增加。这种大规模的资源失败包括了硬件故障、软件错误以及其他的失败源。所以,云计算中一个很大的挑战是从大规模分布式系统中去容忍或者消除错误。那么,研究具有容错机制和失败容忍能力的可靠云计算服务调度策略,对切实提高云计算服务的服务质量具有重要意义。基于云计算系统的实时容错调度算法的研究仍处在一个起步阶段。由于云计算系统中大规模资源失败,特别是多处理机同时发生故障的情况更是常有发生,因此如何在保证云计算系统的可靠性同时,又能保证系统实时性,进而提高系统的服务质量是调度算法需要考虑的问题。目前,处理多处理机发生故障的情况下的算法主要是考虑执行时间、通信时间、时间复杂度等某个方面,但是高可靠性和通信时间最小化方面的研究却涉及很少。现有的方法有FTBAR、FTSA、CAFT、MC-FTSA。FTBAR 是基于主动复制(Active Replication)策略的List启发式调度算法,它允许一个任务的N+1个副本调度到不同处理机,并且可以并行执行以容忍至多N个处理机失败,但是分配任务的大量副本过程中导致了大量的通信和提高了时间复杂度。为了解决大量通信的问题,FTSA提出了一个全新的数据结构来解决任务映射到的处理机间的通信关系尽量达到一对一通信,从而减少大量冗余通信。同时,FTSA考虑的是有依赖关系任务和推导了任务的最早完成时间。但是通信的减少会影响任务的开始时间,FTSA未考虑任务后续的开始时间从而使DAG的执行时间未达到最优化。CAFT、MC-FTSA从通信和时间复杂度角度将任务的多个副本映射到不同处理机上,它们都最小化通信而容忍处理机失败数量却受到很大限制,即通信越少,能够容忍处理机失败数量就越少。但是这些算法都没有考虑可靠性。
技术实现思路
为了克服现有的容错调度方法的可靠性较差的不足,本专利技术是在大规模资源失败情况下特别是多处理机失败下,以可靠性代价为调度目标,利用主动复制策略,将任务的e+1个副本放到不同的处理器上,动态调度相互依赖、不可抢占、非周期的实时任务,提供一种提高系统的可靠性基于可靠性驱动的云资源容错调度方法。本专利技术为了解决上述技术问题采用的技术方案为,包括以下步骤I)初始化,包含如下过程I. I)将系统支持的最大处理机失败的数量赋值给e ;I. 2)确定系统的处理机集P= (P1, P2,…,PJ,任务的计算时间用e :VXP — R来模拟,e (!,Pj), I ( j彡m表示系统中每个任务在每个处理机上的执行时间;任务间的通信时间用W(i,j)=v(i, j) Xd(Pk,Pb)来表示,其中,任务i映射到处理机Pk上,任务j映射到处理机Pb上,d (Pk, Pb)表示发送单位长度数据所需的时间;如果任务部署到同一个处理机上,则通信时间为零;I. 3)初始化调度任务集合A = 0未调度任务集合U=V,设S是调度任务集合,U是未调度任务集合,一旦一个任务i e S调度到处理机匕上,则会得到它的开始时和完成时间;利用无回路有向图DAG来模拟任务模型中的任务以及它们之间的关系,用T= (V,E)表示,其中V是一个节点集合对应所有非周期、非抢占性的实时任务;E是一个边集合对应所有任务之间的优先关系以及任务之间的通信;对于一个任务i,Sdp(i)表示任务i的直接前续集合,Sds (i)表示任务i的直接后续集合;v(i, j)表示任务i发送给任务j的数据量;I. 4)初始化空闲任务优先列表《 = 0 ;该表利用平衡搜索树去执行任务;2)计算无回路有向图DAG中的每个任务i的bl⑴和初始化每个开始任务i的tl (i)=0 ;tl (i)表示动态高位水平,bl (i)表示静态低位水平;其中tl (i)依赖于映射过程中己经部署的任务,bl(i)根据DAG的拓扑结构将保持不变;其中,bl(i)的求解步骤如下2. I):对于v/et/,如果任务i的后续集合为空,即&(/) = 0,则W(V) =而,其中@是任务的平均执行时间,即权利要求1. ,其特征在于包括以下步骤 ·1)初始化,包含如下过程 ·1. 1)将系统支持的最大处理机失败的数量赋值给ε ; ·1. 2)确定系统的处理机集P=的,P2,…,PJ, 任务的计算时间用ε VXP — R来模拟,ε (!,Pj), I ( j彡m表示系统中每个任务在每个处理机上的执行时间;任务间的通信时间用W(i,j)=v(i,j)Xd(Pk,Pb)来表示,其中,任务i映射到处理机Pk上,任务j映射到处理机Pb上,d(Pk,Pb)表示发送单位长度数据所需的时间;如果任务部署到同一个处理机上,则通信时间为零; ·1. 3)初始化调度任务集合S 二 0 ;未调度任务集合U=V,设S是调度任务集合,U是未调度任务集合,一旦一个任务i e S调度到处理机PjI,则会得到它的开始时和完成时间 利用无回路有向图DAG来模拟任务模型中的任务以及它们之间的关系,用T=(V,E)表示,其中V是一个节点集合对应所有非周期、非抢占性的实时任务;E是一个边集合对应所有任务之间的优先关系以及任务之间的通信;对于一个任务i,Sdp(i)表示任务i的直接前续集合,Sds (i)表示任务i的直接后续集合;v(i, j)表示任务i发送给任务j的数据量; ·1.4)初始化空闲任务优先列表or = 0,该表利用平衡搜索树去执行任务; ·2)计算无回路有向图DAG中的每个任务i的bl(i)和初始化每个开始任务i的tl (i)=O ; tl(i)表示动态高位水平,bl(i)表示静态低位水平;其中tl(i)依赖于映射过程中己经部署的任务,bl (i)根据DAG的拓扑结构将保持不变;其中,bl (i)的求解步骤如下 ·2.I):对于Wet/ ,如果任务i的后续集合为空,即&(/) = 0,则W⑴=瓦0,其中Ui是任务的平均执行时间,即@ =;否则转到2. 2); ·2.2) 全文摘要,包括以下步骤1)初始化;2)计算DAG中的每个任务i的bl(i)和初始化tl(i)=0;3)将开始任务插入α中;4)开始调度,按如下步骤进行操作,直至所有的任务都调度完成,具体包含如下步骤4.1)调度时的初始化;4.2)在每个处理机Pj上,寻找任务i的合适处理机;4.3)如果任务i没有可行的处理机,则调度失败;4.4)将处理机分配给任务i;4.5)将任务i的空闲后续放入到α中;4.6)更新U;5)调度结束,调度成功。本专利技术通过有效的容错调度提高了系统的服务质量。文档编号G06F9/50GK102799474SQ20121021160公开日2012年11月28日 申请日期2012年6月21日 优先权日2012年6月21日专利技术者张芮, 琚春华, 陈沛帅 申请人:浙江工商大学本文档来自技高网
...

【技术保护点】
一种基于可靠性驱动的云资源容错调度方法,其特征在于:包括以下步骤:1)初始化,包含如下过程:1.1)将系统支持的最大处理机失败的数量赋值给ε;1.2)确定系统的处理机集P={P1,P2,…,Pm},任务的计算时间用ε:V×P→R来模拟,ε(i,Pj),1≤j≤m表示系统中每个任务在每个处理机上的执行时间;任务间的通信时间用W(i,j)=v(i,j)×d(Pk,Pb)来表示,其中,任务i映射到处理机Pk上,任务j映射到处理机Pb上,d(Pk,Pb)表示发送单位长度数据所需的时间;如果任务部署到同一个处理机上,则通信时间为零;1.3)初始化调度任务集合未调度任务集合U=V,设S是调度任务集合,U是未调度任务集合,一旦一个任务i∈S调度到处理机Pj上,则会得到它的开始时和完成时间利用无回路有向图DAG来模拟任务模型中的任务以及它们之间的关系,用T=(V,E)表示,其中V是一个节点集合对应所有非周期、非抢占性的实时任务;E是一个边集合对应所有任务之间的优先关系以及任务之间的通信;对于一个任务i,Sdp(i)表示任务i的直接前续集合,Sds(i)表示任务i的直接后续集合;v(i,j)表示任务i发送给任务j的数据量;1.4)初始化空闲任务优先列表该表利用平衡搜索树去执行任务;2)计算无回路有向图DAG中的每个任务i的bl(i)和初始化每个开始任务i的tl(i)=0;tl(i)表示动态高位水平,bl(i)表示静态低位水平;其中tl(i)依赖于映射过程中己经部署的任务,bl(i)根据DAG的拓扑结构将保持不变;其中,bl(i)的求解步骤如下:2.1):对于如果任务i的后续集合为空,即则其中是任务的平均执行时间,即否则转到2.2);2.2):bl(i)=maxj∈Sds(i){ϵ(I)‾+W(I,J)‾+bl(j)},表示任务间的平均通信时间,求解公式为:其中表示系统中处理机间发送单位长度数据的平均延迟;3)将开始任务插入α中;4)开始调度,任务的调度过程如下4.1)调度时的初始化,包含以下过程:4.1.1):选择优先权最高的任务,并将H(α)赋值给i;一个任务的优先权由tl(i)+bl(i)来决定,H(α)返回有序队列α中的第一个任务,即是带有最高优先权的任务;4.1.2):初始化可靠性r为0;4.1.3):最早完成时间初始化4.2)对于每个处理机Pj按如下步骤Step1~Step3进行操作,从第一个处理开始处理,直至将所有的处理机都处理完毕;4.2.1):计算最早完成时间具体的求解公式如下:tiP(j),ef=ϵ(i,j)+max{maxu∈Sdp(i){mink=1ϵ+1{tukP(uk),f+W(u,i)}},maxi∈S(xij×tiP(j),f)}其中,为任务u的第k个副本uk在所在的服务器的处理完成时间;xij=1表示任务i映射到处理机Pj上,否则为xij=0;4.2.2):如果任务i能够在处理机P(ε+1)上达到最早完成时间,且在tr?a(i)之前完成,则确定此时系统的可靠度rj。否则,返回结束此次循环,对下一个处理器进行操作,返回4.2.1);tr?a(i)的作用是限制任务的响应时间,其求解公式为:tr-a(i)=minj∈Sds{maxq∈Sdp(j){tqP(q),d+W(q,j)}};对于容错调度每个任务有一个调度矩阵假设系统中一个任务I的ε+1个副本分派到m个处理机上,当任务的副本i分派到处理机Pj时,否则其中i=1,2,…,(ε+1),j=1,2,…,m;系统的可靠度的求解公式为:rj=exp(?PR),其中为 副本i在处理机Pj的可靠性,是由事先给定的处理机失败比率λj和i在处理机Pj上的执行时间cij共同决定的;4.2.3):如果满足以下两个条件之一:①rj>r;②rj=r且则调度任务i到这ε+1个处理机上,然后返回Step1去处理下一个处理机,直至将所有的处理机都处理完毕;4.3)如果对于任务i没有可行的处理机,则返回调度失败;4.4)将处理机分配给任务i;当任务i在处理机上的可靠性最大时;则将任务i放入S中,并同时更新任务i的后续的优先权;4.5)将任务i的空闲后续放入到α中;4.6)更新U,U=U(i);4.7)当未调度任务集合U不为空时,即则按步骤4.1)到4.6)进行循环操作,直至U为空。FDA00001795912900011.jpg,FDA...

【技术特征摘要】

【专利技术属性】
技术研发人员:张芮琚春华陈沛帅
申请(专利权)人:浙江工商大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1