CN112083967A - 一种云边端计算任务的卸载方法、计算机设备及存储介质 - Google Patents

一种云边端计算任务的卸载方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN112083967A
CN112083967A CN202010830440.5A CN202010830440A CN112083967A CN 112083967 A CN112083967 A CN 112083967A CN 202010830440 A CN202010830440 A CN 202010830440A CN 112083967 A CN112083967 A CN 112083967A
Authority
CN
China
Prior art keywords
calculation
task
rand
computing
initialized
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.)
Granted
Application number
CN202010830440.5A
Other languages
English (en)
Other versions
CN112083967B (zh
Inventor
陈嘉
吴谦
高强
欧明辉
刘国英
周雨涛
曹易
周瑾瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Power Supply Co ltd
Original Assignee
Shenzhen Power Supply Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Power Supply Co ltd filed Critical Shenzhen Power Supply Co ltd
Priority to CN202010830440.5A priority Critical patent/CN112083967B/zh
Publication of CN112083967A publication Critical patent/CN112083967A/zh
Application granted granted Critical
Publication of CN112083967B publication Critical patent/CN112083967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physiology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Genetics & Genomics (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种云边端计算任务的卸载方法、计算机设备及存储介质,包括,步骤S1,对多个移动设备产生的多个计算任务进行初始化;步骤S2,对经过初始化的计算任务进行变异计算,获得对应的变异个体;步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较计算,选择两者中消耗值较低的作为最优个体;步骤S5,对任一经过初始化的计算任务重复进行变异计算、交叉计算及比较计算,并累计重复次数;步骤S6,在所述新一代种群中,判断是否结束计算,以计算的最优个体作为最优卸载的边缘服务器。本发明使问题可以得到近似解,加快了算法的收敛速度。

Description

一种云边端计算任务的卸载方法、计算机设备及存储介质
技术领域
本发明涉及电力系统自动化技术领域,特别是涉及一种云边端计算任务的卸载方法、计算机设备及存储介质。
背景技术
随着通信技术和物联网的快速发展,计算任务的数量越来越多,并且由于计算机科学的不断进步,新兴算法的计算量越来越大,计算任务的计算量也因此加大。然而大多数移动设备的计算能力较低,电池容量较小,这就导致了移动设备无法完成延迟敏感的任务。通过移动边缘计算或云计算,使用计算卸载把计算任务卸载到边缘服务器或云服务器上可以有效的解决该问题。通过将移动设备上的计算任务经由无线通道基础设施卸载到附近基站的边缘服务器上或云服务器上,可以增加移动设备任务的服务质量(QoS)和体验质量(QoE),并大幅度降低移动设备的能耗。因此,深入研究计算任务的卸载方式是有必要的。
为了解现有技术的发展状况,对已有的论文和专利进行了检索、比较和分析,筛选出如下与本发明相关度比较高的技术信息:
技术方案1:专利号为CN106534333A的《一种基于MEC和 MCC的双向选择计算卸载方法》专利,设计涉及一种基于MEC和 MCC的双向选择计算卸载方法,主要通过五步完成:第一,当检测到运算程序的计算量超过门限,向网络侧发送卸载所述运算程序的请求;第二,接收到网络侧根据该请求分配的可供卸载的序列;第三,根据接收到的可供卸载的序列,计算本地能耗和卸载能耗,进而计算每种可供卸载能耗收益并发送给网络侧;同时,计算本地运算延时,进而计算每种可供卸载的延时与本地计算延时差并发送给网络侧;第四,接收到网络侧根据所述能耗收益和延时收益获得的卸载决定矩阵,回送的卸载判决消息;第五,根据卸载判决消息进行卸载。
技术方案2:专利号为CN110460650A的《多边缘服务器场景下计算卸载的决策方法及装置》专利,设计涉及一种多边缘服务器场景下计算卸载的决策方法及装置,主要通过两步完成:第一,在多边缘服务器场景下,基于随机博弈技术,在多个用户终端中的每个用户终端对应的服务器集中,决策每个用户终端对应的目标服务器。对于多个用户终端中的每个用户终端,将上一状态下所述用户终端基于服务器卸载成本公式,从所述用户终端对应的服务器集中选取的最小卸载成本对应的服务器,作为当前状态下所述用户终端对应的服务器。若当前状态下每个用户终端对应的服务器与上一状态下对应用户终端对应的服务器一致,则将当前状态下每个用户终端对应的服务器作为所述目标服务器;第二,基于所述随机博弈技术,在每个用户终端对应的目标服务器的信道集中,决策每个用户终端对应的目标信道,以使得每个用户终端,基于对应的目标服务器和目标信道,执行计算卸载。根据多个用户终端中每个用户终端对应的目标服务器,确定每个用户终端对应的信道集。对于每个用户终端,将上一状态下所述用户终端基于信道卸载成本公式,从所述用户终端对应的信道集中选取的最小卸载成本对应的信道,作为当前状态下所述用户终端对应的信道。若当前状态下每个用户终端对应的信道与上一状态下对应用户终端对应的信道一致,则将当前状态下每个用户终端对应的信道作为所述目标信道。
技术方案3:专利号为CN110493360A的《多服务器下降低系统能耗的移动边缘计算卸载方法》专利,设计涉及一种多服务器下降低系统能耗的移动边缘计算卸载方法,主要通过两步完成:第一,在 MEC协同架构下,每个基站配置一台MEC服务器,MEC服务器根据当前资源和通信状态确定任务在本地计算卸载还是在其他服务器上远程计算;第二,当需要远程计算卸载时,按照任务执行时延大小和所占资源大小对MEC服务器进行优先级排序,并将任务分配给优先级高的MEC服务器计算卸载。
但上述现有技术也存在诸多缺陷,具体如下:
技术方案1采用一种基于MEC和MCC的双向选择计算卸载方法,当检测到运算程序的计算量超过门限,向网络侧发送卸载所述运算程序的请求;接收到网络侧根据该请求分配的可供卸载的序列;根据接收到的可供卸载的序列,计算本地能耗和卸载能耗,进而计算每种可供卸载能耗收益并发送给网络侧;同时,计算本地运算延时,进而计算每种可供卸载的延时与本地计算延时差并发送给网络侧;接收到网络侧根据所述能耗收益和延时收益获得的卸载决定矩阵,回送的卸载判决消息;根据卸载判决消息进行卸载。该方法能够实现终端线性加权和网络侧层次分析的多准则、多目标、双向选择的计算量卸载,但其过程较为复杂,消息从用户测到网络测交互的次数过多,得出卸载结果的时间较长。
技术方案2采用一种多边缘服务器场景下计算卸载的决策方法及装置,在多边缘服务器场景下,基于随机博弈技术,在多个用户终端中的每个用户终端对应的服务器集中,决策每个用户终端对应的目标服务器;基于随机博弈技术,在每个用户终端对应的目标服务器的信道集中,决策每个用户终端对应的目标信道,以使得每个用户终端,基于对应的目标服务器和目标信道,执行计算卸载。该发明提供的方法及装置,通过随机博弈技术,决策出每个用户终端进行计算卸载的最佳服务器和最佳信道,使得每个用户终端在通过决策出的目标服务器和目标信道进行计算卸载时,能量消耗小且处理时间短,但其卸载的位置没有考虑到云服务器,而云服务器对计算量巨大的任务拥有不可替代的优势。
技术方案3采用一种多服务器下降低系统能耗的移动边缘计算卸载方法,MEC服务器根据当前资源和通信状态确定任务在本地计算卸载还是在其他服务器.上远程计算;当需要远程计算卸载时,按照任务执行时延大小和所占资源大小对MEC服务器进行优先级排序,并将任务分配给优先级高的MEC服务器计算卸载,适用于在协作框架下计算资源不充足但对总的任务时延有较高要求的系统,但其没有联合考虑所有计算任务的卸载,虽然保证了单个任务是最优卸载但无法保证所有任务的卸载是最优的。
单独对任意移动设备中任意一个计算任务进行计算卸载,共有 B+2种方案,所以可以轻松的找到开销最小的卸载方案。但是当场景中共有多个移动设备,每个移动设备中的任务个数不定、到达时间不定,每个移动设备和边缘服务器对于任务的计算资源分配量是随着其运行状态动态决定的,这就对实现总计算开销最小增加了难度。
对于单个移动设备的多个计算任务,可以很容易使用一些简单的算法来解决,如贪心算法。但在大量的移动设备且每个移动设备产生多个计算任务时,优化目标是非线性的,由于简单的算法得到确切解的前提很苛刻,此时无法解决或得到的解很差。
发明内容
本发明的目的在于,提出一种云边端计算任务的卸载方法、计算机设备及存储介质,解决现有技术中移动设备的计算压力大、计算时延长及能量消耗大的技术问题。
本发明的一方面,提供一种云边端计算任务的卸载方法,包括:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
优选的,所述步骤S1包括:
根据以下公式对所述移动设备的连接决策进行初始化:
hj=rand([1,B])
其中,hj为Uj的连接决策,Uj为第j个移动设备;rand([1,B])为从1,2,...,B中随机选一个数;B={1,2,...,,...,},B为边缘服务器的序列数。
优选的,所述步骤S1包括:
根据以下公式对所述移动设备的卸载决策进行计算初始化:
对于30%的数据:ax=rand({0,rand([1,B]),B+1})
对于70%的数据:ax=rand({0,hj,B+1})
其中,rand([1,B])为从1,2,...,B中随机选一个数;B为边缘服务器; hj为第j个移动设备与边缘服务器连接;ax为第x个计算任务的计算位置;rand({0,rand([1,B]),B+1})为从0,rand([1,B]),B+1中选择一个,若选择的是rand([1,B]),则从1,2,...,B中随机选一个数。
优选的,所述步骤S2包括:
根据以下公式对经过初始化的计算任务进行变异计算:
Figure RE-GDA0002769014040000061
Figure RE-GDA0002769014040000062
其中,rand(0,1)为在0到1之间随机取一个小数;ax为第x个计算任务的计算位置;hj为第j个移动设备与边缘服务器连接;P为云服务器;MP为编译算子;MI为连接决策和卸载决策的收敛迭代差值。
优选的,所述步骤S3包括:
根据以下公式对所述任一经过初始化的计算任务进行交叉计算:
Figure RE-GDA0002769014040000071
Figure RE-GDA0002769014040000072
其中,jrand=rand([1,U]);jrand为提前随机取的一个固定值;CP为交叉算子;hj为第j个移动设备与边缘服务器连接;ax为第x个计算任务的计算位置;rand(0,1)为在0到1之间随机取一个小数;P为云服务器。
优选的,所述步骤S4包括:
根据以下公式对任一经过初始化的计算任务与相对应的变异个体进行比较计算:
Figure RE-GDA0002769014040000073
其中,
Figure RE-GDA0002769014040000074
为变异个体的消耗值;
Figure RE-GDA0002769014040000075
为经过初始化的计算任务的消耗值;
Figure RE-GDA0002769014040000076
为经过初始化的计算任务;
Figure RE-GDA0002769014040000077
为变异个体。
优选的,所述步骤S5包括:
根据以下公式计算所述最优个体消耗值:
minΨ
s.t.C1:αte=1
Figure RE-GDA0002769014040000078
Figure RE-GDA0002769014040000079
其中,Ψ为总消耗值;αt为时间消耗加权系数;αe为能量消耗加权系数;hj为第j个移动设备与边缘服务器连接;aj为第j个计算任务计算的位置;B为边缘服务器;j为移动设备的序列数;x为计算任务的序列数;U为移动设备。
本发明的另一方面还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的步骤:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
相应的本发明的一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下的步骤:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
综上,实施本发明的实施例,具有如下的有益效果:
本发明提供的云边端计算任务的卸载方法、计算机设备及存储介质,通过改进的遗传算法处理计算卸载问题,使问题可以得到近似解,加快了算法的收敛速度;产生任务的移动设备将任务卸载到所连的边缘服务器的传输消耗更低,随后根据差分进化算法拥有更快的收敛速度的特点改进了遗传算法变异、交叉和选择的过程,改进有效的加快了遗传算法的收敛速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
图1为本发明提供的云边端计算任务的卸载方法的主流程示意图。
图2为本发明提供的云边端计算任务的卸载方法的逻辑示意图。
图3为本发明一个实施例中遗传算法收敛速度对比图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。差分进化算法通过采用浮点矢量进行编码生成种群个体,其进化流程则与遗传算法非常类似,都包括变异、杂交和选择操作,但这些操作的具体定义与遗传算法有所不同。遗传算法根据适应度来控制父代交叉、变异后产生的子代被选择的概率值,在最大化问题中适应度越高的个体被选择的概率越大。而差分进化算法变异向量是由父代差分向量生成,并与父代个体向量交叉生成新个体向量,直接与其父代个体进行选择。显然差分进化算法相对遗传算法的逼近效果更加显著。
本发明所要解决的问题是求解离散变量的全局优化问题,遗传算法可以针对离散方案做出选择,得到近似最优解。考虑到遗传算法没有差分进化算法的收敛效果好,但差分进化算法只能处理连续变量的最优化问题,所以根据差分进化算法的思想对遗传算法进行了改进。根据差分进化算法的思想,将遗传算法选择、交叉、变异的顺序改为差分进化算法中的变异、交叉、选择的顺序,并将变异、交叉、选择的具体内容进行了改进。变异操作与简单遗传算法基本相同,不同之处在于简单遗传算法变异是在变量取值范围内随机取值,将其改进为使用初始化方法赋值。这样改进的好处在于初始化方法赋值比随机赋值更接近最优解。
如图1和图2所示,为本发明提供的一种云边端计算任务的卸载方法的一个实施例的示意图。在该实施例中,所述方法包括以下步骤:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
具体实施例中,遗传算法在初始化时通常是将所有变量随机初始化,但本实施例中需要初始的内容之间有一些关联;从概率学的角度讲,移动设备产生的计算任务卸载到与其相连的基站(边缘服务器) 上产生的开销比卸载到不与其相连的基站(边缘服务器)上产生的开销小,因为基站(边缘服务器)所有状态相同的情况下,卸载到不与其相连的基站上,任务处理的总时间多出了基站之间数据传输产生的时间。所以我们对初始化过程,将大部分的数据初始化为任务卸载的位置是与其相连的基站;
当前周期内的任务数量为X,所有移动设备的连接决策为
Figure RE-GDA0002769014040000111
卸载决策为
Figure RE-GDA0002769014040000112
Uj的连接决策为hj,当前周期内第x个到达的任务的卸载决策为ax。为了方便书写和表达,将
Figure RE-GDA0002769014040000121
Figure RE-GDA0002769014040000122
进行表示,即
Figure RE-GDA0002769014040000123
具体的,根据以下公式对所述移动设备的连接决策进行初始化:
hj=rand([1,B])
其中,hj为Uj的连接决策,Uj为第j个移动设备;rand([1,B])为为从1,2,...,B中随机选一个数;B为边缘服务器的序列数;
根据以下公式对所述移动设备的卸载决策进行计算初始化:
对于30%的数据:ax=rand({0,rand([1,B]),B+1})
对于70%的数据:ax=rand({0,hj,B+1})
其中,rand([1,B])为从1,2,...,B中随机选一个数;B为边缘服务器的序列数;hj为第j个移动设备与边缘服务器连接;ax为第x个计算任务的计算位置;rand({0,rand([1,B]),B+1})为从0,rand([1,B]),B+1中选择一个,若选择的是rand([1,B]),则从1,2,...,B中随机选一个数。
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
具体实施例中,初始化方法赋值比随机赋值更接近最优解;MP和 CP分别为变异算子和交叉算子,它们是控制一个试验向量来自随机选择的变异向量而不是原来向量的概率的参数,取值范围为(0,1);在第k次迭代时,通过变异操作,由父代个体
Figure RE-GDA0002769014040000124
生成了子代变异个体
Figure RE-GDA0002769014040000125
根据以下公式对经过初始化的计算任务进行变异计算:
Figure RE-GDA0002769014040000131
Figure RE-GDA0002769014040000132
其中,rand(0,1)为在0到1之间随机取一个小数;ax为第x个计算任务的计算位置;hj为第j个移动设备与边缘服务器连接;P为云服务器的序列数;MP为编译算子;MI为连接决策和卸载决策的收敛迭代差值;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
具体实施例中,单遗传算法的交叉操作是在父代中随机选取两个个体,然后按照某种规则将其上的基因相互交换,形成新的个体。而本实施例的交叉计算是将父代中的一些基因替换成变异后的子代的基因;通过交叉操作,由
Figure RE-GDA0002769014040000133
Figure RE-GDA0002769014040000134
生成了子代交叉个体
Figure RE-GDA0002769014040000135
根据以下公式对所述任一经过初始化的计算任务进行交叉计算:
Figure RE-GDA0002769014040000136
Figure RE-GDA0002769014040000137
其中,jrand=rand([1,U]);jrand为提前随机取的一个固定值,这是为了使至少有一维数据与父代不同;CP为交叉算子;hj为第j个移动设备与边缘服务器连接;ax为第x个计算任务的计算位置;rand(0,1) 为在0到1之间随机取一个小数;P为云服务器的序列数。
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
具体实施例中,简单遗传算法与差分进化算法的主要差别之一:选择操作(比较计算)并不是随机选择,而是在父代与交叉后的子代中做出选择,保留消耗低的个体,这样有助于加快迭代速度,通过选择操作,由
Figure RE-GDA0002769014040000141
Figure RE-GDA0002769014040000142
生成了下一代个体
Figure RE-GDA0002769014040000143
根据以下公式对任一经过初始化的计算任务与相对应的变异个体进行比较计算:
Figure RE-GDA0002769014040000144
其中,
Figure RE-GDA0002769014040000145
为变异个体的消耗值;
Figure RE-GDA0002769014040000146
为经过初始化的计算任务的消耗值;
Figure RE-GDA0002769014040000147
为经过初始化的计算任务;
Figure RE-GDA0002769014040000148
变异个体。
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值ε;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值ε时,,则返回步骤S2,再次执行变异计算;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值ε时,则判断k值是否小于设定上限K,若k值小于设定上限K,则返回步骤S2,再次执行变异计算;若k值大于等于设定上限K,计算结束,以第k次计算的最优个体作为最优卸载的边缘服务器;
具体实施例中,根据以下公式计算所述最优个体消耗值:
minΨ
s.t.C1:αte=1
Figure RE-GDA0002769014040000149
Figure RE-GDA00027690140400001410
其中,Ψ为总消耗值;αt为时间消耗加权系数;αe为能量消耗加权系数;hj为第j个移动设备与边缘服务器连接;aj为第j个计算任务计算的位置;B为边缘服务器;j为移动设备的序列数;x为计算任务的序列数;U为移动设备的序列数。
本发明提供的这种云边端计算任务的卸载方法,具体实现的网络结构有三层,分别是移动设备层,边缘计算层和云计算层。设移动设备为U={1,2,...,j,...,U},Uj为第j个移动设备,边缘服务器为 B={1,2,...,i,...,B},Bi为第i个边缘服务器,云服务器为P。所有移动设备的任务总数量为X={1,2,...,x,...,X},第x个计算任务为
Figure RE-GDA0002769014040000151
其中dx表示任务的数据大小,cx表示任务所需要的计算周期,tx表示任务产生的时刻,
Figure RE-GDA0002769014040000152
表示任务所要求的时延最大值。d(mean)表示所有任务的平均数据大小,c(mean)表示所有任务平均的计算周期。一个移动设备同一时刻最多连接一个基站,Uj与基站连接表示为hj,hj∈[1,B],hj表示Uj连接
Figure RE-GDA0002769014040000153
Dx计算的位置表示为ax, ax∈[0,B+1],当ax=0时为在Uj上计算,当1≤ax≤B时为在
Figure RE-GDA0002769014040000154
上计算,当ax=B+1时为在P上计算。
设T为Dx最终的时间总消耗,E为最终的能量总消耗。T由传输时间消耗和计算消耗时间组成,传输时间消耗可以通过香农公式计算处理,计算时间消耗可以通过cx和CPU频率计算出来。E可以通过计算时间消耗和CPU功率计算出来。将T与E进行通过加权得到总消耗
Figure RE-GDA0002769014040000155
Figure RE-GDA0002769014040000156
其中αt是时间消耗加权系数,αe是能量消耗加权系数,并且αte=1。ε(t)是阶跃函数,t<0时,函数值为0;t=0时,函数值为
Figure RE-GDA0002769014040000161
t>0时,函数值为1。ζ(x,y)在x≤y时为1,在x>y时为指数函数。Dx在Uj、Bi和P上的总消耗可以通过公式(1)计算处理出来,分别为
Figure RE-GDA0002769014040000162
Figure RE-GDA0002769014040000163
和φ(p)
所有移动设备、基站和云服务器的总消耗是
Figure RE-GDA0002769014040000164
其中I{η}是指示函数,当η为真时I{η}=1,否则I{η}=0。根据系统模型,问题可以公式化成以下公式,也就是步骤S6所述的公式:
minΨ
s.t.C1:αte=1
Figure RE-GDA0002769014040000165
Figure RE-GDA0002769014040000166
综上所述,本实施例提出的方法,首先当代的种群经过变异操作生成下一代变异种群;然后他们进行交叉操作生成下一代交叉种群;最后通过选择操作,将开销低的个体选择出来作为下一代种群的个体;在选择操作中,如果产生了比之前最优个体开销还低的个体,就将最优个体更新;算法停止迭代的情况有两种:第一种是迭代次数达到了迭代次数上限K,第二种是当前最优个体的开销比在此之前M代最优个体的开销低不到ε,此时认为已经收敛停止迭代。
本发明的另一个实施例中,移动设备首次连接基站时,默认选择带宽最大的进行连接,每分钟每个移动设备产生任务的平均数量为 33.33,具体的参数如下表所示。在实施例中,如果没有重新说明,那么参数就是按以上的数据设定的。
Figure RE-GDA0002769014040000171
为了保证有效性,首先对收敛情况进行了仿真计算。考虑到遗传算法的计算复杂度为指数级,基站的数量被设置为10,即B=10,并且在实验期间,移动设备的数量为从30到90。如图3所示,显示了移动设备为30、60、90的情况下的收敛速度。其中X轴表示算法的迭代次数,Y轴表示全局最低消耗,图中的每一点表示在当前迭代次数的情况下,所有个体中消耗最低的个体的消耗值。从图可以看出,当移动设备的数量为30、60、90的情况下,遗传算法分别大约在迭代了700、1300、1900次后收敛,收敛后的全局总体消耗分别为67.5、 146.5、201.6。移动设备数量的增加导致了计算任务的增加,在多次实验的情况下,移动设备为60和90时的全局最低消耗大约为30时的2倍和3倍。实验说明了算法具有较稳定的收敛性,并且在基站数量为10的情况下,收敛的迭代次数大约为20U+100次。
本实施例设置为使对比差异更加明显,增加了遗传算法的处理时间,设置了T=2。对于相同的一些任务,本发明的算法比简单遗传算法的开销要低,并且随着移动设备数量的增长,差异越来越明显。
相应地,本发明的又一方面还提供一种计算机设备,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种云边端计算任务的卸载方法。
本领域技术人员可以理解的是,上述计算机设备的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比上述情况中更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的步骤:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较计算,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
相应地,本发明的又一方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下的步骤;
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,将所述多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较计算,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
可以理解的是,上述计算机设备以及计算机可读存储介质中涉及的各步骤的更多细节可以参考前述对于云边端计算任务的卸载方法的限定,在此不再赘述。
其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM (SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接 RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上,实施本发明的实施例,具有如下的有益效果:
本发明提供的云边端计算任务的卸载方法、计算机设备及存储介质,通过改进的遗传算法处理计算卸载问题,使问题可以得到近似解,加快了算法的收敛速度;产生任务的移动设备将任务卸载到所连的边缘服务器的传输消耗更低,随后根据差分进化算法拥有更快的收敛速度的特点改进了遗传算法变异、交叉和选择的过程,改进有效的加快了遗传算法的收敛速度。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (9)

1.一种云边端计算任务的卸载方法,其特征在于,包括以下步骤:
步骤S1,对多个移动设备产生的多个计算任务进行初始化,将任一计算任务的卸载位置设置为与该计算设备连接的边缘服务器;
步骤S2,对任一经过初始化的计算任务进行变异计算,产生与所述任一经过初始化的计算任务对应的变异个体;
步骤S3,对所述任一经过初始化的计算任务进行交叉计算,并将多个经过初始化的计算任务替换成相对应的变异个体;
步骤S4,对任一经过初始化的计算任务与相对应的变异个体进行比较,选择两者中消耗值较低的作为最优个体,将所有最优个体组成新一代种群;
步骤S5,在所述新一代种群中,对比第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值是否小于收敛判别阈值;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值大于等于收敛判别阈值时,则返回步骤S2进行步骤循环;当第k次计算的最优个体消耗值与预设次数计算的最优个体消耗值之间的差值小于收敛判别阈值时,则判断k值是否小于设定上限,若k值小于设定上限,则返回步骤S2进行步骤循环;若k值大于等于设定上限,则输出第k次计算的最优个体作为最优卸载的边缘服务器。
2.如权利要求1所述的方法,其特征在于,所述步骤S1包括:
根据以下公式对所述移动设备的连接决策进行初始化:
hj=rand([1,B])
其中,Uj为第j个移动设备;hj为Uj的连接决策,即第j个移动设备与边缘服务器连接;rand([1,B])为从1,2,...,B中随机选一个数;B={1,2,...,i,...,B},B为边缘服务器的序列数。
3.如权利要求2所述的方法,其特征在于,所述步骤S1包括:
根据以下公式对所述移动设备的卸载决策进行计算初始化:
对于30%的数据:ax=rand({0,rand([1,B]),B+1})
对于70%的数据:ax=rand({0,hj,B+1})
其中,ax为第x个计算任务的计算位置;rand({0,rand([1,B]),B+1})为从0,rand([1,B]),B+1中选择一个,若选择的是rand([1,B]),则从1,2,...,B中随机选一个数。
4.如权利要求3所述的方法,其特征在于,所述步骤S2包括:
根据以下公式对经过初始化的计算任务进行变异计算:
Figure FDA0002637756130000021
Figure FDA0002637756130000022
其中,rand(0,1)为在0到1之间随机取一个小数;ax为第x个计算任务的计算位置;hj为第j个移动设备与边缘服务器连接;P为云服务器的序列数;MP为编译算子;MI为连接决策和卸载决策的收敛迭代差值。
5.如权利要求4所述的方法,其特征在于,所述步骤S3包括:
根据以下公式对所述任一经过初始化的计算任务进行交叉计算:
Figure FDA0002637756130000023
Figure FDA0002637756130000024
其中,jrand=rand([1,U]);jrand为提前随机取的一个固定值;CP为交叉算子;hj为第j个移动设备与边缘服务器连接;ax为第x个计算任务的计算位置;rand(0,1)为在0到1之间随机取一个小数;P为云服务器的序列数。
6.如权利要求5所述的方法,其特征在于,所述步骤S4包括:
根据以下公式对任一经过初始化的计算任务与相对应的变异个体进行比较:
Figure FDA0002637756130000031
其中,
Figure FDA0002637756130000032
为变异个体的消耗值;
Figure FDA0002637756130000033
为经过初始化的计算任务的消耗值;
Figure FDA0002637756130000034
为经过初始化的计算任务;
Figure FDA0002637756130000035
为变异个体。
7.如权利要求6所述的方法,其特征在于,所述步骤S5包括:
根据以下公式计算所述最优个体消耗值:
minΨ
s.t.C1:αte=1
C2:
Figure FDA0002637756130000036
C3:
Figure FDA0002637756130000037
其中,Ψ为总消耗值;αt为时间消耗加权系数;αe为能量消耗加权系数;hj为第j个移动设备与边缘服务器连接;aj为第j个计算任务计算的位置;B为边缘服务器;j为移动设备的序列数;x为计算任务的序列数;U为移动设备的序列数。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010830440.5A 2020-08-18 2020-08-18 一种云边端计算任务的卸载方法、计算机设备及存储介质 Active CN112083967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010830440.5A CN112083967B (zh) 2020-08-18 2020-08-18 一种云边端计算任务的卸载方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010830440.5A CN112083967B (zh) 2020-08-18 2020-08-18 一种云边端计算任务的卸载方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112083967A true CN112083967A (zh) 2020-12-15
CN112083967B CN112083967B (zh) 2023-10-20

Family

ID=73728323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010830440.5A Active CN112083967B (zh) 2020-08-18 2020-08-18 一种云边端计算任务的卸载方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112083967B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612549A (zh) * 2020-12-30 2021-04-06 润联软件系统(深圳)有限公司 多边缘服务任务选择卸载方法、装置及相关设备
CN113342504A (zh) * 2021-07-02 2021-09-03 西安邮电大学 基于缓存的智能制造边缘计算任务调度方法及系统
CN113434209A (zh) * 2021-06-22 2021-09-24 南方电网科学研究院有限责任公司 一种端边二层协同计算卸载方法、装置、终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800071A (zh) * 2019-01-03 2019-05-24 华南理工大学 一种基于改进遗传算法的云计算任务调度方法
CN110069325A (zh) * 2018-09-05 2019-07-30 西南民族大学 基于任务分类的移动边缘计算任务调度方法
CN110418356A (zh) * 2019-06-18 2019-11-05 深圳大学 一种计算任务卸载方法、装置及计算机可读存储介质
CN110719641A (zh) * 2019-10-15 2020-01-21 南京邮电大学 边缘计算中用户卸载与资源分配联合优化方法
CN110780938A (zh) * 2019-09-18 2020-02-11 河海大学 一种移动云环境下基于差分进化的计算任务卸载方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069325A (zh) * 2018-09-05 2019-07-30 西南民族大学 基于任务分类的移动边缘计算任务调度方法
CN109800071A (zh) * 2019-01-03 2019-05-24 华南理工大学 一种基于改进遗传算法的云计算任务调度方法
CN110418356A (zh) * 2019-06-18 2019-11-05 深圳大学 一种计算任务卸载方法、装置及计算机可读存储介质
CN110780938A (zh) * 2019-09-18 2020-02-11 河海大学 一种移动云环境下基于差分进化的计算任务卸载方法
CN110719641A (zh) * 2019-10-15 2020-01-21 南京邮电大学 边缘计算中用户卸载与资源分配联合优化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612549A (zh) * 2020-12-30 2021-04-06 润联软件系统(深圳)有限公司 多边缘服务任务选择卸载方法、装置及相关设备
CN112612549B (zh) * 2020-12-30 2022-06-24 润联软件系统(深圳)有限公司 多边缘服务任务选择卸载方法、装置及相关设备
CN113434209A (zh) * 2021-06-22 2021-09-24 南方电网科学研究院有限责任公司 一种端边二层协同计算卸载方法、装置、终端及存储介质
CN113434209B (zh) * 2021-06-22 2022-10-18 南方电网科学研究院有限责任公司 一种端边二层协同计算卸载方法、装置、终端及存储介质
CN113342504A (zh) * 2021-07-02 2021-09-03 西安邮电大学 基于缓存的智能制造边缘计算任务调度方法及系统
CN113342504B (zh) * 2021-07-02 2023-04-21 西安邮电大学 基于缓存的智能制造边缘计算任务调度方法及系统

Also Published As

Publication number Publication date
CN112083967B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN112083967A (zh) 一种云边端计算任务的卸载方法、计算机设备及存储介质
CN112882815B (zh) 基于深度强化学习的多用户边缘计算优化调度方法
CN111585816B (zh) 一种基于自适应遗传算法的任务卸载决策方法
CN112181666A (zh) 一种基于边缘智能的设备评估和联邦学习重要性聚合方法、系统、设备和可读存储介质
CN111399933B (zh) 一种边缘-云混合计算环境下的dnn任务卸载方法及终端
CN111325356A (zh) 一种基于演化计算的神经网络搜索分布式训练系统及训练方法
CN112181655A (zh) 一种移动边缘计算中基于混合遗传算法的计算卸载方法
CN114585006B (zh) 基于深度学习的边缘计算任务卸载和资源分配方法
CN113821318B (zh) 一种物联网跨域子任务组合协同计算方法及系统
CN112784362A (zh) 一种用于无人机辅助边缘计算的混合优化方法及系统
CN111988787B (zh) 一种任务的网络接入和服务放置位置选择方法及系统
CN114595049A (zh) 一种云边协同任务调度方法及装置
CN109298930A (zh) 一种基于多目标优化的云工作流调度方法及装置
CN112073452A (zh) 一种能源有效和资源受限的移动边缘计算任务分配方法
CN114567933A (zh) 基于改进遗传算法的异构云雾协同网络中的资源分配方法
CN111047040A (zh) 基于IFPA算法的Web服务组合方法
CN115421885A (zh) 一种分布式多目标云任务的调度方法、装置及云服务系统
CN113347255B (zh) 边缘服务器选址部署模型及其求解方法
CN111542078B (zh) 一种nfv环境下核心网控制面弹性资源分配方法
CN117521788A (zh) 一种具有双参考向量引导的多模态多目标进化方法
CN113139639A (zh) 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置
CN117675823A (zh) 算力网络的任务处理方法、装置、电子设备及存储介质
Wang et al. Multi-objective joint optimization of communication-computation-caching resources in mobile edge computing
CN109195222B (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
CB03 Change of inventor or designer information

Inventor after: Chen Jia

Inventor after: Xing Yifei

Inventor after: Wu Qian

Inventor after: Gao Qiang

Inventor after: Ou Minghui

Inventor after: Liu Guoying

Inventor after: Zhou Yutao

Inventor after: Cao Yi

Inventor after: Zhou Jinyu

Inventor after: Wang Dequan

Inventor before: Chen Jia

Inventor before: Wu Qian

Inventor before: Gao Qiang

Inventor before: Ou Minghui

Inventor before: Liu Guoying

Inventor before: Zhou Yutao

Inventor before: Cao Yi

Inventor before: Zhou Jinyu

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant