一种基于移动云计算且有预算约束的多任务分配机制的制作方法

文档序号:12595751阅读:449来源:国知局
一种基于移动云计算且有预算约束的多任务分配机制的制作方法与工艺

本发明属于计算机网络的移动云计算领域,尤其是一种基于移动云计算且有预算约束的多任务分配机制。



背景技术:

目前移动设备已经成为生活中必不可少的一部分,例如手机,平板电脑等无地域时间限制的通信工具。但是移动设备的内存,电池容量或带宽是有限的,不利于多任务的处理。云计算的出现为用户提供了快速的按需资源分配,例如CPU,RAM,内存和带宽等的资源分配。所以移动云计算(MCC)应运而生,其中ad hoc MCC(即cloudlet),能够支持通信密集或延迟敏感型的任务,更适合于移动用户使用。但是cloudlet的资源是动态且多样的,很多资源分配都是无效的甚至是无意义的,因此如何合理且有效的调度移动云资源是一个挑战;同时实际中,移动用户都是随机到来的并且有一个长期的budget,所以设计一个online的移动用户任务分配机制,并且使用户在后期仍有预算申请资源是一个难以解决的问题。

在设计多任务分配机制时需要保证计算可行性即任务分配和收益计算在多项式时间内完成,同时设计该机制的最终目标是受益最大,即使所有用户的总支付费用最大,这是一个NP-hard问题,如何设计一个满足上述约束的基于移动云平台的多任务分配机制是一个重要且极具挑战的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于移动云计算的多任务分配机制。首先将条件约束写成线性规划并通过解线性规划得到分数解,然后使用round-by-round算法将online算法拆分成以一个时隙为单位的单轮分配机制,每一轮依靠预算作为联系。在进行每一轮分配时将已知的分数解,rounding成整数解,利用Tailored dependent rounding算法,缩小整性间隙,取得较好的近似比。

本发明所采用的技术方案是:

一种基于移动云服务且有预算约束的多任务分配机制,其特征在于,包括以下步骤:

步骤1:将收益最大化的多任务分配写成整数线性规划;

由于条件的复杂度较大,利用round-by-round算法将online分解为多轮分配,每一轮之间都依靠用户的budget相互连接,任务分配机制将一个时隙作为一轮分配;

步骤2:初始化缩减因子为第一轮分配时用户对每个任务的估价用户估价与预算的最大比值参数

步骤3:第t轮分配开始(开始时:t=1),将所有缩减因子的用户进行任务分配,并将已分配的用户的任务放入集合ψ中,用户每轮至多被分配一个任务;具体包括:

步骤3.1:解线性规划得到分式解θ′inm

步骤3.2:计算Lm=[∑inθ′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、如果∑inθ′inm≤1,将(ain,bml)放入边的集合W,并将边的权重设为θ*(ain,bml)=θ′inm

步骤3.2.3、如果∑inθ′inm>1,对所有l=2,...,Lm,将nil作为一个分割点,下标在这个之前的边放入集合W,并将边的权重设为θ*(ain,bml)=θ′inm,下标在这个之后的边权重更新为θ*(ain,bml)=1-∑inθ′inm

步骤3.2.4、重复步骤3.2.1至步骤3.2.3直到二分图建立完成。

因此,本发明具有如下优点:利用round-by-round算法将每一轮分配通过预算联系在一起,解决了online算法的困难,在每一轮分配时使用tailoreddependent rounding算法,缩小了整数解与分数解之间的间隙(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中,对所有用户进行处理的过程如下(主要运用tailoreddependent rounding):

步骤3.1:解线性规划得到分式解θ′inm

步骤3.2:计算Lm=「∑inθ′inm],并根据以下步骤构建二分图,二分图左边的点(ain)代表每个用户的任务,右边Lm个点(bml)代表对应的cloudlet:

a.将所有的任务点按照价格的大小排序;

b.如果∑inθ′inm≤1,将(ain,bml)放入边的集合W,并将边的权重设为θ*(ain,bml)=θ′inm

c.如果∑inθ′inm>1,对所有l=2,...,Lm,将nil作为一个分割点,下标在这个之前的边放入集合W,并将边的权重设为θ*(ain,bml)=θ′inm,下标在这个之后的边权重更新为θ*(ain,bml)=1-∑inθ′inm

d.重复上述过程直到二分图建立完成。

步骤3.3:如果就将这条边放入匹配集合中并从边集合W中删除。

步骤3.4:当二分图中存在一个环(cycle)或是一个最长路径时,将这个环或是最长路径分为两个匹配集合(S1,S2),找到η与ζ,使得然后以概率在集合S1中更新θ*=θ*-η,在集合S2中更新θ*=θ*+η;以概率在集合S1中更新θ*=θ*+ζ,在集合S2中更新θ*=θ*-ζ。

步骤3.5:如果就将这条边放入匹配集合中并从边集合W中删除。如果从边集合W中删除。如果仍然存在一个环或者最长路径,返回步骤3.4继续执行,直到找不出一个环或是最长路径。

步骤3.6:如果边集合W中仍有剩余边,令该边的权重为1,即

步骤3.7:更新整数解

本发明研究了基于移动云服务且有预算约束的多任务分配机制,通过利用round-by-round算法的优点,每一轮都考虑了用户的预算约束,控制资源的合理分配,实现了收益的最大化,从而有效的解决了NP-hard问题。

应当理解的是,本说明书未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1