CN113821318A - 一种物联网跨域子任务组合协同计算方法及系统 - Google Patents

一种物联网跨域子任务组合协同计算方法及系统 Download PDF

Info

Publication number
CN113821318A
CN113821318A CN202110982229.XA CN202110982229A CN113821318A CN 113821318 A CN113821318 A CN 113821318A CN 202110982229 A CN202110982229 A CN 202110982229A CN 113821318 A CN113821318 A CN 113821318A
Authority
CN
China
Prior art keywords
energy consumption
subtask
time delay
subtasks
computing
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.)
Pending
Application number
CN202110982229.XA
Other languages
English (en)
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.)
Beijing University of Posts and Telecommunications
State Grid Ningxia Electric Power Co Ltd
China Electronics Standardization Institute
Original Assignee
Beijing University of Posts and Telecommunications
State Grid Ningxia Electric Power Co Ltd
China Electronics Standardization Institute
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 Beijing University of Posts and Telecommunications, State Grid Ningxia Electric Power Co Ltd, China Electronics Standardization Institute filed Critical Beijing University of Posts and Telecommunications
Publication of CN113821318A publication Critical patent/CN113821318A/zh
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Physiology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Genetics & Genomics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种物联网跨域子任务组合协同计算方法及系统,该方法包括:基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略。本发明将边缘设备划分为本地边缘与异地边缘,充分利用附近空闲的边缘设备,提高资源利用率,并建立该架构下的时延和能耗模型,同时将时延与能耗作为优化目标,得到任务组合协同计算策略,实现较低时延与较低能耗。

Description

一种物联网跨域子任务组合协同计算方法及系统
技术领域
本发明涉及物联网技术领域,尤其涉及一种物联网跨域子任务组合协同计算方法及系统。
背景技术
随着物联网技术的飞速发展,智能终端设备大量出现,海量数据涌入网络。这些智能终端设备的普及,催生了各种各样更加复杂的业务,而这些业务对网络的处理能力与稳定性都提出了更高的要求,导致传统的云计算技术与边缘计算技术难以承受海量数据传输与计算。
任务的组合协同计算技术结合了传统的云计算与边缘计算的优势,成为物联网处理计算密集型与时延敏感型业务的有效解决方案。在现有任务的组合协同计算架构当中,边缘计算作为终端设备与中心云之间的节点,其服务器被部署在物联网终端设备附近,终端设备产生的计算数据不需要全部传输至中心云,减少了网络中的数据传输,有效缓解了网络的拥塞问题,增强了网络的稳定性。但在物联网场景中,任务间的关联关系决定了其不可以随机分配,不同业务的时延、能耗和可靠性等需求也存在差别,且在任务组合协同计算架构中,涉及的网络设备众多,各设备处理能力各异、能耗各不相同,因此不同的任务协同计算策略对应的时延、能耗和可靠性等系统代价往往相差较大,导致现有任务的组合协同计算架构对于任务执行过程中产生的时延和能耗代价较高。
为了应对物联网场景中任务的时延与能耗需求,因此,现在亟需一种物联网跨域子任务组合协同计算方法及系统来解决上述问题。
发明内容
针对现有技术存在的问题,本发明提供一种物联网跨域子任务组合协同计算方法及系统。
本发明提供一种物联网跨域子任务组合协同计算方法,包括:
基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;
基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;
根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;
其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
根据本发明提供的一种物联网跨域子任务组合协同计算方法,所述基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型,包括:
根据每个子任务与不同计算终端之间的数据传输速率和每个子任务的传输数据量,构建每个子任务等待上一子任务完成或等待任务数据传输至对应计算终端时所需的等待时延函数;
根据不同计算终端对每个子任务的数据处理速率和每个子任务的待计算数据量,构建每个子任务在对应计算终端上完成计算任务时所需的计算时延函数;
根据不同计算终端向每个子任务发送的反馈数据量和每个子任务与不同计算终端之间的数据传输速率,构建每个子任务接收到计算结果反馈信息时所需的反馈时延函数;
根据所述等待时延函数、所述计算时延函数和所述反馈时延函数,构建完成所有子任务所需时长对应的时延模型。
根据本发明提供的一种物联网跨域子任务组合协同计算方法,所述基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型,包括:
根据本地终端的静态额定能耗、本地终端处理单位容量数据的能耗和每个子任务的待计算数据量,构建本地终端执行计算任务时对应的本地终端能耗函数;
根据本地边缘设备的静态额定能耗、本地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建本地边缘设备执行计算任务时对应的本地边缘能耗函数;
根据异地边缘设备的静态额定能耗、异地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建异地边缘设备执行计算任务时对应的异地边缘能耗函数;
根据云服务器的静态额定能耗、云服务器处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、本地边缘设备处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建云服务器执行计算任务时对应的中心云能耗函数;
根据所述本地终端能耗函数、所述本地边缘能耗函数、所述异地边缘能耗函数和所述中心云能耗函数,构建完成所有子任务所需能耗对应的能耗代价模型。
根据本发明提供的一种物联网跨域子任务组合协同计算方法,所述目标函数为:
min{βPt+(β-1)Pe};
Pt=Tn/Tmax
Pe=En/Emax
Figure BDA0003229563690000041
Figure BDA0003229563690000042
所述目标函数的约束条件为:
xi1+xi2+xi3+xi4=1;
xij∈{0,1};
Figure BDA0003229563690000043
Figure BDA0003229563690000044
Figure BDA0003229563690000045
其中,Tn表示执行完所有子任务所需的总时长,En表示执行完所有子任务所需的能耗总代价,β表示影响因子,Tmax表示预设的完成所有计算任务时所需的最大完成总时长,Emax表示预设的完成所有计算任务时所需的最大总能耗,xm,1表示第m个子任务在本地终端进行计算,xm,2表示第m个子任务在本地边缘设备进行计算,xm,3表示第m个子任务在异地边缘设备进行计算,xm,4表示第m个子任务在云服务器进行计算,Tm,l表示第m个子任务在本地终端进行计算所需的时长,Tm,le表示第m个子任务在本地边缘设备进行计算所需的时长,Tm,e表示第m个子任务在异地终端设备进行计算所需的时长,Tm,c表示第m个子任务在云服务器进行计算所需的时长,Em,l表示第m个子任务在本地终端进行计算时产生的能耗,Em,le表示第m个子任务在本地边缘设备进行计算时产生的能耗,Em,e表示第m个子任务在异地终端设备进行计算时产生的能耗,Em,c表示第m个子任务在云服务器进行计算时产生的能耗;k表示在第m个子任务进行计算前,上一个已完成计算的子任务;
Figure BDA0003229563690000051
表示子任务m开始执行前的等待时延,xk,1表示子任务k在本地终端进行计算,
Figure BDA0003229563690000052
表示子任务k在本地终端进行计算产生的时延,
Figure BDA0003229563690000053
表示子任务k在本地边缘设备进行计算产生的时延,
Figure BDA0003229563690000054
表示子任务k在异地边缘设备进行计算产生的时延,
Figure BDA0003229563690000055
表示子任务k在云服务器进行计算产生的时延,
Figure BDA0003229563690000056
表示子任务m的计算数据传输至对应计算终端的传输时延。
根据本发明提供的一种物联网跨域子任务组合协同计算方法,所述对所述目标函数求解,得到任务组合协同计算最优策略,包括:
根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法;
基于所述目标函数和预设基因编码方式,通过所述改进的遗传算法对种群进行遗传迭代更新,得到新的种群;
通过模拟退火法,对所述新的种群进行模拟退火,若当前遗传迭代次数达到最大迭代次数,得到任务组合协同计算最优策略。
根据本发明提供的一种物联网跨域子任务组合协同计算方法,所述根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法,包括:
根据子任务传输距离与能耗代价之间的关系,更改变异后个体的执行设备,其中,若当前执行子任务的设备为本地终端,则将变异后的个体设置在本地边缘设备上进行任务执行;
若当前执行子任务的设备为本地边缘设备,则将变异后的个体设置在异地边缘设备上进行任务执行;
若当前执行子任务的设备为异地边缘设备,则将变异后的个体设置在云服务器上进行任务执行;
若当前执行子任务的设备为云服务器,则将变异后的个体设置在本地终端上进行任务执行。
本发明还提供一种物联网跨域子任务组合协同计算系统,包括:
时延模型构建模块,用于基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;
能耗代价模型构建模块,用于基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;
最优策略生成模块,用于根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;
其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述物联网跨域子任务组合协同计算方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述物联网跨域子任务组合协同计算方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述物联网跨域子任务组合协同计算方法的步骤。
本发明提供的一种物联网跨域子任务组合协同计算方法及系统,对现有任务协同计算架构进行改进,将边缘设备进一步划分为本地边缘与异地边缘,细分边缘跨域协同,建立新的任务组合协同计算架构,充分利用了附近空闲的边缘设备,提高了资源利用率,并建立了该架构下精确的时延和能耗模型,同时将时延与能耗作为优化目标,得到任务组合协同计算策略,实现了较低时延与较低能耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的物联网跨域子任务组合协同计算方法的流程示意图;
图2为本发明提供的物联网子任务组合协同计算场景的示意图;
图3为本发明提供的终端设备的任务关系模型示意图图;
图4为本发明提供的结合遗传算法与模拟退火算法的任务组合协同算法的整体流程示意图;
图5为本发明提供的不同算法之间的对比示意图;
图6为本发明提供的变异概率取值对算法性能的影响示意图;
图7为本发明提供的异地边缘设备的数量对算法性能的影响示意图;
图8为本发明提供的影响因子取值对算法性能的影响示意图;
图9为本发明提供的物联网跨域子任务组合协同计算系统的结构示意图;
图10为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解现有技术的发展状况,对已有的论文和专利进行了检索、比较和分析,筛选出如下与本发明相关度比较高的技术信息:
技术方案1:专利号为CN112379985A的《一种云边缘计算环境下的计算任务分配方法及装置》专利,涉及一种面向云边协同计算的计算任务分配方法。该方法主要步骤为:获取计算任务和周围的可用资源设备;构建决策变量表征资源设备对任务的处理状态,并计算得到每个任务各自对应的决策变量矩阵;计算每个任务的目标函数组合矩阵中的处理效率变量,删除执行时间或能耗小于预定时间或预定能耗的任务,将执行成本与执行能耗最小时对应的资源设备作为分配设备输出。
在技术方案1中,采用了一种面向云边协同的计算任务分配方法,通过遍历计算所有可能的计算任务分配方案的任务处理效率,并删除不符合预定条件的分配方案,最终将执行成本与执行能耗最小的可用资源设备作为最终分配结果输出,该方法可以减少信息传输的延迟,提高任务处理效率,合理分配计算任务实现快速处理及持久计算。但是,技术方案1由于要计算所有分配策略的任务处理效率,需要多次遍历目标函数矩阵,因此执行速度较慢,计算开销较大。
技术方案2:专利号为CN112004239A的《一种基于云边协同的计算卸载方法及系统》专利,涉及一种基于云边协同的计算卸载方法及系统。该方法主要步骤为:收集各终端设备拟卸载的计算任务和当前可供卸载的计算节点;根据边缘计算节点、云计算节点所产生的处理时间和能耗作为卸载需求,对每个拟卸载计算任务的计算模式进行分类;根据分配结果确定每个拟卸载计算任务对应的计算节点。
在技术方案2中,采用了一种基于云边协同的计算卸载方法,根据任务的计算需求判断是否可以进行卸载,若可以卸载则对任务进行程序切割得到当前任务的分类,将计算量大的任务分配至云端计算,将需要低时延的任务分配至边缘计算,该方法根据任务的卸载需求与服务器的使用情况来执行不同的卸载任务,可以减少计算任务的执行时间,提高服务器的资源利用率。但技术方案2只对任务进行了简单分类来决策在边缘节点或云端执行,且没有考虑任务间的依赖关系等其它因素,因此得到的任务分配策略极有可能用较高的能耗换取较低时延,导致任务的计算成本较高。
技术方案3:专利号为CN111427679A的《面向边缘计算的计算任务调度方法、系统、装置》专利,涉及一种面向边缘计算的计算任务调度方法。该方法主要步骤为:获取待执行的计算任务,通过预设的第一选取规则选取满足执行要求的计算任务进行处理,不满足要求的任务卸载至边缘云;边缘云通过优先级计算方法对任务排序并选取满足要求的任务处理,不满足要求的任务被调度至边缘节点处理;对不满足要求的任务进行分割,根据分割情况将任务调度至对应的中心云/边缘云/边缘节点进行处理,否则任务处理失败。
在技术方案3中,采用了一种面向边缘计算的计算任务调度方法,该方法根据任务的用户等级、等待时间与最迟完成时间计算任务的优先级,先由边缘云处理优先级较高的任务,然后依次将其余任务排列后分配至边缘节点、中心云中执行。技术方案3通过云-边-端的协同处理合理利用了边缘侧的资源,提高了计算任务调度处理的实时性,但该方法得到的分配策略仅是满足任务计算时间约束的策略之一,并不能得到全局最优解,且边缘云对任务进行分割执行时存在任务处理失败的风险,影响用户体验。
现有任务协同场景,通常采用中心云-边缘设备-终端设备构成的三层任务组合协同架构,本发明在现有物联网任务协同计算三层架构的基础上,将边缘设备进一步划分为本地边缘设备与异地边缘设备两种,建立新的任务组合协同计算架构,并建立了该架构下的时延模型和能耗代价模型;其次,针对问题进行建模,将面向时延与能耗的最优任务组合协同问题,转化为以最小化时延与能耗代价为优化目标的函数求解问题;最后,针对上述问题,提出了结合遗传算法与模拟退火算法的任务组合协同算法,并根据任务的传输距离与能耗代价的关系对遗传算法进行改进,从而提高求解效率。
图1为本发明提供的物联网跨域子任务组合协同计算方法的流程示意图,如图1所示,本发明提供了一种物联网跨域子任务组合协同计算方法,包括:
步骤101,基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;
步骤102,基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;
步骤103,根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;
其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
在现有三层任务协同架构基础上,本发明提出的任务协同计算场景,进一步将边缘设备按照距离本地终端设备(即用户终端)的远近,划分为本地边缘设备与异地边缘设备。这样一方面降低了将任务传输至中心云计算的代价,另一方面充分利用了临近的空闲边缘设备,减少计算资源的浪费,细化并实现了边缘侧跨域协同。需要说明的是,在本发明中,与本地终端之间的传输距离最短的边缘设备作为本地边缘设备。
进一步地,图2为本发明提供的物联网子任务组合协同计算场景的示意图,可参考图2所示,在该场景中,考虑单个本地终端、单个本地边缘设备、多个异地边缘设备和中心云服务器,构成物联网任务组合协同计算场景。其中,任务在本地终端产生,可以在本地终端执行,也可在本地边缘设备执行;本地边缘设备上的任务,可能在本地边缘设备执行,也可以进一步在异地边缘设备或中心云服务器上执行。
进一步地,图3为本发明提供的终端设备的任务关系模型示意图图,如图3所示,该任务关系模型可以用有向无环图D=(M,P)来描述,用户的本地终端上产生的每个任务都可以被划分为m个子任务,即M={1,2,…,m},其中每个子任务对应图3中一个顶点。每个子任务都包含输入数据量(L,即传输数据量)、待计算数据量(D)、反馈数据量(F)三个性质,即mi={li,di,fi}。由于子任务之间存在优先级约束,边pi,j表示的是第i个子任务的优先级高于第j个子任务,必须执行完子任务i才可以开始执行子任务j。并且,由于用户的本地终端产生的部分数据中包含了隐私数据,例如,位置信息、监控视频画面等,这些包含隐私信息的任务不适合在其他设备上进行计算,只能在本地终端上进行本地计算。
进一步地,在一实施例中,通过步骤101,构建在完成所有子任务时,所需时长对应的时延模型,在本发明中,任务计算过程中产生的时延可分为三个部分进行计算,即等待时延、计算时延和反馈时延。本发明使用矩阵Xm×n={xij|xij=0,1}来表示任务的协同分配情况,即xij=1时,表示子任务i在设备j(即本地终端、本地边缘设备、异地边缘设备或云服务器)上进行计算,xij=0时,表示子任务i不在设备j上进行计算,其中,i的取值为1到m,分别表示m个子任务;j的取值为1,2,3,4,分别表示本地终端、本地边缘设备、异地边缘设备与中心云服务器四种设备。
由于每个子任务都必须且只能被分配至一个设备上执行,为保证任务的不可分割性,矩阵Xm×n中的元素还要满足对于取值范围内任意的i值,即
Figure BDA0003229563690000121
然后,通过步骤102,构建得到完成所有子任务所需能耗对应的能耗代价模型,在本发明中,不同计算设备在任务计算过程中的能耗,通常与静态额定能耗、传输能耗以及执行计算任务的计算能耗相关。其中,计算设备的静态额定能耗为一定值,即无论当前设备是否正在进行计算任务,只要设备处于开启状态就会产生的维持设备基本功能的额定能耗。为了简化计算模型,本发明默认该场景中计算设备传输任务数据,以及执行计算任务时始终以最大CPU频率进行工作,且由于计算设备接收计算数据时产生的能耗较小,可忽略不计。
最后,通过步骤103,将任务组合协同计算问题转化为时延与能耗为优化目标的函数求解问题,针对该问题本发明提出了结合遗传算法与模拟退火算法的任务组合协同算法。由于遗传算法的搜索过程是从整个种群出发,同时进行多个个体的比较,从而可快速锁定较优解的位置区间,加快求解效率,而模拟退火算法则可以以一定概率跳出局部最优解。因此,本发明中结合使用两种算法,可以加快求取任务组合协同计算策略最优解的收敛速度,提高求解效率。
本发明提供的物联网跨域子任务组合协同计算方法,对现有任务协同计算架构进行改进,将边缘设备进一步划分为本地边缘与异地边缘,细分边缘跨域协同,建立新的任务组合协同计算架构,充分利用了附近空闲的边缘设备,提高了资源利用率,并建立了该架构下精确的时延和能耗模型,同时将时延与能耗作为优化目标,得到任务组合协同计算策略,实现了较低时延与较低能耗。
在上述实施例的基础上,所述基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型,包括:
步骤1011根据每个子任务与不同计算终端之间的数据传输速率和每个子任务的传输数据量,构建每个子任务等待上一子任务完成或等待任务数据传输至对应计算终端时所需的等待时延函数。
在本发明中,子任务在开始计算前的等待时间由两个因素决定,一是将需要计算的数据传输到指定设备上的传输时间,另一方面还受到当前任务所有前驱任务执行结束时间的影响。
具体地,在本发明中,Re表示边缘设备之间的数据传输速率,Rl表示本地终端与本地边缘设备之间的数据传输速率,Rc表示边缘设备与中心云服务器之间的数据传输速率。进一步地,子任务m的输入数据量大小(即每个子任务的传输数据量)为Lm,则子任务m被传输至本地边缘设备所用时间
Figure BDA0003229563690000131
传输至异地边缘设备所用时间
Figure BDA0003229563690000132
传输至中心云服务器所用时间
Figure BDA0003229563690000133
Figure BDA0003229563690000134
由于子任务在本地终端上产生,故本地终端在本地执行的子任务不需要进行数据传输,即传输时延
Figure BDA0003229563690000135
且由于子任务之间存在优先级约束,故当前子任务必须等待其所有前驱子任务全部执行完成后,才可以开始执行。因此,子任务m的等待时延应取其传输时延与前驱任务执行时间中的较大值,即:
Figure BDA0003229563690000136
其中,
Figure BDA0003229563690000137
表示子任务m开始执行前的等待时延,
Figure BDA0003229563690000138
表示子任务m的计算数据传输至对应计算终端的传输时延,k表示在执行子任务m前的已执行完成的子任务k,Tk,l表示子任务k在本地终端执行完成所需的总时长,Tk,le表示子任务k在本地边缘设备执行完成所需的总时长,Tk,e表示子任务k在异地边缘设备执行完成所需的总时长,Tk,c表示子任务k在云服务器执行完成所需的总时长。
步骤1012,根据不同计算终端对每个子任务的数据处理速率和每个子任务的待计算数据量,构建每个子任务在对应计算终端上完成计算任务时所需的计算时延函数。
在本发明中,子任务m的待计算数据量为Dm,本地终端上的数据处理能力为fl,边缘设备(包括本地边缘设备和异地边缘设备)的数据处理能力为fe,中心云服务器的数据处理能力为fc。因此,在本地终端上执行子任务m的计算时延
Figure BDA0003229563690000141
在边缘设备上执行子任务m的计算时延
Figure BDA0003229563690000142
在中心云服务器执行子任务m的计算时延
Figure BDA0003229563690000143
步骤1013,根据不同计算终端向每个子任务发送的反馈数据量和每个子任务与不同计算终端之间的数据传输速率,构建每个子任务接收到计算结果反馈信息时所需的反馈时延函数。
在本发明中,子任务在相应设备上执行结束后,该设备需要将运行结果反馈至用户终端设备(即生成子任务的本地终端)。具体地,子任务m的反馈数据量为Fm,因此,本地边缘设备的计算结果反馈时延
Figure BDA0003229563690000144
异地边缘设备反馈计算结果的反馈时延
Figure BDA0003229563690000145
同理,中心云服务器向本地终端反馈计算结果的反馈时延为
Figure BDA0003229563690000146
步骤1014,根据所述等待时延函数、所述计算时延函数和所述反馈时延函数,构建完成所有子任务所需时长对应的时延模型。
在本发明中,在本地终端执行的子任务不需要进行数据传输与结果反馈,子任务在本地终端开始执行前的等待时延
Figure BDA0003229563690000147
Figure BDA0003229563690000148
其中k∈pre(m)。因此,子任务m在本地终端设备上执行的所用时间为:
Figure BDA0003229563690000149
对于本地边缘设备上执行的子任务,在开始执行前,必须先被传输至当前设备上(即子任务从本地终端传输到本地边缘设备),并且要保证当前子任务所有前驱任务都已经执行完成,故
Figure BDA00032295636900001410
Figure BDA00032295636900001411
其中k∈pre(m),且
Figure BDA00032295636900001412
因此,本地边缘设备上执行的子任务所用时间:
Figure BDA0003229563690000151
对于异地边缘设备上计算的子任务,其开始执行前的等待时间
Figure BDA0003229563690000152
其中k∈pre(m),且
Figure BDA0003229563690000153
因此,子任务m在异地边缘设备上执行所用时间为:
Figure BDA0003229563690000154
同理,中心云度武器执行的任务计算所用时间与在异地边缘设备上进行计算的时间类似,即:
Figure BDA0003229563690000155
因此,执行所有子任务所花费的总时间为在本地终端、本地边缘设备、异地边缘设备和中心云服务器上执行任务所花费的时间之和,从而构建得到完成所有子任务所需时长对应的时延模型:
Figure BDA0003229563690000156
在上述实施例的基础上,所述基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型,包括:
步骤1021,根据本地终端的静态额定能耗、本地终端处理单位容量数据的能耗和每个子任务的待计算数据量,构建本地终端执行计算任务时对应的本地终端能耗函数。
在本发明中,本地终端的静态额定能耗为γl,在以最大CPU频率执行计算任务时处理单位容量数据所消耗的能量为kl,子任务m的待计算数据量为Dm。由于任务数据在本地终端上产生,因此在本地终端上执行的任务不需要考虑数据传输产生的能耗。因此,在本地终端上执行的任务计算过程中,产生的能耗为本地终端的静态额定能耗与计算能耗之和,即本地终端能耗函数:
Em,l=γl+Dm*kl
步骤1022,根据本地边缘设备的静态额定能耗、本地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建本地边缘设备执行计算任务时对应的本地边缘能耗函数。
在本发明中,本地边缘设备的静态额定能耗为γe,在以最大CPU频率执行计算任务时处理单位容量数据所消耗的能量为ke,子任务m的输入数据量为Lm,带计算数据量为Dm。由于在本地边缘设备执行的任务数据需要从本地终端传输,任务数据的传输能耗为Lm*kl。因此,在本地边缘上执行的任务,其计算过程中产生的能耗代价为本地边缘设备的静态能耗、输入数据传输能耗与计算能耗之和,即本地边缘能耗函数:
Em,le=γl+Lm*kl+Dm*ke
步骤1023,根据异地边缘设备的静态额定能耗、异地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建异地边缘设备执行计算任务时对应的异地边缘能耗函数。
在本发明中,在异地边缘设备上执行的计算任务,其设备静态额定能耗与计算能耗与在本地边缘设备上执行的任务相同,但其输入数据传输能耗,需要增加数据从本地边缘设备传输至异地边缘设备的能耗,故在异地边缘设备执行的计算任务输入数据传输能耗为Lm*kl+Lm*ke。因此,异地边缘设备执行任务时,在计算过程中产生的能耗,即异地边缘能耗函数为:
Em,e=γl+Lm*kl+Lm*ke+Dm*ke
步骤1024,根据云服务器的静态额定能耗、云服务器处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、本地边缘设备处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建云服务器执行计算任务时对应的中心云能耗函数。
在本发明中,中心云的服务器静态额定能耗为γc,在以最大CPU频率执行计算任务时处理单位容量数据所消耗的能量为kc。与异地边缘设备上执行的任务类似,中心云服务器中执行的任务,其输入数据的传输也经过两个阶段,故它的数据传输能耗为Lm*kl+Lm*ke。因此,中心云服务器执行任务时,其能耗代价,即中心云能耗函数为:
Em,c=γc+Lm*kl+Lm*ke+Dm*kc
步骤1025,根据所述本地终端能耗函数、所述本地边缘能耗函数、所述异地边缘能耗函数和所述中心云能耗函数,构建完成所有子任务所需能耗对应的能耗代价模型。
在本发明中,执行所有任务产生的能耗代价,为所有任务计算过程中产生的能耗代价的总和,即能耗代价模型:
Figure BDA0003229563690000171
在上述实施例的基础上,所述目标函数为:
min{βPt+(β-1)Pe};
Pt=Tn/Tmax
Pe=En/Emax
Figure BDA0003229563690000172
Figure BDA0003229563690000181
所述目标函数的约束条件为:
xi1+xi2+xi3+xi4=1; (1)
xij∈{0,1}; (2)
Figure BDA0003229563690000182
Figure BDA0003229563690000183
Figure BDA0003229563690000184
其中,Tn表示执行完所有子任务所需的总时长,En表示执行完所有子任务所需的能耗总代价,β表示影响因子,Tmax表示预设的完成所有计算任务时所需的最大完成总时长,Emax表示预设的完成所有计算任务时所需的最大总能耗,xm,1表示第m个子任务在本地终端进行计算,xm,2表示第m个子任务在本地边缘设备进行计算,xm,3表示第m个子任务在异地边缘设备进行计算,xm,4表示第m个子任务在云服务器进行计算,Tm,l表示第m个子任务在本地终端进行计算所需的时长,Tm,le表示第m个子任务在本地边缘设备进行计算所需的时长,Tm,e表示第m个子任务在异地终端设备进行计算所需的时长,Tm,c表示第m个子任务在云服务器进行计算所需的时长,Em,l表示第m个子任务在本地终端进行计算时产生的能耗,Em,le表示第m个子任务在本地边缘设备进行计算时产生的能耗,Em,e表示第m个子任务在异地终端设备进行计算时产生的能耗,Em,c表示第m个子任务在云服务器进行计算时产生的能耗;k表示在第m个子任务进行计算前,上一个已完成计算的子任务;
Figure BDA0003229563690000185
表示子任务m开始执行前的等待时延,xk,1表示子任务k在本地终端进行计算,
Figure BDA0003229563690000191
表示子任务k在本地终端进行计算产生的时延,
Figure BDA0003229563690000192
表示子任务k在本地边缘设备进行计算产生的时延,
Figure BDA0003229563690000193
表示子任务k在异地边缘设备进行计算产生的时延,
Figure BDA0003229563690000194
表示子任务k在云服务器进行计算产生的时延,
Figure BDA0003229563690000195
表示子任务m的计算数据传输至对应计算终端的传输时延。
在本发明中,约束条件(1)与约束条件(2)表示每个子任务都必须且只能被分配到一个计算设备上进行计算,保证了任务的不可分割性;约束条件(3)表示执行完成所有计算任务所用的总时间不超过规定的最大完成时间Tmax;约束条件(4)表示执行所有任务产生的能耗代价应不超过预设的最大能耗Emax;约束条件(5)保证了任务在开始执行前,其所有待计算数据都已经被传输至执行设备上,并且当前任务的所有前驱任务都已经结束执行。在满足这些系统约束的条件下,通过求解任务组合协同计算策略中任务执行的时延与能耗值,使目标函数min{βPt+(β-1)Pe}的系统总代价达到最小。
在上述实施例的基础上,所述对所述目标函数求解,得到任务组合协同计算最优策略,包括:
步骤1031,根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法;
步骤1032,基于所述目标函数和预设基因编码方式,通过所述改进的遗传算法对种群进行遗传迭代更新,得到新的种群。
在本发明中,每个任务划分的m个子任务,分别在不同计算设备上执行,因此每条染色体上都有m个基因;由于每个子任务都可能被分配至本地终端、本地边缘设备、异地边缘设备和中心云服务器四种计算设备上进行计算,因此每个基因都可能有4个取值:-2、-1、0和1。
进一步地,在制定好每个个体的编码方案后,对种群进行初始化。为避免种群中个体的特殊性,本发明采用随机的方法生成个体,并规定种群大小为100。在本发明的场景中,由于系统整体代价越小,即认为组合协同计算策略越优。因此,适应度函数取系统代价函数的倒数,即目标函数的倒数:
Figure BDA0003229563690000201
进一步地,交叉操作是遗传算法产生新个体的重要方法之一。本发明采用单点交叉的方法,根据一定的交叉概率qc,在随机选定的交叉点处,根据指定的交叉操作规则,将父母染色体的部分序列进行互换,从而得到两个新的个体,新的个体中包含来自父母染色体的部分基因,其中,父母染色体的选择采用轮盘赌的方法来完成。
在上述实施例的基础上,所述根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法,包括:
根据子任务传输距离与能耗代价之间的关系,更改变异后个体的执行设备,其中,若当前执行子任务的设备为本地终端,则将变异后的个体设置在本地边缘设备上进行任务执行;
若当前执行子任务的设备为本地边缘设备,则将变异后的个体设置在异地边缘设备上进行任务执行;
若当前执行子任务的设备为异地边缘设备,则将变异后的个体设置在云服务器上进行任务执行;
若当前执行子任务的设备为云服务器,则将变异后的个体设置在本地终端上进行任务执行。
在本发明中,变异过程通过向已有个体中引入新基因来产生新的个体,从而避免算法陷入局部最优。在本发明中,任务的执行设备(即该执行该任务的计算设备)距离本地终端越远,虽然无法准确得知时延代价的变化,但由于静态额定能耗、传输能耗与计算能耗都在增加,因此能耗代价一定增大,根据该特点对变异过程进行优化,使任务的计算设备向距离终端设备更近的方向变化。具体过程为:若当前执行设备为本地终端,则变异后应在本地边缘设备上执行;若当前执行设备为本地边缘设备,则变异后在异地边缘设备执行;若当前执行设备为异地边缘设备,则变异后应在中心云服务器执行;若当前执行设备为中心云服务器,则变异后应在本地终端执行。为避免变异过程中选定基因位置的特殊性,本发明采用随机选择的方法确定每次进行变异的基因。
本发明结合使用了遗传算法与模拟退火算法,并根据任务传输距离与能耗代价之间的正比关系,对遗传算法的变异过程进行改进,相比于分别单独使用两种算法,加快了收敛速率,避免陷入局部最优,提高了求解效率。
步骤1033,通过模拟退火法,对所述新的种群进行模拟退火,若当前遗传迭代次数达到最大迭代次数,得到任务组合协同计算最优策略。
在本发明中,根据物理学上物质的退火过程与本发明中物联网场景下任务组合协同计算问题的相似性,在本发明的场景中,用系统的整体代价函数模拟内能E,控制参数t模拟物理温度T,逐步衰减参数t,并取算法终止时的解作为本次退火过程的最优解。其迭代过程依次为:产生新解、计算当前解与原解的代价函数之差、判断是否接受该解、接受或舍弃新的解值、衰减参数t的值、判断是否终止算法。
其中,产生新解的过程,本发明采用了倒转原染色体中部分基因序列的方法。具体地,随机选定两个位置作为倒转基因片段的起止点,将起止点范围内的基因顺序进行倒转,得到一个新的个体。下面列举一组模拟退火算法产生新解的过程(“|”表示标志起止点):
倒转前:-2-1 0|1 0 -1 -1 -2|0 1
倒转后:-2 -1 0|-2 -1 -1 0 1|0 1
图4为本发明提供的结合遗传算法与模拟退火算法的任务组合协同算法的整体流程示意图,可参考图4所示,具体步骤如下:
首先,初始化种群与参数。初始化最大迭代次数ITER、种群大小popSize、交叉概率CROSS、变异概率MUTR、退火初始温度T0、降温速率v等参数,并根据确定好的编码方案,随机产生popSize个个体作为初始种群。
然后,对种群中的相同个体进行变异,直至种群中所有个体各不相同。
接着,计算每个个体的代价与适应度,并使用轮盘赌方法,选择相应的个体进行遗传算法的交叉或变异操作。
进一步地,进行交叉变异操作。对被选中的个体根据交叉、变异的概率,进行交叉或变异,从而产生新的个体。
进一步地,更新种群。将经过上述操作后得到的新个体放入种群中,并从合并后的种群中选择适应度最高的个体组成新一代种群,淘汰适应度较低的个体。
然后,进行模拟退火。本发明预设每经过50次遗传迭代,就对新一代种群进行模拟退火,加快收敛速度并跳出局部最优。
最后,若迭代至预设的最大迭代次数,即t=ITER,则认为此时的解即为最优任务组合协同计算策略,解值即为该策略对应的最小系统代价,算法结束;若未迭代至最大迭代次数,则再次对种群中的相同个体进行变异,重复上述步骤。
在一实施例中,结合仿真实例对本发明进行说明:
根据本发明中的业务场景,在仿真实验中设置的节点中用户终端节点数量为1个,边缘设备中包括一个本地终端节点和多个异地边缘节点,以及一个中心云服务器节点。为了便于计算,本发明将本地边缘与异地边缘使用相同的设备。
仿真实验选择了其他四种常用算法与本发明提供的算法(Genetic Algorithmand Simulated Annealing Algorithm-based Multitask Cooperative AssignmentAlgorithm,简称GASAMCAA)进行仿真对比,这四种算法分别为:传统的云边协同任务分配算法(Traditional)、多边缘协同算法(Edge-computing)、云计算方法(Cloud)和随机分配算法(Random)。图5为本发明提供的不同算法之间的对比示意图,如图5所示,可以看到本发明所采用的算法与其它四种常用算法相比,系统的整体效率最多可提高25%。
图6为本发明提供的变异概率取值对算法性能的影响示意图,可参考图6所示,遗传算法中变异概率的取值为0.02时,系统性能达到最优,变异概率取值较低时,种群中引入新基因的概率较小,容易陷入局部最优,而变异概率过高时,基因的不确定性过大,反而不易得到最优解。
图7为本发明提供的异地边缘设备的数量对算法性能的影响示意图,可参考图7所示,当异地边缘设备的数量取4时,系统性能达到最优,随着异地边缘设备数量的增多,增加了任务协同计算过程中的可用资源,系统计算能力得到提高,但过多的设备也会造成空闲设备中资源的浪费。
图8为本发明提供的影响因子取值对算法性能的影响示意图,如图8所示,当影响因子β取值为0.8时,系统性能达到最优,其中,β在式中的含义是时延对系统总代价的影响因子,即β取值越大,时延因素在系统总代价中的占比也就越大。在实际的生产生活场景中,为了提高任务执行效率,缩短响应时间,更倾向于用相对更大的能耗换取更短的时延。因此,在系统代价相近的条件下,本发明选择使时延代价更小的β值,因此,在仿真实验中β的取值为0.8。
本发明提供了一种物联网场景下面向时延和能耗的跨域子任务组合协同计算方法,通过在物联网场景中对任务进行组合协同计算,优化终端任务在不同设备之间的组合分配和协同计算方式,来减小任务执行过程中的时延与能耗,以达到提高任务执行效率,优化系统性能的目标。本发明主要面向降低任务执行过程的时延与能耗代价,综合考虑了任务间的优先级关系、不同任务在各个传输过程中的时延、能耗代价等,在物联网任务协同场景基础上构建了任务组合协同计算模型。在上述模型的基础上,本发明提出一种结合遗传算法与模拟退火算法的面向时延与能耗的子任务组合协同计算方法,并根据任务传输距离与能耗的关系,对遗传算法的变异过程进行改进,加速了算法的收敛,得到使系统时延与能耗代价达到最小的任务组合协同计算策略。
图9为本发明提供的物联网跨域子任务组合协同计算系统的结构示意图,如图9所示,本发明提供了一种物联网跨域子任务组合协同计算系统,包括时延模型构建模块901、能耗代价模型构建模块902和最优策略生成模块903,其中,时延模型构建模块901用于基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;能耗代价模型构建模块902用于基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;最优策略生成模块903用于根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
本发明提供的物联网跨域子任务组合协同计算系统,对现有任务协同计算架构进行改进,将边缘设备进一步划分为本地边缘与异地边缘,细分边缘跨域协同,建立新的任务组合协同计算架构,充分利用了附近空闲的边缘设备,提高了资源利用率,并建立了该架构下精确的时延和能耗模型,同时将时延与能耗作为优化目标,得到任务组合协同计算策略,实现了较低时延与较低能耗。
本发明提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
图10为本发明提供的电子设备的结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1001、通信接口(CommunicationsInterface)1002、存储器(memory)1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。处理器1001可以调用存储器1003中的逻辑指令,以执行物联网跨域子任务组合协同计算方法,该方法包括:基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
此外,上述的存储器1003中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的物联网跨域子任务组合协同计算方法,该方法包括:基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的物联网跨域子任务组合协同计算方法,该方法包括:基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种物联网跨域子任务组合协同计算方法,其特征在于,包括:
基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;
基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;
根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;
其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
2.根据权利要求1所述的物联网跨域子任务组合协同计算方法,其特征在于,所述基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型,包括:
根据每个子任务与不同计算终端之间的数据传输速率和每个子任务的传输数据量,构建每个子任务等待上一子任务完成或等待任务数据传输至对应计算终端时所需的等待时延函数;
根据不同计算终端对每个子任务的数据处理速率和每个子任务的待计算数据量,构建每个子任务在对应计算终端上完成计算任务时所需的计算时延函数;
根据不同计算终端向每个子任务发送的反馈数据量和每个子任务与不同计算终端之间的数据传输速率,构建每个子任务接收到计算结果反馈信息时所需的反馈时延函数;
根据所述等待时延函数、所述计算时延函数和所述反馈时延函数,构建完成所有子任务所需时长对应的时延模型。
3.根据权利要求1所述的物联网跨域子任务组合协同计算方法,其特征在于,所述基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型,包括:
根据本地终端的静态额定能耗、本地终端处理单位容量数据的能耗和每个子任务的待计算数据量,构建本地终端执行计算任务时对应的本地终端能耗函数;
根据本地边缘设备的静态额定能耗、本地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建本地边缘设备执行计算任务时对应的本地边缘能耗函数;
根据异地边缘设备的静态额定能耗、异地边缘设备处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建异地边缘设备执行计算任务时对应的异地边缘能耗函数;
根据云服务器的静态额定能耗、云服务器处理单位容量数据的能耗、本地终端处理单位容量数据的能耗、本地边缘设备处理单位容量数据的能耗、每个子任务的传输数据量和每个子任务的待计算数据量,构建云服务器执行计算任务时对应的中心云能耗函数;
根据所述本地终端能耗函数、所述本地边缘能耗函数、所述异地边缘能耗函数和所述中心云能耗函数,构建完成所有子任务所需能耗对应的能耗代价模型。
4.根据权利要求1所述的物联网跨域子任务组合协同计算方法,其特征在于,所述目标函数为:
min{βPt+(β-1)Pe};
Pt=Tn/Tmax
Pe=En/Emax
Figure FDA0003229563680000031
Figure FDA0003229563680000032
所述目标函数的约束条件为:
xi1+xi2+xi3+xi4=1;
xij∈{0,1};
Figure FDA0003229563680000033
Figure FDA0003229563680000034
Figure FDA0003229563680000035
其中,Tn表示执行完所有子任务所需的总时长,En表示执行完所有子任务所需的能耗总代价,β表示影响因子,Tmax表示预设的完成所有计算任务时所需的最大完成总时长,Emax表示预设的完成所有计算任务时所需的最大总能耗,xm,1表示第m个子任务在本地终端进行计算,xm,2表示第m个子任务在本地边缘设备进行计算,xm,3表示第m个子任务在异地边缘设备进行计算,xm,4表示第m个子任务在云服务器进行计算,Tm,l表示第m个子任务在本地终端进行计算所需的时长,Tm,le表示第m个子任务在本地边缘设备进行计算所需的时长,Tm,e表示第m个子任务在异地终端设备进行计算所需的时长,Tm,c表示第m个子任务在云服务器进行计算所需的时长,Em,l表示第m个子任务在本地终端进行计算时产生的能耗,Em,le表示第m个子任务在本地边缘设备进行计算时产生的能耗,Em,e表示第m个子任务在异地终端设备进行计算时产生的能耗,Em,c表示第m个子任务在云服务器进行计算时产生的能耗;k表示在第m个子任务进行计算前,上一个已完成计算的子任务;
Figure FDA0003229563680000041
表示子任务m开始执行前的等待时延,xk,1表示子任务k在本地终端进行计算,
Figure FDA0003229563680000042
表示子任务k在本地终端进行计算产生的时延,
Figure FDA0003229563680000043
表示子任务k在本地边缘设备进行计算产生的时延,
Figure FDA0003229563680000044
表示子任务k在异地边缘设备进行计算产生的时延,
Figure FDA0003229563680000045
表示子任务k在云服务器进行计算产生的时延,
Figure FDA0003229563680000046
表示子任务m的计算数据传输至对应计算终端的传输时延。
5.根据权利要求1所述的物联网跨域子任务组合协同计算方法,其特征在于,所述对所述目标函数求解,得到任务组合协同计算最优策略,包括:
根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法;
基于所述目标函数和预设基因编码方式,通过所述改进的遗传算法对种群进行遗传迭代更新,得到新的种群;
通过模拟退火法,对所述新的种群进行模拟退火,若当前遗传迭代次数达到最大迭代次数,得到任务组合协同计算最优策略。
6.根据权利要求5所述的物联网跨域子任务组合协同计算方法,其特征在于,所述根据子任务传输距离与能耗代价之间的关系,对遗传算法的变异过程进行优化,得到改进的遗传算法,包括:
根据子任务传输距离与能耗代价之间的关系,更改变异后个体的执行设备,其中,若当前执行子任务的设备为本地终端,则将变异后的个体设置在本地边缘设备上进行任务执行;
若当前执行子任务的设备为本地边缘设备,则将变异后的个体设置在异地边缘设备上进行任务执行;
若当前执行子任务的设备为异地边缘设备,则将变异后的个体设置在云服务器上进行任务执行;
若当前执行子任务的设备为云服务器,则将变异后的个体设置在本地终端上进行任务执行。
7.一种物联网跨域子任务组合协同计算系统,其特征在于,包括:
时延模型构建模块,用于基于用户终端生成的多个子任务与不同计算终端之间的时延类型,构建得到完成所有子任务所需时长对应的时延模型;
能耗代价模型构建模块,用于基于所述多个子任务与不同计算终端之间的能耗类型,构建得到完成所有子任务所需能耗对应的能耗代价模型;
最优策略生成模块,用于根据所述时延模型和所述能耗代价模型,以最小化时延和能耗代价为目标,构建目标函数,并对所述目标函数求解,得到任务组合协同计算最优策略;
其中,所述计算终端包括本地终端、本地边缘设备、异地边缘设备和云服务器,所述本地边缘设备和所述异地边缘设备是通过所述用户终端与边缘设备之间传输距离确定的。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述物联网跨域子任务组合协同计算方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述物联网跨域子任务组合协同计算方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述物联网跨域子任务组合协同计算方法的步骤。
CN202110982229.XA 2021-08-19 2021-08-25 一种物联网跨域子任务组合协同计算方法及系统 Pending CN113821318A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110955407 2021-08-19
CN202110955407X 2021-08-19

Publications (1)

Publication Number Publication Date
CN113821318A true CN113821318A (zh) 2021-12-21

Family

ID=78923229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110982229.XA Pending CN113821318A (zh) 2021-08-19 2021-08-25 一种物联网跨域子任务组合协同计算方法及系统

Country Status (1)

Country Link
CN (1) CN113821318A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356564A (zh) * 2021-12-29 2022-04-15 四川大学 一种集成服务资源的系统
CN116521340A (zh) * 2023-04-27 2023-08-01 福州慧林网络科技有限公司 一种基于大带宽网络的低延时并行数据处理系统及方法
WO2023155820A1 (zh) * 2022-02-21 2023-08-24 阿里巴巴(中国)有限公司 处理计算任务的方法及系统
CN117434990A (zh) * 2023-12-20 2024-01-23 成都易联易通科技有限责任公司 粮仓的环境控制方法和系统
CN117707792A (zh) * 2024-02-04 2024-03-15 国网上海能源互联网研究院有限公司 基于fpga加速器的异地并行加速装置、方法和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356564A (zh) * 2021-12-29 2022-04-15 四川大学 一种集成服务资源的系统
WO2023155820A1 (zh) * 2022-02-21 2023-08-24 阿里巴巴(中国)有限公司 处理计算任务的方法及系统
CN116521340A (zh) * 2023-04-27 2023-08-01 福州慧林网络科技有限公司 一种基于大带宽网络的低延时并行数据处理系统及方法
CN116521340B (zh) * 2023-04-27 2023-10-10 福州慧林网络科技有限公司 一种基于大带宽网络的低延时并行数据处理系统及方法
CN117434990A (zh) * 2023-12-20 2024-01-23 成都易联易通科技有限责任公司 粮仓的环境控制方法和系统
CN117434990B (zh) * 2023-12-20 2024-03-19 成都易联易通科技有限责任公司 粮仓的环境控制方法和系统
CN117707792A (zh) * 2024-02-04 2024-03-15 国网上海能源互联网研究院有限公司 基于fpga加速器的异地并行加速装置、方法和系统

Similar Documents

Publication Publication Date Title
CN113821318A (zh) 一种物联网跨域子任务组合协同计算方法及系统
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
CN110570075B (zh) 一种电力业务边缘计算任务分配方法及装置
Pacini et al. Dynamic scheduling based on particle swarm optimization for cloud-based scientific experiments
CN107679750A (zh) 一种基于自适应系数遗传算法的云制造服务资源匹配方法
CN109298930B (zh) 一种基于多目标优化的云工作流调度方法及装置
CN112272102B (zh) 边缘网络业务卸载和调度方法及装置
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN114065864A (zh) 联邦学习方法、联邦学习装置、电子设备以及存储介质
Shi et al. Multijob associated task scheduling for cloud computing based on task duplication and insertion
Peng et al. Genetic algorithm-based task scheduling in cloud computing using mapreduce framework
He Optimization of edge delay sensitive task scheduling based on genetic algorithm
CN114650321A (zh) 用于边缘计算的任务调度方法及边缘计算终端
CN110928648B (zh) 融合启发式和智能计算的云工作流分段在线调度优化方法
CN112799843A (zh) 一种基于边缘计算的在线自适应服务配置优化方法及装置
CN116915869A (zh) 基于云边协同的时延敏感型智能服务快速响应方法
CN115421885B (zh) 一种分布式多目标云任务的调度方法、装置及云服务系统
CN112506644B (zh) 基于云边端混合计算模式系统的任务调度方法和系统
CN113220437B (zh) 一种工作流多目标调度方法及装置
CN112596879B (zh) 用于量子云计算平台任务调度的方法
CN115617510A (zh) 一种基于信息素遗传蚁群算法的服务器动态均衡方法及系统
CN114980216A (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
CN110633784A (zh) 一种多规则人工蜂群改进算法
CN112948087A (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