CN109840154B - 一种移动云环境下基于任务依赖的计算迁移方法 - Google Patents
一种移动云环境下基于任务依赖的计算迁移方法 Download PDFInfo
- Publication number
- CN109840154B CN109840154B CN201910018116.0A CN201910018116A CN109840154B CN 109840154 B CN109840154 B CN 109840154B CN 201910018116 A CN201910018116 A CN 201910018116A CN 109840154 B CN109840154 B CN 109840154B
- Authority
- CN
- China
- Prior art keywords
- task
- computing
- migration
- tasks
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明揭示了一种移动云环境下基于任务依赖的计算迁移方法,针对移动云环境下具有依赖关系的多任务计算迁移问题,进而基于一般的遗传算法思想提出了一个改进算法,从而得到响应时间和终端能量消耗总体较优的迁移方案。在考虑任务类型细分的基础上对不同微云的计算能力进行了细化表达,给出了计算任务模型以及计算资源模型,并且计算任务之间存在着时序和数据双重依赖关系,在时序和数据依赖约束下尽可能减少任务间的数据传输,提高任务的并行度,并在此基础上给出了迁移方案的效用函数计算方法,用数学形式表示出来;然后使用改进后的遗传算法,可求得最终的迁移方案,该方案有较优的响应时间和终端能耗。
Description
技术领域
本发明涉及一种移动云环境下基于任务依赖的计算迁移方法,可用于技术领域。
背景技术
近几年来,移动智能终端技术取得了巨大的进步,可提供满足用户各种需求的移动应用。然而,由于其尺寸的限制,移动终端总是存在诸如计算能力弱、存储空间小和电量不足等问题。资源受限的问题同时也限制了移动终端和移动应用的进一步发展,因此,如何扩展移动终端的资源,成为需要迫切解决的问题。
为了解决移动终端资源受限的问题,移动云计算技术应运而生,通过计算迁移,用户可以将应用迁移至远程云端或微云来进行处理,以此来弥补移动终端的资源缺陷,提高应用的服务质量。其中,与远程云端相比,微云具有与终端距离更近、传输延迟更小的优势。对于实时性要求很高而计算要求相对不高的应用而言,它们就非常适合迁移至微云处理。这类应用往往可再细分为若干相互存在时序和数据依赖关系的任务。针对这一类复杂应用,在迁移过程中,如何根据各任务之间的依赖关系,有效的结合不同微云的优势,为移动应用中的计算任务确定合理有效的迁移方案,降低移动设备上能量消耗和响应时间,是一个值得挑战的问题。
发明内容
本发明的目的就是为了解决现有技术中存在的上述问题,提出一种移动云环境下基于任务依赖的计算迁移方法。
本发明的目的将通过以下技术方案得以实现:一种移动云环境下基于任务依赖的计算迁移方法,该方法包括以下步骤:
S1:建立计算任务模型;
用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,用一个四元组vi=(di,wi, ri,tyi)来表示计算任务,计算任务根据其实现目的分为不同的类型;
S2:建立计算迁移***中的计算资源模型;
S3:在***模型的基础上给出迁移问题的数学形式描述;
由移动终端产生的计算任务,有在本地处理和迁移到微云端处理两种选择;用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,用效用函数U来表示最终的优化结果,效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案;
S4:基于一般的遗传算法提出一个改进算法;
根据S1~S3步骤,结合遗传算法,提出了一个基于任务依赖的多任务迁移方法,以期获得响应时间和终端能耗总体较优的迁移方案;遗传算法模拟生物的遗传规律,从初始个体出发,通过选择、交叉和变异操作来产生新的个体,如此不断进化下去,直到满足停止条件;
S5:得到最终迁移方案;
当迭代次数达到设定的值之后就会停止,然后将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
优选地,所述S1步骤具体包括:
用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,其中V={v1,v2,v3,...,vn}表示这一组计算任务的集合,n表示这一组计算任务的数量,ξ={h(vi,vj)|vi,vj∈V}表示计算任务之间的依赖关系集合,当h(vi,vj)=0时,表示任务vi和任务vj之间没有依赖关系,当 h(vi,vj)=1时,表示任务vi和任务vj之间只有时序依赖,当h(vi,vj)=2时,表示任务vi和任务vj之间存在时序和数据双重依赖;
用一个四元组vi=(di,wi,ri,tyi)来表示计算任务,其中di表示vi任务本身的数据量,单位为MB;wi表示处理该任务时所需要的计算量,单位为MB;ri表示任务vi的处理结果的数据量,单位为MB;tyi表示计算任务的类型;计算任务可以根据各自实现目的分为不同的类型。
优选地,在所述S2步骤中,
移动云计算环境下的计算资源主要由移动终端的本地资源和微云资源两部分组成,移动终端的本地资源和微云资源之间可以通过局域网进行通信;
Psend表示本地发送数据的功率,单位为w,Prec表示本地接收数据的功率;单位为w,通过fk ty表示微云资源,其中k表示微云的编号,k=1,2,...,m,表示微云的不同计算能力,单位为GHz,ty∈TY;移动终端和微云之间一般通过局域网进行通信,该局域网带宽统一通过Bc表示,Bc单位为MB/ms。
优选地,在所述S3步骤中,
在移动云计算环境下,由移动终端产生的计算任务,可以有在本地处理和迁移到微云端处理两种选择;用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,其中si∈{0,1,...,k,...,m},m表示微云的个数;
当si=0的时候,表示任务vi在本地进行处理,此时,可分别计算其响应时间和终端能耗;
当si=1,...,k,...,m的时候,表示任务vi将要被迁移到微云中进行处理,此时分别计算其响应时间和终端能耗;
当任务vi的前驱任务vj与任务vi之间存在数据依赖并且处理位置不同时,需要考虑任务vj向任务vi之间的数据传递,若任务vi有多个此类前驱,则需要计算多个数据传递;
针对一组具有时序和数据依赖的任务,迁移方法综合了响应时间和移动终端能耗这两方面的考虑,以期能够在节约能耗的同时获得较好的应用性能,在本发明中,采用效用函数U来表示最终的优化结果;
最终目标是响应时间最小并且终端能耗最低,效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案。
优选地,在所述S4步骤中,所述改进算法包括以下步骤:
S41:首先进行种群初始化操作,即初始化计算任务的处理位置;
对于一个任务vi的处理位置,随机产生si={0,...,m}的随机整数,用相同的方法遍历所有的计算任务,可获得作为染色体的初始位置集合S0,种群由矩阵pop表示;
S42:在所述S41步骤的基础上,然后进行适应性值的计算;
每个染色体代表一个解,满足最优适应性值的个体即为最优解,目标函数(5)即为适应度函数,由该函数计算得到的值称为适应性值;
S43:在所述S42步骤的基础上进行选择操作,来选择适应性值较优的部分染色体,采用轮盘赌法来进行选择操作,重复次数为popsize,得到的个体进行下一步操作;
S44:在所述S43步骤的基础上,选择操作之后得到的个体进行交叉操作,首先,根据交叉概率pc选择两个即将进行交叉操作的个体作为父代个体,接着在两个父代个体的同一位置选取一个交叉点,该交叉点之后的第个基因所对应的计算任务满足如下条件:在交叉点之后交换这两个父代个体的基因,获得两个新的子代个体;
S45:在所述S44步骤的基础上,交叉操作之后进行变异操作,首先,根据变异概率pm选择一个即将进行变异操作的染色体,然后在该染色体中选择一个基因si,该基因所对应的计算任务满足如下条件: 将该基因进行变异,使新基因si’=sj,之后便可得到一个新的个体。
S46:重复S1~S5步骤,直到满足停止条件。
优选地,在所述S5步骤中,当迭代次数达到设定的值之后就会停止,每一次迭代都会将当前的最优适应性值以及该值的个体保存下来,迭代停止后,将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明在考虑任务类型细分的基础上对不同微云的计算能力进行了细化表达,并在此基础上给出了迁移方案的效用函数计算方法,进而基于一般的遗传算法思想提出了一个改进算法,以在时序和数据依赖约束下尽可能减少任务间的数据传输,提高任务的并行度,从而得到响应时间和终端能量消耗总体较优的迁移方案。
附图说明
图1为本发明的计算迁移***模型的结构示意图。
图2为本发明的计算迁移算法步骤图。
具体实施方式
本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。
本发明揭示了一种移动云环境下基于任务依赖的计算迁移方法,该方法首先在考虑任务类型细分的基础上对不同微云的计算能力进行了细化表达,并在此基础上给出了迁移方案的效用函数计算方法;然后基于一般的遗传算法思想提出了一个改进算法,以在时序和数据依赖约束下尽可能减少任务间的数据传输,提高任务的并行度;最后得到响应时间和终端能量消耗总体较优的迁移方案。
在本发明中,计算任务的处理位置只考虑终端本地和微云端,并且计算任务之间存在着时序和数据双重依赖关系。在这种场景下,如何迁移处理计算任务,以期得到较优的响应时间和终端能耗,即较低的效应值,是我们将要解决的主要问题。
具体地,该方法包括以下步骤:
S1:在考虑任务类型细分的基础上建立了计算任务模型;
用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,用一个四元组vi=(di,wi, ri,tyi)来表示计算任务,计算任务可以根据其实现目的分为不同的类型;
S2:建立计算迁移***中的计算资源模型;
如图1所示,移动云计算环境下的计算资源主要包括移动终端的本地资源和微云资源两部分,通过一个四元组来表示移动终端的本地资源,通过fk ty来表示微云资源,移动终端的本地资源和微云资源之间通过局域网进行通信;
S3:在***模型的基础上给出迁移问题的数学形式描述;
由移动终端产生的计算任务,可以有在本地处理和迁移到微云端处理两种选择;用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,用效用函数U来表示最终的优化结果,效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案;
S4:基于一般的遗传算法提出一个改进算法;
根据S1~S3步骤,结合遗传算法,提出了一个基于任务依赖的多任务迁移方法,以期获得响应时间和终端能耗总体较优的迁移方案。遗传算法模拟生物的遗传规律,从初始个体出发,通过选择、交叉和变异操作来产生新的个体,如此不断进化下去,直到满足停止条件;
S5:得到最终迁移方案;
当迭代次数达到设定的值之后就会停止,然后将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
在所述S5步骤中,当迭代次数达到设定的值之后就会停止,每一次迭代都会将当前的最优适应性值以及该值的个体保存下来,迭代停止后,将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
所述S1步骤具体包括:
用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,其中V={v1,v2,v3,...,vn}表示这一组计算任务的集合,n表示这一组计算任务的数量,ξ={h(vi,vj)|vi,vj∈V}表示计算任务之间的依赖关系集合,当h(vi,vj)=0时,表示任务vi和任务vj之间没有依赖关系,当 h(vi,vj)=1时,表示任务vi和任务vj之间只有时序依赖,当h(vi,vj)=2时,表示任务vi和任务vj之间存在时序和数据双重依赖;
用一个四元组vi=(di,wi,ri,tyi)来表示计算任务,其中di表示vi任务本身的数据量,单位为MB;wi表示处理该任务时所需要的计算量,单位为MB;ri表示任务vi的处理结果的数据量,单位为MB;tyi表示计算任务的类型;计算任务可以根据各自实现目的分为不同的类型;假设有四种不同的任务类型,用TY={A、B、C、D}来表示,tyi∈TY,由于指令集不同等原因,认为本地或微云对于不同类型的计算任务,其处理能力也是不同的。
在所述S2步骤中,
本技术方案中的移动云计算环境下的计算资源主要由移动终端的本地资源和微云资源两部分组成,移动终端的本地资源和微云资源之间可以通过局域网进行通信。
Psend表示本地发送数据的功率,单位为w,Prec表示本地接收数据的功率;单位为w,通过fk ty表示微云资源,其中k表示微云的编号,k=1,2,...,m,表示微云的不同计算能力,单位为GHz,ty∈TY;移动终端和微云之间一般通过局域网进行通信,该局域网带宽统一通过Bc表示,Bc单位为MB/ms。
在所述S3步骤中,
在移动云计算环境下,由移动终端产生的计算任务,可以有在本地处理和迁移到微云端处理两种选择;用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,其中si∈{0,1,...,k,...,m},m表示微云的个数;
当si=0的时候,表示任务vi在本地进行处理,此时,可分别计算其响应时间和终端能耗;
当si=1,...,k,...,m的时候,表示任务vi将要被迁移到微云中进行处理,此时也可分别计算其响应时间和终端能耗。
当任务vi的前驱任务vj与任务vi之间存在数据依赖并且处理位置不同时,需要考虑任务vj向任务vi之间的数据传递,若任务vi有多个此类前驱,则需要计算多个数据传递。
针对一组具有时序和数据依赖的任务,迁移方法综合了响应时间和移动终端能耗这两方面的考虑,以期能够在节约能耗的同时获得较好的应用性能,在本发明中,采用效用函数U来表示最终的优化结果。
因为最终目标是响应时间最小并且终端能耗最低,效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案。
在所述S4步骤中,如图2所示,所述改进算法包括以下步骤:
S41:首先进行种群初始化操作,即初始化计算任务的处理位置;
对于一个任务vi的处理位置,随机产生si={0,...,m}的随机整数,用相同的方法遍历所有的计算任务,可以获得作为染色体的初始位置集合S0,在本发明中,种群由矩阵pop 表示。
S42:在所述S41步骤的基础上,然后进行适应性值的计算;
每个染色体代表一个解,满足最优适应性值的个体即为最优解,目标函数(5)即为适应度函数,由该函数计算得到的值称为适应性值。
S43:在所述S42步骤的基础上进行选择操作,来选择适应性值较优的部分染色体,采用轮盘赌法来进行选择操作,重复次数为popsize,得到的个体进行下一步操作。
S44:在所述S43步骤的基础上,选择操作之后得到的个体进行交叉操作,首先,根据交叉概率pc选择两个即将进行交叉操作的个体作为父代个体,接着在两个父代个体的同一位置选取一个交叉点,该交叉点之后的第一个基因所对应的计算任务满足如下条件:在交叉点之后交换这两个父代个体的基因,获得两个新的子代个体。
S45:在所述S44步骤的基础上,交叉操作之后进行变异操作,首先,根据变异概率pm选择一个即将进行变异操作的染色体,然后在该染色体中选择一个基因si,该基因所对应的计算任务满足如下条件: 将该基因进行变异,使新基因si’=sj,之后便可得到一个新的个体。
S46:重复S1~S5步骤,直到满足停止条件。
本发明的***模型及问题描述如下:
(1)计算任务模型
计算任务代表着在移动应用中,能实现某种特定目的的一个模块或一段程序。一个移动应用在一个时间段内,可能会产生一组计算任务,并且任务与任务之间存在着时序或数据依赖。本发明中用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,其中 V={v1,v2,v3,...,vn}表示这一组计算任务的集合,n表示这一组计算任务的数量,ξ={h(vi,vj)|vi,vj∈V}表示计算任务之间的依赖关系集合,当h(vi,vj)=0时,表示任务vi和任务vj之间没有依赖关系,当h(vi,vj)=1时,表示任务vi和任务vj之间只有时序依赖,当 h(vi,vj)=2时,表示任务vi和任务vj之间存在时序和数据双重依赖。
在本发明中,用一个四元组vi=(di,wi,ri,tyi)来表示计算任务,其中di(单位为MB) 表示vi任务本身的数据量,wi(单位为MB)表示处理该任务时所需要的计算量,ri(单位为MB)表示任务vi的处理结果的数据量,tyi表示计算任务的类型。计算任务可以根据其实现目的分为不同的类型,例如视频、图片、游戏等。在本发明中,假设有四种不同的任务类型,用TY={A、B、C、D}来表示,tyi∈TY。由于指令集不同等原因,认为本地或微云对于不同类型的计算任务,其处理能力也是不同的。
(2)计算资源模型
根据上述场景描述,本发明假设移动云计算环境下的计算资源主要由移动终端的本地资源和微云资源两部分组成,它们两者之间可以通过局域网进行通信,如图1所示。由于普通云端往往距离较远,因此会造成延迟过大,所以暂不考虑。
移动终端的本地资源可通过一个四元组表示,其中,(单位为GHz,表示单位时间内可以处理的数据量,ty∈TY)表示移动终端对不同类型任务的计算能力,Plocal(单位为w)表示本地的计算功率,Psend(单位为w)表示本地发送数据的功率,Prec(单位为w)表示本地接收数据的功率。
微云资源可通过fk ty表示,其中k表示微云的编号,k=1,2,...,m,(单位为GHz)表示微云的不同计算能力,ty∈TY。此外,移动终端和微云之间一般通过局域网进行通信,该局域网带宽可统一通过Bc(单位为MB/ms)表示。
(3)问题描述
在移动云计算环境下,由移动终端产生的计算任务,可以有在本地处理和迁移到微云端处理两种选择。本发明用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,其中si∈ {0,1,...,k,...,m},m表示微云的个数。当si=0的时候,表示任务vi在本地进行处理,此时,其响应时间可由公式(1)表示:
此时,移动终端的能量消耗可以用公式(2)表示:
e(i,0)=t(i,0)*Plocal (2)
当si=1,...,k,...,m的时候,表示任务vi将要被迁移到微云中进行处理,此时其响应时间可由公式(3)表示:
此时,移动终端的能量消耗可以用公式(4)表示:
其中,LLAN表示任务通过局域网从移动终端迁移到微云时,在传输过程中的时间延迟;Lwait表示计算任务在微云的等待时间,即如果多个并行的任务迁移到同一个微云去处理,则这几个任务需要依次处理,排在队列中的任务需要等待前面的任务处理完毕。当任务vi的前驱任务vj与任务vi之间存在数据依赖并且处理位置不同时,需要考虑任务 vj向任务vi之间的数据传递,若任务vi有多个此类前驱,则需要计算多个数据传递。
针对一组具有时序和数据依赖的任务,本发明中的迁移方法主要综合了响应时间和移动终端能耗这两方面的考虑,以期能够在节约能耗的同时获得较好的应用性能。
在本发明中,采用效用函数来表示最终的优化结果,如公式(5)所示:
其中α和β分别代表响应时间和终端能耗的权重,并满足以下条件:
α+β=1,0≤α≤1,0≤β≤1 (6)
因为最终目标是响应时间最小并且终端能耗最低,所以效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案。
根据以上描述,结合遗传算法,本发明提出了一个基于任务依赖的多任务迁移方法,以期获得响应时间和终端能耗总体较优的迁移方案。遗传算法是一种参照生物进化规律而设计的随机搜索方法,被广泛用于解决此类求全局最优解的问题。遗传算法模拟生物的遗传规律,从初始个体出发,通过选择、交叉和变异操作来产生新的个体,如此不断进化下去,直到满足停止条件。
首先需要基于应用中的任务数量设置与种群大小、染色体(chromosome)长度等相对应的参数值,然后根据参数值生成初代种群,种群中的每个染色体对应于迁移方案,染色体中的每个基因对应于任务所在的处理位置,之后可根据公式(5)得出种群中每个个体的适应性值,即效用函数U。然后,根据个体适应性值进行选择操作,适应性较优的个体根据计算任务之间的双重依赖关系进行交叉、变异操作,操作之后产生的新个体遗传到下一代种群。如此不停的迭代,直到满足停止条件,产生结果。
以下将对部分步骤进行具体描述:
(1)种群初始化
种群初始化操作就是初始化计算任务的处理位置,对于一个任务vi的处理位置,随机产生si={0,...,m}的随机整数,用相同的方法遍历所有的计算任务,可以获得作为染色体的初始位置集合S0,并且染色体的长度即基因数量由所有计算任务的数量确定。由于种群由多个染色体组成,因此在本发明中,种群由矩阵pop表示。
(2)适应性值的计算
在遗传算法中,每个染色体代表一个解,满足最优适应性值的个体即为最优解。为了在选择过程中衡量每一个个体的优异程度,需要设计一个能直接反应个体性能的适应度函数(fitness function),在本发明中,目标函数(5)即为适应度函数,由该函数计算得到的值称为适应性值(fitness value)。
在计算个体的适应性值之前,要将每个计算任务的具体描述以及任务之间的依赖关系输入进来。为了得到个体的适应性值,首先我们要遍历该个体的每一个基因值,根据其基因值所代表的任务处理位置,使用公式(1)或公式(3)可得出每个计算任务的响应时间,其中,若多个并行的任务迁移到同一个微云进行处理,则会出现等待现象,此时需要将处理时间较少的任务优先处理,以降低等待时间;然后根据公式(2)或公式(4)可得出处理每个计算任务的终端能耗。
然后求这一组任务全部处理完时的响应时间总和与终端能耗总和,此时需要结合两个计算任务之间的依赖关系以及是否可以联合迁移,将可以节省的那部分响应时间和终端能耗去掉。最后根据公式(5)得出该个体的适应性值。种群中的其他个体适应性值可用同样的方式计算得出。
(3)选择操作
选择操作是选择适应性值较优的部分染色体,并将其进行交叉、变异操作产生适应性更佳的下一代染色体。本发明采用轮盘赌法来进行选择操作:首先,用公式(7)计算第j个个体被选择的概率,Uj表示第j个个体的适应性值;
然后,计算个体k的累积概率以构造轮盘,如公式(8)所示:
最后进行轮盘选择,在[0,1]区间内产生一个随机数ms,若ms满足如下条件:qk-1<ms ≤qk,则选择个体k进入子代种群。重复上述后两个步骤,重复次数为popsize,得到的个体进行下一步操作。
选择操作算法如下:
(4)交叉操作
交叉操作是将两个染色体的部分基因进行交互,以期望得到具有更佳适应性值的下一代染色体。首先,根据交叉概率pc选择两个即将进行交叉操作的个体作为父代个体,接着在两个父代个体的同一位置选取一个交叉点,该交叉点之后的第一个基因所对应的计算任务满足如下条件:在交叉点之后交换这两个父代个体的基因,获得两个新的子代个体。
例如,选择两个即将进行交叉操作的父代个体Sp和Sq,并随机选取交叉点:
Sp=(s1,s2,s3,s4,s5,s6,|s7,s8,s9,s10),
Sq=(s1’,s2’,s3’,s4’,s5’,s6’,|s7’,s8’,s9’,s10’)。
其中,“|”代表交叉点,基因s5所对应的计算任务是基因s7所对应计算任务的前驱任务,两者之间存在数据依赖,s5≠s7且s5’≠s7’,将“|”之后的基因进行交叉,得到如下两个新的子代个体:
Sp*=(s1,s2,s3,s4,s5,s6,|s7’,s8’,s9’,s10’),
Sq*=(s1’,s2’,s3’,s4’,s5’,s6’,|s7,s8,s9,s10)。
交叉操作算法如下:
(5)变异操作
变异操作是将染色体中的某个基因值做出变动,首先,根据变异概率pm选择一个即将进行变异操作的染色体,然后在该染色体中选择一个基因si,该基因所对应的计算任务满足如下条件:将该基因进行变异,使新基因si’=sj,之后便可得到一个新的个体。
例如,选择一个即将进行变异操作的父代个体Sp,并选取变异基因:
Sp=(s1,s2,s3,s4,s5,s6,s7,s8,s9,s10),
其中,s6表示变异基因,基因s3所对应的计算任务与基因s6所对应的计算任务之间存在数据依赖,且s3≠s6。将其进行变异,得到如下新个体:
Sp*=(s1,s2,s3,s4,s5,s6’,s7,s8,s9,s10)。
此时,s6’=s3。
采用上述变异操作所获得的新个体具有较好的适应性,也可以有效提高算法的收敛速度。
变异操作算法如下:
(6)得出结果
对于迭代的停止条件,一般有两种方式:第一种是设置一个期望结果的界限,当结果达到这个界限时,迭代停止;第二种就是设置迭代次数限制,当迭代次数达到限制次数时,迭代停止。
在本发明中使用的是第二种迭代停止方式,首先设置一个最大迭代次数,当迭代次数达到设定的值之后就会停止,然后将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
本发明针对移动云环境下具有依赖关系的多任务计算迁移问题,进而基于一般的遗传算法思想提出了一个改进算法,从而得到响应时间和终端能量消耗总体较优的迁移方案。在考虑任务类型细分的基础上对不同微云的计算能力进行了细化表达,给出了计算任务模型以及计算资源模型,并且计算任务之间存在着时序和数据双重依赖关系,在时序和数据依赖约束下尽可能减少任务间的数据传输,提高任务的并行度,并在此基础上给出了迁移方案的效用函数计算方法,用数学形式表示出来;然后使用改进后的遗传算法,可求得最终的迁移方案,该方案有较优的响应时间和终端能耗。
本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
Claims (2)
1.一种移动云环境下基于任务依赖的计算迁移方法,其特征在于:
该方法包括以下步骤:
S1:建立计算任务模型;
用一个带权有向无环图G(V,ξ)来表示产生的一组计算任务,其中V={v1,v2,v3,...,vn}表示这一组计算任务的集合,n表示这一组计算任务的数量,ξ={h(vi,vj)|vi,vj∈V}表示计算任务之间的依赖关系集合,当h(vi,vj)=0时,表示任务vi和任务vj之间没有依赖关系,当h(vi,vj)=1时,表示任务vi和任务vj之间只有时序依赖,当h(vi,vj)=2时,表示任务vi和任务vj之间存在时序和数据双重依赖;
用一个四元组vi=(di,wi,ri,tyi)来表示计算任务,其中di表示vi任务本身的数据量,单位为MB;wi表示处理该任务时所需要的计算量,单位为MB;ri表示任务vi的处理结果的数据量,单位为MB;tyi表示计算任务的类型;计算任务根据各自实现目的分为不同的类型;
S2:建立计算迁移***中的计算资源模型;
移动云计算环境下的计算资源由移动终端的本地资源和微云资源两部分组成,移动终端的本地资源和微云资源之间通过局域网进行通信;
通过一个四元组(flocal ty,Plocal,Psend,Prec)来表示移动终端的本地资源,其中,flocal ty表示单位时间内处理的数据量,单位为GHz,ty∈TY表示移动终端对不同类型任务的计算能力,Plocal表示本地的计算功率,单位为w;
Psend表示本地发送数据的功率,单位为w;Prec表示本地接收数据的功率,单位为w;k表示微云的编号,k=1,2,...,m,fk ty表示微云的不同计算能力,单位为GHz,ty∈TY;移动终端和微云之间通过局域网进行通信,该局域网带宽统一通过Bc表示,Bc单位为MB/ms;
S3:在***模型的基础上给出迁移问题的数学形式描述;
在移动云计算环境下,由移动终端产生的计算任务,有在本地处理和迁移到微云端处理两种选择;用一个一维向量S=(s1,s2,s3,...,sn)来表示迁移方案,其中si∈{0,1,...,k,...,m},m表示微云的个数;
当si=0的时候,表示任务vi在本地进行处理,此时,分别计算其响应时间和终端能耗;
当si=1,...,k,...,m的时候,表示任务vi将要被迁移到微云中进行处理,此时分别计算其响应时间和终端能耗;
当任务vi的前驱任务vj与任务vi之间存在数据依赖并且处理位置不同时,需要考虑任务vj向任务vi之间的数据传递,若任务vi有多个此类前驱,则需要计算多个数据传递;
采用效用函数U来表示最终的优化结果,最终目标是响应时间最小并且终端能耗最低,效应函数U越小即代表迁移方案越接近最优,而此时所对应的迁移方案S即为最终迁移方案;
S4:设计遗传改进算法;
根据S1~S3步骤,结合遗传算法,以期获得响应时间和终端能耗总体较优的迁移方案;遗传算法模拟生物的遗传规律,从初始个体出发,通过选择、交叉和变异操作来产生新的个体,如此不断进化下去,直到满足停止条件;
S41:首先进行种群初始化操作,即初始化计算任务的处理位置;
对于一个任务vi的处理位置,随机产生si={0,...,m}的随机整数,用相同的方法遍历所有的计算任务,获得作为染色体的初始位置集合S0,种群由矩阵pop表示;
S42:在所述S41步骤的基础上,然后进行适应性值的计算;
每个染色体代表一个解,满足最优适应性值的个体即为最优解,目标函数即为适应度函数,由该函数计算得到的值称为适应性值;
S43:在所述S42步骤的基础上进行选择操作,来选择适应性值较优的部分染色体,采用轮盘赌法来进行选择操作,重复次数为popsize,得到的个体进行下一步操作;
S44:在所述S43步骤的基础上,选择操作之后得到的个体进行交叉操作,首先,根据交叉概率pc选择两个即将进行交叉操作的个体作为父代个体,接着在两个父代个体的同一位置选取一个交叉点,该交叉点之后的第一个基因所对应的计算任务满足如下条件:在交叉点之后交换这两个父代个体的基因,获得两个新的子代个体;
S45:在所述S44步骤的基础上,交叉操作之后进行变异操作,首先,根据变异概率pm选择一个即将进行变异操作的染色体,然后在该染色体中选择一个基因si,该基因所对应的计算任务满足如下条件: 将该基因进行变异,使新基因si’=sj,之后便可得到一个新的个体;
S46:重复S1~S5步骤,直到满足停止条件;
S5:得到最终迁移方案;
当迭代次数达到设定的值之后就会停止,然后将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
2.根据权利要求1所述的一种移动云环境下基于任务依赖的计算迁移方法,其特征在于:在所述S5步骤中,当迭代次数达到设定的值之后就会停止,每一次迭代都会将当前的最优适应性值以及该值的个体保存下来,迭代停止后,将适应性U最优的个体输出,得到迁移方案S即为最终的迁移方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910018116.0A CN109840154B (zh) | 2019-01-08 | 2019-01-08 | 一种移动云环境下基于任务依赖的计算迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910018116.0A CN109840154B (zh) | 2019-01-08 | 2019-01-08 | 一种移动云环境下基于任务依赖的计算迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840154A CN109840154A (zh) | 2019-06-04 |
CN109840154B true CN109840154B (zh) | 2022-10-14 |
Family
ID=66883605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910018116.0A Active CN109840154B (zh) | 2019-01-08 | 2019-01-08 | 一种移动云环境下基于任务依赖的计算迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840154B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110366210B (zh) * | 2019-06-20 | 2023-01-06 | 华南理工大学 | 一种针对有状态数据流应用的计算卸载方法 |
CN112291293B (zh) * | 2019-07-27 | 2023-01-06 | 华为技术有限公司 | 任务处理方法、相关设备及计算机存储介质 |
CN110837413B (zh) * | 2019-11-20 | 2023-03-24 | 福州大学 | 边缘环境下深度神经网络应用的计算迁移调度方法 |
CN113031522B (zh) * | 2019-12-25 | 2022-05-31 | 沈阳高精数控智能技术股份有限公司 | 适用于开放式数控***周期性依赖任务的低功耗调度方法 |
CN111917854B (zh) * | 2020-07-25 | 2023-04-07 | 西安邮电大学 | 一种面向mcc的协作型迁移决策方法及*** |
CN112256345A (zh) * | 2020-10-10 | 2021-01-22 | 深圳供电局有限公司 | 一种基于最先适应算法和遗传算法的计算任务卸载方法 |
CN112256926B (zh) * | 2020-10-21 | 2022-10-04 | 西安电子科技大学 | 一种云环境中科学工作流数据集的存储方法 |
CN113163004B (zh) * | 2021-04-09 | 2023-01-24 | 北京易华录信息技术股份有限公司 | 一种工业互联网边缘任务卸载决策方法、装置及存储介质 |
CN113742077B (zh) * | 2021-09-08 | 2024-03-01 | 吉林大学 | 一种基于5g车联网的计算迁移方法 |
CN114579512A (zh) * | 2022-03-16 | 2022-06-03 | 中国人民解放军总医院 | 影像数据的分级存储方法、装置、电子设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
CN106936892A (zh) * | 2017-01-09 | 2017-07-07 | 北京邮电大学 | 一种自组织云多对多计算迁移方法及*** |
-
2019
- 2019-01-08 CN CN201910018116.0A patent/CN109840154B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
CN106936892A (zh) * | 2017-01-09 | 2017-07-07 | 北京邮电大学 | 一种自组织云多对多计算迁移方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109840154A (zh) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840154B (zh) | 一种移动云环境下基于任务依赖的计算迁移方法 | |
Li et al. | Deep reinforcement learning: Framework, applications, and embedded implementations | |
CN107679750B (zh) | 一种基于自适应系数遗传算法的云制造服务资源匹配方法 | |
CN107609650B (zh) | 基于时间负载均衡的粒子遗传算法优化方法、装置及*** | |
CN106484512B (zh) | 计算单元的调度方法 | |
CN112784362A (zh) | 一种用于无人机辅助边缘计算的混合优化方法及*** | |
Hardiansyah et al. | Solving economic load dispatch problem using particle swarm optimization technique | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
Subramoney et al. | Multi-swarm PSO algorithm for static workflow scheduling in cloud-fog environments | |
CN113672295A (zh) | 基于遗传算法的移动云环境下协同计算卸载方法 | |
Fan et al. | Algorithm and hardware co-design for reconfigurable cnn accelerator | |
CN112379996A (zh) | 基于动态目标策略的云计算资源调度优化方法及应用 | |
CN110222816B (zh) | 深度学习模型的建立方法、图像处理方法及装置 | |
CN107180286B (zh) | 基于改进型花粉算法的制造服务供应链优化方法及*** | |
CN114546609A (zh) | 一种面向异构集群的dnn推理任务批调度方法 | |
Yang et al. | Trust-based scheduling strategy for cloud workflow applications | |
CN109885401B (zh) | 基于lpt局部优化的结构化网格负载平衡方法 | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment | |
CN115001978B (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
Niu et al. | Cloud resource scheduling method based on estimation of distirbution shuffled frog leaping algorithm | |
CN115171433A (zh) | 一种车雾辅助无人机灾后救援任务卸载方法 | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载***及方法 | |
CN115016889A (zh) | 一种用于云计算的虚拟机优化调度方法 | |
CN112506644B (zh) | 基于云边端混合计算模式***的任务调度方法和*** | |
CN114327853A (zh) | 云边混合***中面向复杂任务的低成本用户关联和计算迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |