一种无线云计算系统的资源分配方法与流程

文档序号:12376302阅读:475来源:国知局
一种无线云计算系统的资源分配方法与流程
本发明涉及无线通信,尤其是一种无线微云系统中将多个AP协作调用,使之共同处理工作流的无线云计算系统的资源分配方法。
背景技术
:智能移动终端(SmartMobileDevice,SMD)的出现将桌面计算方式发展到移动计算方式,分布式计算系统的发展又为我们带来了移动云计算。移动计算的概念由传统的桌面计算发展而来,传统桌面计算中涉及的设备包括台式计算机、服务器等位置固定的设备,设备之间有线连接,由电源供电,通信链路稳定,实现了基本的数据访问、资源共享的目的,但设备位置固定的特性将用户限制在办公室中。同时,在其他方面,移动云计算也有一定的问题亟待解决。首先,智能移动终端访问远端云计算中心的通信延时较长,而且难以估计,减弱了用户体验,尤其对交互性强的应用影响很大;另一方面,移动应用的转移模块穿过复杂的Internet网络到达云计算中心的过程中,用户数据的安全和隐私得不到保证;而通过在发送端应用复杂的加密技术提高数据安全,会给原本就资源受限的智能移动设备带来更大的计算压力;数据的安全问题也同样会出现云计算中心,大型云计算中心更容易遭受攻击。针对移动云计算中存在的问题,微云的概念被提出,微云由智能移动设备周边的一个或多个资源丰富的计算机组成,旨在以最小的安全风险,最短负载转移距离,以及最小通信时延增强智能移动设备的性能。与本发明最接近的现有技术即文献AbrishamiS,NaghibzadehandM,J.EpermaDH.“Deadline-constrainedworkflowschedulingalgorithmsforInfrastructureasaServiceClouds”,FutureGenerationComputerSystems,vol.29,no.1,pp.158-169,2013,在该文献中,给出了IC-PCP的寻找方法和分配方法,本发明中的PCP分配方法不同于该方法,是一种结合HEFT算法对IC-PCP修改得到的算法,且当AP间非全联通或AP间信道带宽较小的时候,该论文中方法将不再适用,且本领域技术人员无法根据常识解决其不适用的缺陷,本专利针对上述情景,提出了一种新的PCP分配方案,使AP的负载更加趋于均衡且可以通过路由有效解决AP间非全联通带来的问题。技术实现要素:发明目的:针对上述现有技术存在的缺陷,本发明旨在提供一种无线协作微云系统的资源调度方法,通过将若干AP的协作调度,使之共同处理一个工作流,减少了单个工作流的平均处理时间,提高了系统性能。同时,通过资源的分配,负载的均衡使得资源的利用率有所提高。技术方案:一种无线云计算系统的资源分配方法,包括以下步骤:(1)计算工作流的任务n任务节点权值和任务n到任m边的权值;(2)计算每个任务的优先级;(3)找到剩余任务中优先级最高的任务n,n对PCP进行初始化。设任务n的后驱任务有r个,分别为m1,m2,…,mr;(4)去除m1,m2,…,mr中前驱未全部被分配至任何PCP段的任务,剩余的任务中取优先级值最大的任务加入该段PCP,一直分配下去,直到没有符合条件的任务,该段PCP分配完成;(5)逐个检查该段PCP中的任务,完成新一段PCP的分配,直到所有的任务都被分配至PCP段中;(6)如果不存在可分配AP,则将所有的AP设置为可分配,找到可分配PCP段的AP,计算PCP段分配至可分配AP的EFT,比较一段PCP在各个可分配AP中的EFT,选取使EFT有最小的值的AP作为该段PCP的映射AP;(7)当选取过程中,选取AP得到的EFT为无穷时,逐一分析该段PCP中的任务,如果任务的前驱到该任务传输时间为无穷,进行路由;(8)确定起点AP和终点AP,接着找出通过最短跳数连接两个AP的路径,将该路径作为路由路径。进一步的,步骤(1)中所述任务n任务节点权值为该节点的任务处理延时其中I为任务的任务量,为平均每个AP的处理速度;所述任务n到任m边的权值为传输延时其中Transferdata为任务间传输的任务量,为AP间平均链路的带宽。进一步的,所述步骤(2)具体为:计算出每个任务节点到结束任务nexit的最长路径的值,将该值作为每个任务的优先级。进一步的,计算出每个任务节点到结束任务nexit的最长路径的方法具体为:设n任务的后驱任务有r个,分别为m1,m2,...,mr,则任务n的优先级为其中设定初值即结尾任务nexit的优先级Iexit为结尾任务的任务量。进一步的,步骤(4)具体为:假设两个集合α和β,α内部放入已经被分配至PCP的任务,β内放入未分配至PCP的任务,α的初始值为一个空集,之后按照优先级rank的顺序,寻找PCP段;对于m1,m2,...,mr中任务mi,其中mi的所有的前驱任务有q个,分别为l1,l2,...,lq,如果l1,l2,...,lq都已经在α中,则mi得以保留,并继续分配,直到没有符合条件的任务,该段PCP分配完成。进一步的,步骤(5)具体为:逐个检查该段PCP中的任务,如果该段PCP中的任务的后驱任务中存在该任务的前驱全部都分配至PCP的任务,则开始对下一段PCP进行分配,直到所有的任务都被分配至PCP段中。进一步的,所述步骤(8)具体为:设需要进行路由的起始AP为APfrom,路由的终点AP为APto,设经过一跳增加跳数,找出APfrom可以到达的AP,如果当中没有APto,则继续寻找路由路径,找出两跳APfrom可以到达的AP,如果其中依然没有APto,则继续增加跳数,直到找出可以到达APto的路径为止,将该路径作为路由路径。有益效果:首先,本发明提出了一种基于PCP的任务分配方式,通过PCP的映射过程,完成对任务的映射过程,此过程中使关联性较强的任务分配于同一AP当中,减少了任务间数据的传输时间。其次,在PCP的分配过程中考虑到了让PCP至AP的映射更加的均衡,在以往的PCP分配方式中,当AP之间的信道带宽过于的小的时候,如果按照最优的选择方式,可能造成有些AP永远分配不到PCP,而本发明中通过强制将AP设置为可分配不可分配两种状态,避免了这种情况。最后,本发明针对无线通信中AP之间并非全联通的情况,设置了路由算法,将若干AP连接起来,使之协作起来处理一个工作流,减少了单个工作流的处理时间,提高了系统性能。附图说明图1是移动协作微云计算调度方式示意图;图2是一个10点工作流示意图;图3是该无线云计算系统的资源分配方法流程图;图4是步骤1~2计算工作流中任务优先级流程图;图5是步骤3~5寻找PCP流程图;图6是步骤6~8PCP映射到AP及寻找路由路径流程图。具体实施方式下面通过一个最佳实施例并结合附图对本技术方案进行详细说明。任务流中任务有一定的先后顺序,所有的任务必须等待它的所有前驱都执行完毕才可以执行,则我们需要设定优先级去衡量任务的执行顺序。在任务到AP(WirelessAccessPoint)的映射过程当中,可以将具有一定前后关系的任务是可以分配在同一个PCP(PartialCriticalPath)段内,位于同一段PCP中的任务一定分配于同一个AP,则该段PCP内的任务间的数据传输时间为0,这样通过PCP分配到AP减少了AP间传输的总数据量。在上述PCP映射过程中,需要考虑两个条件,一方面,希望各个PCP段在AP中分布的更均匀些,可以保证负载更加均衡,另一方面,需要PCP选取局部最优的AP,使其在更短的时间内被完成。当存在AP之间非全联通的情况,任务之间的数据无法直接到达,需要通过路由到其他的AP完成对数据的传输。如图1所示,一种无线云计算系统的资源分配方法,包括以下步骤:(1)移动应用被分解为多个任务块,任务之间具有数据依赖关系,形成一个工作流,如图2所示,以一个简单工作流为例,其中工作流的内部有相应的权值,首先计算工作流的任务n任务节点权值和任务n到任m边的权值;任务n任务节点权值为该节点的任务处理延时其中I为任务的任务量,为平均每个AP的处理速度;所述任务n到任m边的权值为传输延时其中Transferdata为任务间传输的任务量,为AP间平均链路的带宽。(2)计算每个任务的优先级,具体为:计算出每个任务节点到结束任务nexit的最长路径的值,将该值作为每个任务的优先级。计算出每个任务节点到结束任务nexit的最长路径的方法具体为:设n任务的后驱任务有r个,分别为m1,m2,...,mr,则任务n的优先级为其中设定初值即结尾任务nexit的优先级Iexit为结尾任务的任务量。如图4所示,通过结束任务逐步向前搜索,当一个任务的后驱任务的优先级已知之后,可以求得该任务的优先级的值。我们假设有一个集合x,其中放入已知优先级的额任务,首先结尾任务的优先级可求,将其放入x中初始化,对于集合x中的所有任务,找出这些任务的前驱,去重并放入集合temp中,接着逐个分析temp中的任务,如果该任务的所有后驱任务都在x中,该任务得以保留,则通过以上方式,temp中任务的优先级可求,同时更新x中任务,继续上述过程,直到所有的任务都在集合x中。(3)如图5所示,找到剩余任务中优先级最高的任务n,n首先加入该段PCP中,即n对PCP进行初始化,设其后驱任务有r个,分别为m1,m2,…,mr;(4)去除m1,m2,…,mr中前驱未全部被分配至任何PCP段的任务,剩余的任务中取优先级值最大的任务加入该段PCP,一直分配下去,直到没有符合条件的任务,该段PCP分配完成;具体为:假设两个集合α和β,α内部放入已经被分配至PCP的任务,β内放入未分配至PCP的任务,α的初始值为一个空集,之后按照优先级rank的顺序,寻找PCP段;对于m1,m2,...,mr中任务mi,其中mi的所有的前驱任务有q个,分别为l1,l2,...,lq,如果l1,l2,...,lq都已经在α中,则mi得以保留,并继续分配,直到没有符合条件的任务,该段PCP分配完成。(5)逐个检查该段PCP中的任务,完成新一段PCP的分配,直到所有的任务都被分配至PCP段中;具体为:逐个检查该段PCP中的任务,如果该段PCP中的任务的后驱存在该任务的前驱全部都分配至PCP的任务,则开始新一段PCP进行分配,重复以上过程建立新的PCP段直到所有的任务都被分配至PCP段α中。(6)如图6所示,通过上一个步骤,找到了各段PCP,之后按照顺序,将各段PCP映射至AP中。如果不存在可分配AP,则将所有的AP设置为可分配,找到可分配PCP段的AP,计算PCP段分配至可分配AP的EFT(EstimatedFinishTime),比较一段PCP在各个可分配AP中的EFT,选取使EFT有最小的值的AP作为该段PCP的映射AP;具体的:对于一个AP,它有两种状态即可分配和不可分配。当一个可分配状态的AP被分配给了某个PCP之后,它的状态将装变为不可分配。这样将PCP一直分配下去,直到所有的AP都变为不可分配的状态时候,将所有AP的状态还原为可分配,之后继续进行PCP的映射过程。对于一段PCP,把该段PCP最后一个任务的EFT作为该段PCP的EFT,通过比较一段PCP在各个可分配AP中的EFT,选取使其EFT最小的AP作为选择AP。假设对于任务m,m的所有的前驱任务有q个,设为l1,l2,...,lq,任务m分配于APi,切此时已经分配给APi的任务有k个,分别为t1,t2,...,tk,则任务m的EFT如公式(2)所示,其中EST(EstimatedStartTime)表示为公式(3),公式中(3)RRT(ResourceReadyTime)表示为公式(4),TRT(TAskReadyTime)表示为公式(5),其中公式(5)需要说明一下,当有前后驱关系的两个任务分配在同一个AP的时候,两个任务间数据传输时间即TT为0。则通过以上公式逐次求得PCP任务的EFT,可以得到该段PCP的EFT。EFT(m)=EST(m)+ETm(2)EST(m)=max{RRT(APi),TRT(m)}(3)RRT(APi)=max{EFT(t1),EFT(t2),...,EFT(tk)}(4)TRT(m)=max{EFT(l1)+TTl1,m,EFT(l2)+TTl2,m,...,EFT(lq)+TTlq,m}---(5)]]>(7)当选取过程中,选取AP得到的EFT为无穷时,需要进行路由以达到数据的传递,此时,该段PCP已经选择好了要分配的AP。首先,逐一分析该段PCP中的任务,如果任务的前驱到该任务传输时间为无穷,则找到无法直接连接的两个AP,寻找路由路径,进行路由;(8)确定起点AP和终点AP,接着找出通过最短跳数连接两个AP的路径,将该路径作为路由路径;设需要进行路由的起始AP为APfrom,路由的终点AP为APto,设经过一跳增加跳数,找出APfrom可以到达的AP,如果当中没有APto,则继续寻找路由路径,找出两跳APfrom可以到达的AP,如果其中依然没有APto,则继续增加跳数,重复上述过程,直到找出可以到达APto的路径为止,将该路径作为路由路径。这里对图2中10点工作流举一个例子。假设对于一个10点工作流,其结构如图2所示,下面设置具体的参数,假设每个AP的处理速度P都为10000MIPS(MillionInstructionPerSecond),则在数据传输过程中,设AP间带宽B都为106bit/s,则其任务号对应的任务量I如表1所示,其单位为MI(MillionInstruction)。表1任务量任务号12345678910任务量0133900013830001336000137800010370001059000108800017550000其任务间传递的数据量Transferdata如表2所示,数据量单位为bit。表2任务间传递的数据量Transferdata假设有4个AP,其联通状况如表5所示,其中表内的值为1表示该路径联通,为0表示不联通,例如,表格中第2行第3列的标号为1,表示从AP1到AP2联通。表3AP之间的连接关系AP号123410100210103010140010下面按照步骤完成任务的映射过程:①将表1中数据除以表2中数据除以即可得到图2中工作流的各任务节点权值和边权值。②则任务9的rank值任务6的后驱只有任务9则同理按照上述方法,得到rank值如表4。表4各任务节点rank值③~⑤首先选择任务1开始寻找,任务1放入PCP当中,之后看任务1的后驱即[2,3,4,5],四个任务的前驱都只是任务1,则选择rank值最大的任务5放入该段PCP当中,之后看任务5的后驱任务8,任务8的前驱为[2,4,5],其中任务2,4没有被分配进入任何一段PCP,则此段PCP寻找完成,该段PCP为[1,5],接下来分析此PCP。任务1的未被分配的后驱[2,3,4],在未分配出去的任务中取rank最大值的任务,为任务3,其后驱为7,对于任务7,其前驱为任务[3,4],任务4并没有被分配出去,则此段PCP分配完成,为[3],接下来分析此段PCP,没发现符合要求的任务,结束。回到对任务1的分析,它未被分配的后驱[2,4],取rank比较大的也就是任务2,任务2的后驱为[6,8],两者都不符合加入PCP,此段PCP分配结束。按照上述方法一直取下去。其PCP分配的结果如表5。表5PCP分配结果PCP标号123456包含任务1,5324,876,9,10⑥~⑧对于第一段PCP即[1,5],其分配至AP1,对于任务1,其EFT为0,对于任务5,其前驱只有任务1,则该段PCP的EFT(即任务5的EFT)1378000/P=137.8,此时AP1设置为不可分配。接下来分配第二段PCP即[3],任务3的前驱为任务1,任务1的EFT为0,在剩余可分配的AP2,AP3,AP4中,它们的RRT都为0,则PCP的分配给AP1的EFT(即任务3的EFT)为max{0+0/B,0}+1383000/P=138.3,同理计算出在该段PCP可分配在AP3和AP4的EFT分别为138.3与138.3,则按照顺序将该段PCP映射给AP2,得到任务3的EFT为138.3,此时AP2设置为不可分配。之后分配第三段PCP即[2],它的前驱为任务1,其EFT为0,其在剩余可分配的AP3,AP4中的RRT都为0,则PCP分配给AP3的EFT为max{0+0/B,0}+1339000/P=133.9,同理该段PCP分配在AP4的EFT(即任务2的EFT)也为133.9,则我们顺序选择将该段PCP映射给AP3,任务2的EFT为133.9,AP3设置为不可分配。接着对第四段PCP即[4,8]进行分配,此时可分配的AP为AP4,其RRT为0,对于任务4,其前驱任务1的EFT为0,则任务4的EFT=max{0+0/B,0}+1336000/P=133.6,对于任务8,它的前驱为[2,4,5],这些前驱分配的AP号为[3,4,1],对于任务4,它和任务8在同一个PCP中,两者的传输延时不计,对于任务2,它映射在AP3,AP3到AP4可以直接传输,传输延时为8.873456。对于任务5,它位于AP1,而AP1到AP4无法直接传输,我们需要寻找AP1到AP4的路由路径,AP1的连接路径为AP2,则以AP1为起点,路由一跳的路径为[1,2],没有到达AP3,继续寻找。以AP1为起点,路由两条的所有路由路径为[1,2,1],[1,2,3],也没有到达AP4,以AP1为起点,路由三跳的所有路由路径为[1,2,1,2],[1,2,3,2],[1,2,3,4],其中后一条路径到达AP4,则选择该条路径为路由路径,此时AP4的RRT为任务4的EFT,即为133.6,则任务8的EFT为max{max{137.8+7853276/B*3,1383+8873456/B,133.6},133.6}+1088000/P=270.1598,此时AP4设置为不可分配。之后所有的AP都设置为不可分配了,则重新把所有的AP设置为可分配。按照这种方法继续下去,直到所有的PCP段分配完成,则完成了任务到AP的映射过程。以上仅是本发明的优选实施方式,应当指出:对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1