本发明专利技术公开了一种基于移动云服务且有预算约束的多任务分配机制;利用新型移动云cloudlet作为服务,将移动设备用户提出的资源请求分配到各个cloudlet上。针对用户到达的随机性以及实际中每个用户的预算约束,定义一个在线的多任务分配机制,同时引入round‑by‑round算法将在线的处理分为以时隙为单位的单轮分配机制,有效的解决了在线算法的困难。在处理单轮分配时,利用tailored dependent rounding算法将分式解变成整数解,并取得一个很好地近似比。从而设计出一个同时具有计算可行以及经济有效的多任务分配机制。
【技术实现步骤摘要】
一种基于移动云计算且有预算约束的多任务分配机制
本专利技术属于计算机网络的移动云计算领域,尤其是一种基于移动云计算且有预算约束的多任务分配机制。
技术介绍
目前移动设备已经成为生活中必不可少的一部分,例如手机,平板电脑等无地域时间限制的通信工具。但是移动设备的内存,电池容量或带宽是有限的,不利于多任务的处理。云计算的出现为用户提供了快速的按需资源分配,例如CPU,RAM,内存和带宽等的资源分配。所以移动云计算(MCC)应运而生,其中adhocMCC(即cloudlet),能够支持通信密集或延迟敏感型的任务,更适合于移动用户使用。但是cloudlet的资源是动态且多样的,很多资源分配都是无效的甚至是无意义的,因此如何合理且有效的调度移动云资源是一个挑战;同时实际中,移动用户都是随机到来的并且有一个长期的budget,所以设计一个online的移动用户任务分配机制,并且使用户在后期仍有预算申请资源是一个难以解决的问题。在设计多任务分配机制时需要保证计算可行性即任务分配和收益计算在多项式时间内完成,同时设计该机制的最终目标是受益最大,即使所有用户的总支付费用最大,这是一个NP-hard问题,如何设计一个满足上述约束的基于移动云平台的多任务分配机制是一个重要且极具挑战的问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于移动云计算的多任务分配机制。首先将条件约束写成线性规划并通过解线性规划得到分数解,然后使用round-by-round算法将online算法拆分成以一个时隙为单位的单轮分配机制,每一轮依靠预算作为联系。在进行每一轮分配时将已知的分数解,rounding成整数解,利用Tailoreddependentrounding算法,缩小整性间隙,取得较好的近似比。本专利技术所采用的技术方案是:一种基于移动云服务且有预算约束的多任务分配机制,其特征在于,包括以下步骤:步骤1:将收益最大化的多任务分配写成整数线性规划;由于条件的复杂度较大,利用round-by-round算法将online分解为多轮分配,每一轮之间都依靠用户的budget相互连接,任务分配机制将一个时隙作为一轮分配;步骤2:初始化缩减因子为第一轮分配时用户对每个任务的估价用户估价与预算的最大比值参数步骤3:第t轮分配开始(开始时:t=1),将所有缩减因子的用户进行任务分配,并将已分配的用户的任务放入集合ψ中,用户每轮至多被分配一个任务;具体包括:步骤3.1:解线性规划得到分式解θ′inm;步骤3.2:计算Lm=[∑i∑nθ′inm],并根据以下步骤构建二分图,二分图左边的点(ain)代表每个用户的任务,右边Lm个点(bml)代表对应的cloudlet:步骤3.3:如果就将这条边放入匹配集合中并从边集合W中删除;步骤3.4:当二分图中存在一个环(cycle)或是一个最长路径时,将这个环或是最长路径分为两个匹配集合(S1,S2),找到η与ζ,使得然后以概率在集合S1中更新θ*=θ*-η,在集合S2中更新θ*=θ*+η;以概率在集合S1中更新θ*=θ*+ζ,在集合S2中更新θ*=θ*-ζ;步骤3.5:如果就将这条边放入匹配集合中并从边集合W中删除;如果从边集合W中删除;如果仍然存在一个环或者最长路径,返回步骤3.4继续执行,直到找不出一个环或是最长路径;步骤3.6:如果边集合W中仍有剩余边,令该边的权重为1,即步骤3.7:更新整数解步骤4:如果用户i的一个任务被分配,就更新该用户的递减因子并且更新每一轮新的任务价格这里更新每一轮用户的任务价格是因为设计在线的多任务分配机制时,每一轮拍卖是依靠预算(budget)相互联系的,为了使用户在后期的分配过程中仍然可以提出申请,需要对用户任务的价格进行修改,即逐轮减小每个任务的价格;如果某个用户的缩减因子则停止申请资源,不能进入后续的任务分配;步骤5:返回步骤3,直到完成T轮分配。在上述的一种基于移动云服务且有预算约束的多任务分配机制,所述步骤3.2的具体方法包括:步骤3.2.1、将所有的任务点按照价格的大小排序;步骤3.2.2、如果∑i∑nθ′inm≤1,将(ain,bml)放入边的集合W,并将边的权重设为θ*(ain,bml)=θ′inm;步骤3.2.3、如果∑i∑nθ′inm>1,对所有l=2,...,Lm,将nil作为一个分割点,下标在这个之前的边放入集合W,并将边的权重设为θ*(ain,bml)=θ′inm,下标在这个之后的边权重更新为θ*(ain,bml)=1-∑i∑nθ′inm。步骤3.2.4、重复步骤3.2.1至步骤3.2.3直到二分图建立完成。因此,本专利技术具有如下优点:利用round-by-round算法将每一轮分配通过预算联系在一起,解决了online算法的困难,在每一轮分配时使用tailoreddependentrounding算法,缩小了整数解与分数解之间的间隙(gap),取得了较好的近似比。附图说明图1是本专利技术实施例的流程图。图2是本专利技术实施例在不同数目的cloudlet时的收益对比图。图3是本专利技术实施例在不同任务数量时的用户满意度对比图。图4是本专利技术实施例在参数U不同时的近似比分布图。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施例对本专利技术作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本专利技术,并不用于限定本专利技术。在本实施例中,我们令cloudlet的数量为4~8,每个用户的任务数量为2~4,用户数量为100~600。时隙跨度T=600~1200个时隙,每个用户的budget为和任务数目有关的随机数。步骤1:将收益最大化的多任务分配写成整数线性规划。由于条件的复杂度较大,利用round-by-round算法将online分解为多轮分配,每一轮之间都依靠用户的budget相互连接(该任务分配机制,将一个时隙作为一轮分配)。步骤2:初始化缩减因子为第一轮分配时用户对每个任务的估价用户估价与预算的最大比值参数步骤3:第t轮分配开始(开始时:t=1),将所有缩减因子的用户进行任务分配,并将已分配的用户的任务放入集合ψ中(用户每轮至多被分配一个任务)。步骤4:如果用户i的一个任务被分配,就更新该用户的递减因子并且更新每一轮新的任务价格步骤5:返回步骤3,直到完成T轮分配。在步骤3中,对所有用户进行处理的过程如下(主要运用tailoreddependentrounding):步骤3.1:解线性规划得到分式解θ′inm。步骤3.2:计算Lm=「∑i∑nθ′inm],并根据以下步骤构建二分图,二分图左边的点(ain)代表每个用户的任务,右边Lm个点(bml)代表对应的cloudlet:a.将所有的任务点按照价格的大小排序;b.如果∑i∑nθ′inm≤1,将(ain,bml)放入边的集合W,并将边的权重设为θ*(ain,bml)=θ′inm。c.如果∑i∑nθ′inm>1,对所有l=2,...,Lm,将nil作为一个分割点,下标在这个之前的边放入集合W,并将边的权重设为θ*(ain,bml)=θ′inm,下标在这个之后的边权重更新为θ*(ain,bml)=1-∑i∑nθ′inm。d.重复上述过程直到二分图建立完成。步骤3.3:如本文档来自技高网...

【技术保护点】
一种基于移动云服务且有预算约束的多任务分配机制,其特征在于,包括以下步骤:步骤1:将收益最大化的多任务分配写成整数线性规划;
【技术特征摘要】
1.一种基于移动云服务且有预算约束的多任务分配机制,其特征在于,包括以下步骤:步骤1:将收益最大化的多任务分配写成整数线性规划;由于条件的复杂度较大,利用round-by-round算法将online分解为多轮分配,每一轮之间都依靠用户的budget相互连接,任务分配机制将一个时隙作为一轮分配;步骤2:初始化缩减因子为第一轮分配时用户对每个任务的估价用户估价与预算的最大比值参数步骤3:第t轮分配开始,开始时:t=1,将所有缩减因子的用户进行任务分配,并将已分配的用户的任务放入集合ψ中,用户每轮至多被分配一个任务;具体包括:步骤3.1:解线性规划得到...
【专利技术属性】
技术研发人员:李宗鹏,黄浩,
申请(专利权)人:武汉万般上品信息技术有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。