CN115348324A - 一种最优化调度策略的确定方法及装置和电子设备 - Google Patents
一种最优化调度策略的确定方法及装置和电子设备 Download PDFInfo
- Publication number
- CN115348324A CN115348324A CN202211276723.5A CN202211276723A CN115348324A CN 115348324 A CN115348324 A CN 115348324A CN 202211276723 A CN202211276723 A CN 202211276723A CN 115348324 A CN115348324 A CN 115348324A
- Authority
- CN
- China
- Prior art keywords
- network
- sub
- model
- network model
- scheduling
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种最优化调度策略的确定方法及装置和电子设备,所述方法包括:基于调度策略对多任务网络模型进行编码,获得编码模型,编码模型包括多个子网络模型;采用进化算法对调度策略进行优化,获得最优化调度策略,进化算法的选择策略满足每个子网络模型的运行指标与相应联网设备的运行能力匹配,最优化调度策略的选择策略满足编码模型的总能耗最低。本公开提供的方法可以在处理共用数据源的不同神经网络任务时,无需重复调度共享多任务网络模型的主干节点,能够降低计算消耗,提升相应联网设备的处理能效,提高调度效率;同时,还可以基于进化算法实时自动获取最优化调度策略,从而保证多分支网络模型的运行总能耗最低。
Description
技术领域
本公开涉及边缘计算技术领域,尤其涉及一种最优化调度策略的确定方法及装置和电子设备。
背景技术
边缘计算是指在靠近物或数据源头的网络边缘侧,通过融合网络、计算、存储、应用核心能力的分布式开放平台,就近提供边缘智能服务。也就是说,边缘计算是将从物联网设备采集到的数据,直接在靠近数据产生的本地设备或网络中进行数据处理,无需再将数据传输至云端数据处理中心,可以解决传统云计算实时性不够、带宽不足、数据安全和隐私等问题。
相关技术中,一个十字交通路口的摄像头采集的视频数据可能被应用于多个机器学习任务,这些视频数据可以应用于道路车辆检测、车辆识别、道路拥堵检测、道路流量分析等大量不同的任务。在部署这些任务对应的神经网络模型时,将每个任务对应的神经网络模型看成一个单独的神经网络模型,并将所有任务对应的神经网络模型一起进行调度,忽略了这些神经网络模型可以共享多任务网络模型的主干网络。
另外,还可以针对其中一个任务,将该任务对应的神经网络模型根据不同层的计算特点进行划分为两个部分,一部分在云端处理器进行处理,另一部分在边缘设备上进行处理,因此,在多任务网络模型执行每个任务时,均需要单独将视频数据上传到云端和边缘端,造成了多余的数据搬运开销。
发明内容
根据本公开的一方面,提供了一种最优化调度策略的确定方法,最优化调度策略用于调度多任务网络模型,所述方法包括:
基于调度策略对多任务网络模型进行编码,获得编码模型,编码模型包括多个子网络模型;
采用进化算法对调度策略进行优化,获得最优化调度策略,进化算法的选择策略满足每个子网络模型的运行指标与相应联网设备的运行能力匹配,最优化调度策略的选择策略满足编码模型的总能耗最低。
根据本公开的另一方面,提供了一种最优化调度策略的确定装置,其特征在于,最优化调度策略用于调度多任务网络模型,所述装置包括:
编码模块,用于基于调度策略对多任务网络模型进行编码,获得编码模型,编码模型包括多个子网络模型;
优化模块,用于采用进化算法对调度策略进行优化,获得最优化调度策略,进化算法的选择策略满足每个子网络模型的运行指标与相应联网设备的运行能力匹配,最优化调度策略的选择策略满足编码模型的总能耗最低。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及,
存储程序的存储器;
其中,程序包括指令,指令在由处理器执行时使处理器执行根据本公开示例性实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行根据本公开示例性实施例所述的方法。
本公开示例性实施例中提供的一个或多个技术方案,可以基于调度策略对多任务网络模型进行编码,获得编码模型,使得编码模型包括多个子网络模型;然后以每个子网络模型的运行指标与相应联网设备的运行能力匹配为进化算法的选择策略,以编码模型的总能耗最低为最优化调度策略的选择策略,采用进化算法对调度策略进行优化,获得最优化调度策略。可见,本公开示例性实施例的方法可以在处理共用数据源的不同任务时,无需重复调度共享多任务网络模型的主干网络,能够降低计算消耗,提升不同任务相应联网设备的处理能效,提高多任务网络模型的调度效率。同时,还可以基于进化算法实时自动获取最优化调度策略,从而保证多分支网络模型的运行总能耗最低。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了相关技术中多任务网络模型的调度示意图;
图2示出了本公开示例性实施例的边缘计算系统的结构示意图;
图3示出了本公开示例性实施例的多任务网络模型的一种架构示意图;
图4示出了本公开示例性实施例的多任务网络模型的符号化示意图;
图5示出了本公开示例性实施例的最优化调度策略的确定方法的基础流程图;
图6示出了本公开示例性实施例的一种调度策略的示意图;
图7示出了本公开示例性实施例的调度策略优化过程的流程图;
图8示出了本公开示例性实施例的另一种调度策略的示意图;
图9示出了本公开示例性实施例的最优化调度策略的选择流程图;
图10示出了本公开示例性实施例的最优化调度策略的确定装置的模块示意性框图;
图11示出了本公开示例性实施例的芯片的示意性框图;
图12示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在介绍本公开实施例之前首先对本公开实施例中涉及到的相关名词作如下释义:
云计算(Cloud Computing),也被意译为网络计算,是一种基于互联网的计算方式,通过这种方式共享的硬件资源和信息可以按需求提供给计算机各种终端和其他设备。也就是说,云计算是对计算机硬件、系统、网络、应用软件等资源的集中部署和再分配,以求达到计算资源的利用效率最大化。
边缘计算(Edge Computing),根据边缘计算产业联盟的定义,是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务,满足行业数字在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求,能够减少请求响应时间、提升电池续航能力、减少网络带宽同时保证数据的安全性和私密性,可以解决传统云计算实时性不够、带宽不足、数据安全和隐私等问题。边缘计算中的“边缘”是个相对的概念,指从数据源到云计算中心数据路径之间的任意计算资源和网络资源。
图1示出了相关技术中多任务网络模型的调度示意图。如图1所示,神经网络模型110用于执行任务A,神经网络模型120用于执行任务B,可以根据神经网络模型不同层的计算特点设计调度方法,将每个神经网络模型划分为在云端设备进行处理的第一段神经网络模型和在边缘设备上进行处理的第二段神经网络模型。例如,将神经网络模型110划分为在云端设备131处理的第一段神经网络模型111和在边缘设备132处理的第二段神经网络模型112;将神经网络模型120划分为在云端设备131处理的第一段神经网络模型121和在边缘设备133处理的第二段神经网络模型122。这种调度方法中间只产生一部分中间数据的通讯开销,使得整个边缘计算节点的之间的计算负载分布更均匀,相对于直接全部放置于云端处理,平均实现了59.5%的能耗降低。
从图1可以看出,神经网络模型110的第一段神经网络模型111与神经网络模型120的第一段神经网络模型121共同具有在云端设备进行处理的前12层神经网络,此时,若将神经网络模型110和神经网络模型120合并为一个多任务网络模型时,其共享了该多任务网络模型主干网络的前12层神经网络。
而上述调度方法将任务A对应的神经网络模型110和任务B对应的神经网络模型120看成是两个独立的神经网络模型,忽略了上述两个神经网络模型可以共享多任务网络模型的主干网络,造成了计算重复的问题。另外,针对其中一个神经网络任务,将该神经网络任务对应的神经网络模型根据不同层的计算特点进行划分为两个部分,一部分在云端处理器进行处理,另一部分在边缘设备上进行处理。因此,在多任务网络模型执行每个任务时,均需要单独将视频数据上传到云端和边缘端,造成了多余的数据搬运开销。
为了能够在边缘计算系统上实现多任务网络模型的充分调度,并最大化利用多任务网络模型的前几层神经网络的计算数据,本公开示例性实施例提供一种最优化调度策略的确定方法,其可以根据边缘计算系统中不同的硬件计算平台、不同分支模型、不同约束,利用进化算法获取最优化调度策略,将最优化调度策略可以用于调度多任务网络模型。当基于最优化调度策略调度的神经网络模型可以复用边缘设备采集的数据的同时,在相应联网设备具有较高的处理能效和最低的运行总能耗,从而提高调度效率,降低计算重复问题。
图2示例出本公开示例性实施例的边缘计算系统的结构示意图。如图2所示,本公开示例性实施例的边缘计算系统200可以包括云端设备210和边缘设备220两种节点,将上述所有节点连接在一起,构成一个大规模分布式系统,同时开发出大量的计算框架,如各类加速库、编程库和接口库等,将多任务神经网络模型部署到节点上。其中,云端设备210具有强大的计算和存储能力,但由于带宽等限制,无法处理由边缘设备采集的庞大数据流。边缘设备220由较低计算和存储能力的硬件构成,其可以采集数据上传到云端设备210,也可以计算部分由云端设备210传来的部分数据,但由于功耗、计算能力、网络连接方式(有线或者无线连接)的影响,其计算延迟相对较高,同时,某些边缘设备220由电池供电,对能耗更敏感,计算约束较高,受影响的可能性更大。在实践中,如果边缘设备220不能在本地完成计算,它会将任务的其余部分包装为独立作业,提交给云端设备210进行计算。可见,边缘计算可以减轻云端设备的运行压力,减少网络延迟,并确保更高效地工作。
上述多任务网络模型可以看作一个树形结构,其包括第一网络单元,第一网络单元可以为多任务网络模型的总体模型架构,第一网络单元可以包括第一主干网络以及连接在第一主干网络的m个第一分支子网络,m为大于或等于2的整数。此时,每个第一分支子网络与其共享的第一主干网络结合,可以一起执行相应任务,各个第一分支子网络可以共用同一组物联网设备收集的数据执行不同的任务。
假设在一个十字交通路口的摄像头采集的视频数据可能被应用于多任务网络模型,该多任务网络模型可以执行道路车辆检测任务、车辆识别任务、道路拥堵检测任务、道路流量分析任务等任务场景。图3示出了本公开示例性实施例的多任务网络模型的一种架构示意图。如图3所示,多任务网络模型300包括第一网络单元,第一网络单元包括第一主干网络310以及连接在第一主干网络310的多任务子网络320。
上述第一主干网络具有串接的6层特征提取层,分别为第1层特征提取层L1、第2层特征提取层L2、第3层特征提取层L3、第4层特征提取层L4、第5层特征提取层L5和第6层特征提取层L6。多任务子网络320包括第1个第一分支子网络321、第2个第一分支子网络322、第3个第一分支子网络323和第4个第一分支子网络324,其中,第1个第一分支子网络321包括第1层分支特征提取层T11,第2个第一分支子网络322包括第1层分支特征提取层T21、第2层分支特征提取层T22和第3层分支特征提取层T23,第3个第一分支子网络323包括第1层分支特征提取层T31和第2层分支特征提取层T32,第4个第一分支子网络324包括第1层分支特征提取层T41和第2层分支特征提取层T42。
第1个第一分支子网络321连接在第2层特征提取层L2上,与第一主干网络包括的前两层特征提取层结合,一起执行道路车辆检测任务;第2个第一分支子网络322连接在第4层特征提取层L4上,与第一主干网络包括的前四层特征提取层结合,一起执行车辆识别任务;第3个第一分支子网络323连接在第5层特征提取层L5,与第一主干网络包括的前五层特征提取层结合,一起执行道路拥堵检测任务;第4个第一分支子网络324连接在第6层特征提取层L6上,与第一主干网络包括的前六层特征提取层结合,一起执行道路流量分析任务。可以看出,道路车辆检测任务共享了第一主干网络的前两层特征提取层,车辆识别任务共享了第一主干网络的前四层特征提取层,道路拥堵检测任务共享了第一主干网络的前五层特征提取层,道路流量分析任务共享了第一主干网络的前六层特征提取层。
从图3可以看出,在道路车辆检测任务的第一分支子网络321和车辆识别任务的第一分支子网络322之间包含了两层特征提取层:第3层特征提取层L3和第4层特征提取层L4。在实际应用中,可以将位于两个分支任务之间的多层特征提取层看成一个整体,将每个分支任务看成一个整体,对多任务网络模型进行简化。该简化操作可以在确定多任务网络模型的调度策略时对属于一个整体的多层特征提取层进行调度,从而可以降低调度复杂度。
示例性的,第一主干网络具有串接的n个第一主干节点,每个第一主干节点与相应第一分支子网络连接,n为大于或等于2的整数。连接在同一个第一主干节点上的第一分支子网络的数量可以是一个,也可以是多个,根据实际应用场景确定。此处的“连接”可以是串接,也可以是并接,当“连接”是串接时,第一分支子网络连接在最后一层主干节点上;当“连接”是并接时,第一分支子网络连接在除最后一层主干节点之外的其它主干节点上。
将图3所示的多任务网络模型进行简化,可以获得图4所示的多任务网络模型的符号化示意图。如图4所示,符号化的多任务网络模型400中,第一主干网络具有串接的4个第一主干节点,分别为第1个第一主干节点I1、第2个第一主干节点I2、第3个第一主干节点I3和第4个第一主干节点I4。
在实际应用中,可以将图3所示的第一层特征提取层L1和第二层特征提取层L2集合为第1个第一主干节点I1,第1个第一分支子网络T1并接在第1个第一主干节点I1上,与第1个第一主干节点I1结合,一起执行道路车辆检测任务;将图3所示的第三层特征提取层L3和第4层特征提取层L4集合为第2个第一主干节点I2,第2个第一分支子网络T2并接在第2个第一主干节点I2上,与前2个第一主干节点结合,一起执行车辆识别任务;将图3所示的第五层特征提取层L5集合为第3个第一主干节点I3,第3个第一分支子网络T3并接在第3个第一主干节点I3上,与前3个第一主干节点结合,一起执行道路拥堵检测任务;将图3所示的第6层特征提取层L6集合为第4个第一主干节点I4,第4个第一分支子网络T4连接在第4个第一主干节点I1上,与前4个第一主干节点结合,一起执行道路流量分析任务。
图5示出了本公开示例性实施例的最优化调度策略的确定方法的基础流程图。如图5所示,本公开示例性实施例的最优化调度策略的确定方法可以包括:
步骤501:基于调度策略对多任务网络模型进行编码,获得编码模型。编码模型包括多个子网络模型。
本公开示例性实施例的调度策略可以是为多任务网络模型所包括的不同网络段配置联网设备的过程。当调度策略一定的情况下,多任务网络模型包括的不同网络段与联网设备之间具有映射关系,因此,基于该调度策略对多任务网络模型进行编码时,可以基于多任务网络模型包括的不同网络段与联网设备之间具有映射关系,将多任务网络模型划分为多个子网络模型,且每个子网络模型运行在不同的联网设备上。联网设备的数量可以是多个,根据实际应用场景确定。该联网设备至少包括边缘设备,还可以包括边缘设备和云端设备。
示例性的,多个子网络模型可以包括第二网络单元和k个第三网络单元,第二网络单元用于运行在第一联网设备上,第三网络设备运行在第二联网设备上,第二网络单元可以包括第二主干网络以及连接在第二主干网络的r个第二分支子网络,每个第三网络单元为第三分支子网络,k和r均为大于或等于1的整数,m=k+r。
当第二主干网络具有串接的r层第二主干节点时,至少一层第二主干节点与相应第二分支子网络连接。此处的相应可以是一个第二主干节点对应一个第二分支子网络的方式相应,例如:每个第二主干节点与对应的第二分支子网络一一对应连接。也可以是一个第二主干节点对应多个第二分支子网络的方式相应,例如:一个第二主干节点与两个或两个以上的第二分支子网络连接。
每个第三分支子网络包括串接的s个分支节点,该第二联网设备包括t个子设备,s个分支节点用于运行在至少一个子设备,t和s均为大于或等于1的整数,t≤s。当t<s时,可以将至少两层分支节点部署在同一个子设备上,避免因待部署子设备数量过多而导致调度策略复杂化,从而提高调度效率;当t=s时,可以将每层分支节点部署在不同子设备上,可以提高相应层分支节点的提取精度。
本公开示例性实施例的调度策略可以认为是初始化的调度策略,其可以针对多任务网络模型随机进行调度,也可以按照一定策略进行调度。例如:第二主干网络可以包括第一主干网络的第1个第一主干节点至第r个第一主干节点,当r为大于1且小于n的整数,该初始化调度策略,实质上是从n个第一主干节点的两端之间两个端部节点之间,将第一主干网络分割为两部分,此时可以更快的找到满足多分支网络模型调度的调度策略。
图6示出了本公开示例性实施例的一种调度策略的示意图。如图6所示,基于调度策略对如图4所示的多任务网络模型进行编码,也就是对图4所示的多任务网络模型进行调度,将不同部分分配至不同的联网设备的过程,从而获得编码模型600,编码模型包括第二网络单元601和2个第三子网络单元,分别为第1个第三子网络单元602和第2个第三子网络单元603,然后,将第二网络单元601部署在第一联网设备(例如:云端设备)上,将第1个第三子网络单元602和第2个第三子网络单元603分别部署在不同的第二联网设备(例如:边缘设备)上。
从图6可以看出,第二网络单元601具有第二主干网络包括串接的3个第二主干节点,这三个第二主干节点实质为图4所示的第1个第一主干节点I1、第2个第一主干节点I2和第3个第一主干节点I3,第二网络单元601还可以包括2个第二分支子网络,这两个分支子网络实质为图4的第1个第一子分支网络T1和第2个第一子分支网络T2。
第1个第一子分支网络T1连接在第1个第一主干节点I1上,第2个第一分支子网络T2连接在第2个第一主干节点I2上,第1个第三子网络单元602和第2个第三子网络单元603均连接在第3个第一主干节点I3上。对于第1个第三子网络单元602来说,其实质为图4所示的第3个第一分支子网络,第2个第三子网络单元来说,其实质包括图4所示的第4个第一主干节点I4和第4个第一分支子网络T4,第4个第一主干节点I4和第4个第一分支子网络T4可以运行在一个子设备上,也可以运行在不同的子设备上。
结合图3、图4和图6可以看出,图3可以看出,多任务网络模型包括4个第一分支子网络,第二网络单元601包括2个第二分支子网络,第三子网络单元的数量为2个,因此,m=4,k=r=2,符合m=k+r。
步骤502:采用进化算法对调度策略进行优化,获得最优化调度策略。进化算法的选择策略满足每个子网络模型的运行指标与相应联网设备的运行能力匹配,最优化调度策略的选择策略满足编码模型的总能耗最低。
在实际应用中,由于各个边缘计算系统和任务的不同,要实现一个具体的有效调度具有相当大的挑战,主要原因在于:1)边缘设备的复杂性,由于边缘设备的广泛性,不同的边缘设备会受到从能耗到计算资源的限制;2)计算偏好,即使是运算同一个任务,不同的边缘设备对计算的偏好也是不一样的,如使用的电池的设备会关注能耗,其会优先选择降低能耗的操作,而无线设备可能会对传输数据的效率更敏感;3)不确定性,在某些场景下,参与运算的设备在运算过程中可能会出现变化,如使用太阳能的物联网设备在阴天情况下,其处理能力会更受限,甚至导致设备不能工作,使得整个边缘系统的处理能力出现变化,调度策略需要考虑到这种边缘系统动态的变化,以适应系统随时出现的调整。为此,对于一个具体的调度策略,本公开示例性实施例的运行指标可以包括计算需求和通信需求,设备运行能力可以包括计算承载能力和网络承载能力,通过对比运行指标和设备运行能力确定调度策略是否满足编码模型的正常运行。
示例性的,每个子网络模型的运行指标与相应联网设备的运行能力匹配,包括以下几种中的至少一种:
第一种:每个子网络模型的计算需求与相应联网设备的计算承载能力匹配。计算需求可以为每个子网络模型的计算量,其大小取决于组成该子网络模型具有的所有特征提取层的计算量之和。计算需求可以包括运算量、计算复杂度、运行内存需求、能耗需求、计算速度和计算亲和性中的一种或多种,计算承载能力可以包括联网设备计算能力、联网设备内存、联网设备的能耗约束、联网设备的计算延时性能和联网设备计算能效比中的一种或多种。
当计算需求包括运算量时,该运算量应当与联网设备的计算能力匹配,此时,每个子网络模型的运算量应当与相应联网设备的计算能力匹配。
当计算需求包括计算复杂度时,该计算复杂度应当与联网设备的计算能力匹配,此时,每个子网络模型的计算复杂度应当与相应联网设备的计算能力匹配。
当计算需求包括运行内存需求时,该运行内存需求与联网设备内存匹配,此时,每个子网络模型的运行内存需求应当与相应联网设备内存匹配。
当计算需求包括能耗需求时,该能耗需求与联网设备的能耗约束匹配,此时,每个子网络模型的能耗需求应当与相应联网设备的能耗约束匹配。
当计算需求包括计算速度时,该计算速度与联网设备内存匹配,此时,每个子网络模型的计算速度应当与相应联网设备的计算延时性能匹配。
当计算需求包括计算亲和性时,该计算亲和性与联网设备内存匹配,此时,每个子网络模型的计算亲和性应当与相应联网设备计算能效比匹配。
第二种:每个子网络模型的通信需求与相应联网设备的网络承载能力匹配。通信需求可以为数据传输量,多个子网络模型在执行不同任务时,第二网络单元可以向多个第三网络单元传输数据,每个第三网络单元可以接收来自第二网络单元的输出数据。因此,通信需求的大小取决于第二网络单元的数据输出量和第三网络单元的数量。通信需求可以包括数据传输需求,联网设备的网络承载能力可以包括联网设备的带宽约束。
当通信需求包括数据传输需求时,该数据传输需求与联网设备的带宽约束匹配,此时,每个子网络模型的数据传输需求应当与相应联网设备的带宽约束匹配。
举例来说,如图4所示,第2个第一主干节点I2代表了图3中第3层特征提取层L3和第4层特征提取层L4,在计算调度方案时,可以将其看做一个整体,这样降低调度的复杂度。因此,在本公开示例性实施例的方法中,可以将第一主干网络表示为B=(I1,I2,…,In),其中n代表了融合后的第一主干节点个数,此大小需要针对具体分支网络模型进行计算。例如,可以将图4所示的第一主干网络可以被表示为B0=(I1,I2,I3,I4);又例如,可以将图6所示的第二主干网络可以被表示为B1=(I1,I2,I3)。
多任务网络模型的每层特征提取层均存在计算,因此,多任务网络模型的运算量可以按照如下方式表示:针对主干网络,以Pi表示第i个第一主干节点的运算量,i为大于或等于1且小于或等于n的整数;针对分支子网络,以QTj表示第j个第一分支子网络Tj的运算量,j为大于或等于1且小于或等于m的整数。因此,多任务网络模型的运算量可以表示为P1+P2+…+Pn-1+Pn+QT1+QT2+…+QTm-1+QTm。
多任务网络模型基于调度策略进行编码后,编码模型具有的第二网络单元部署在第一联网设备上,k个第三网络单元可以分别部署在w个第二联网设备,w大于或等于1且小于或等于k。当k=w时,各个第三网络单元部署在不同的第二联网设备上;当k<w,至少一个第三网络单元含有多个分支节点,且不同分支节点部署在不同的子设备上。
当多任务网络模型在调度时,第一联网设备需要将相应数据传输至w个第二联网设备上,也就是说,多任务网络模型的通信需求存在于第一联网设备与w个第二联网设备之间。因此,多任务网络模型的通信需求可以表示为w*Cr。
如图6所示,将第二网络单元601部署在云端设备上,将第1个第三子网络单元602和第2个第三子网络单元603分别部署在不同的边缘设备上,因此,多任务网络模型600在云端设备的运算量可以表示为P1+P2+P3+QT1+QT2,在边缘端设备的运算量可以表示为QT3+P4+QT4。因此,多任务网络模型600的运算量可以表示为P1+P2+P3+P4+QT1+QT2+QT3+QT4。若将4个任务对应的4个神经网络模型分别独立进行调度,4个神经网络模型的运算量为4P1+3P2+2P3+P4+QT1+QT2+QT3+QT4,对比可以看出,多任务网络模型600的运算量降低了3P1+2P2+P3。可见,本公开示例性实施例的多任务网络模型的调度策略可以降低计算消耗。
多任务网络模型600的通信需求存在于第二网络单元601与第1个第三子网络单元602之间、以及第二网络单元601与第2个第三子网络单元603之间,第二网络单元601与第1个第三子网络单元602之间的通信需求为C3,第二网络单元601与第2个第三子网络单元603之间的通信需求为C3。因此,多任务网络模型600的通信需求可以表示为2*C3。
图7示出了本公开示例性实施例的调度策略优化过程的流程图。如图7所示,本公开示例性实施例的采用进化算法对调度策略进行优化,可以包括:
步骤701:基于调度策略对多任务网络模型进行编码,获得编码模型,编码模型包括多个子网络模型。具体操作可以参考上述步骤501,此处不再赘述。
步骤702:确定每个子网络模型的目标运行指标。目标运行指标可以基于子网络模型的运行需求确定。
在实际应用中,子网络模型的目标运行指标可以以约束函数表示,约束函数包括运算量函数、计算复杂度函数、运行内存函数、能耗函数、计算速度函数、计算亲和性函数和数据传输量函数中的至少一种或多种,也可以建立一个约束函数,确定运算量、计算复杂度、运行内存、能耗、计算速度、计算亲和性和数据传输量。
步骤703:判断每个联网设备的运行能力是否满足相应子网络模型的目标运行指标。将每个子网络模型的运行指标与相应联网设备的运行能力匹配作为进化算法的选择策略。在本公开示例性实施例的方法中,可以通过判断每个联网设备的运行能力是否满足相应子网络模型的约束函数,来判断每个联网设备的运行能力是否满足相应子网络模型的目标运行指标。
确定每个联网设备的运行能力满足相应子网络模型的目标运行指标的情况下,说明该调度策略可以对多任务网络模型进行调度,该调度策略可以为候选调度策略,但是为了达到多任务网络模型运行总能耗最低,仍然需要执行步骤704。
确定至少一个联网设备的运行能力不满足相应子网络模型的目标运行指标的情况下,说明该调度策略无法对多任务网络模型进行调度,需要执行步骤705。
步骤704:将多任务网络模型更新为编码模型,更新调度策略。这个过程实质是将步骤701的多任务网络模型更新为编码模型,并更改调度策略的过程,在此之后,重新从步骤701开始执行。当更新调度策略和将多任务网络模型更新为编码模型时,实质是在原有调度策略合适的情况下,对已经确定调度方式的编码模型进行进一步调度,寻找最低能耗的调度策略的过程。
当更新调度策略时,由于多任务网络模型更新为编码模型,因此,可以针对编码模型再次进行调度,只是此次调度策略与原有调度策略有所不同。当采用调度策略对图4所示的多任务网络模型400进行编码,获得图6所示的编码模型600后,可以将多任务网络模型400更新为该编码模型600,采用新的调度策略对该编码模型进行重新编码。
示例性的,步骤704可以包括:对多任务网络模型进行变形,获得变形后多任务网络模型;基于变形后多任务网络模型更新调度策略。其中,对多任务网络模型进行变形可以包括:逐次向前复制分支子网络共享的一层或多层主干节点,构成新增第三分支子网络,分支子网络为第二分支子网络或第三分支子网络。新增第三分支子网络可以用于运行在第二联网设备上,能够解决因边缘设备复杂性和不确定性导致的约束限制;虽然对多任务网络模型进行变形后,多任务网络模型的整体结构会变大,但是在边缘计算中,变形后多任务网络模型中新的分支子网络可以尽可能适应位于网络边缘侧的联网设备的变化,最大可能的满足各个联网设备的约束要求下,实现较优的调度效果。
图8示出了本公开示例性实施例的另一种调度策略的示意图。如图8所示,对如图6所示的调度策略进行更新,针对第2个第二分支子网络T2,将第2个第二分支子网络分配至新的联网设备,成为新的第二分支子网络。例如:可以向前复制第2个第二分支子网络T2共享的第2个第二主干节点I2,构成新增第3个第三网络单元。此时,新的调度策略下,对更新为编码模型的多任务网络模型进行编码,所获得的编码模型800与图6所示的编码模型600相比,编码模型800包括的第二网络单元801含有的第二主干节点数量未发生变化,仍然为图4所示的第1个第一主干节点I1、第2个第一主干节点I2和第3个第一主干节点I3,但是所含有的第二分支子网络仅残余图4所示的第1个第一分支子网络T1;同时,编码模型800包括的第三网络单元的数量由原来的两个变为三个,即包括第1个第三分支子网络802、第2个第三分支子网络803和第3个第三分支子网络804,第1个第三分支子网络802和第2个第三分支子网络803与图4所示的两个第三分支子网络模型相同,第3个第三分支子网络803则是从图4所示的第二网络单元中拉出的分支子网络,包括复制的图4的第2个第一主干节点I2和第2分支子网络T2。
步骤705:更新调度策略。这个过程实质是更改步骤701的调度策略的过程,在此之后,重新从步骤701开始执行。当更新调度策略,但是不更新多任务网络模型时,实质是原有调度策略不合适,对原有的多任务网络模型进行重新调度的过程。例如:可以采用新的调度策略对图4所示的多任务网络模型进行重新编码,获得图8所示的编码模型800,具体参考前文相关描述此处不作赘述。
在实际应用中,本公开示例性实施例采用进化算法对调度策略进行优化后,需要从满足进化算法选择策略的多个调度策略中,选择总能耗最低的编码模型对应的调度策略作为最优化调度策略。
图9示出了本公开示例性实施例的最优化调度策略的选择流程图。如图9所示,本公开示例性实施例的最优化调度策略的确定方法还可以包括:
步骤901:确定调度策略对应编码模型的总能耗。应理解,只有在确定每个联网设备的运行能力满足相应子网络模型的目标运行指标的情况下,上述调度策略才能对多任务网络模型进行调度,此时,确定该调度策略对应编码模型的总能耗才有意义。步骤901的实质为在调度策略优化过程中,记录每一个能够用于调度多任务网络模型的调度策略的总能耗。
步骤902:确定调度策略的更新次数达到预设更新次数的情况下,基于各个编码模型的总能耗,确定总能耗最低的编码模型对应的调度策略为最优化调度策略。预设更新次数可以根据实际应用场景确定,且预设更新次数小于或等于最大优化次数。
示例性的,当每个第一主干节点与第二分支网络一一对应连接时,优化的最大次数为2m+n。
如图4所示,多任务网络模型400具有n个第一主干节点和m个第一分支子网络,至少一层主干节点与至少一个第一分支子网络连接,基于调度策略对多任务网络模型400进行编码,可以获得编码模型。在编码模型中,至少一个第一主干节点与至少一个第二分支子网络连接。此外,每个第一主干节点与每个第二分支网络均可以运行在第一联网设备,也可以运行在第二联网设备。因此,当每个第一主干节点与第二分支网络一一对应连接时,本公开示例性实施例中多任务网络模型的调度策略共有2m+n,也就是说,调度策略优化的最大次数为2m+n。例如:对于图4所示的多任务网络模型来说,m=n=4,则最大次数为24。
当调度策略的更新次数达到预设更新次数的情况下,本公开示例性实施例的方法可以在调度策略的预设更新次数限制下,采用进化算法获取所有能够用于调度多任务网络模型的调度策略的总能耗。此时,可以基于能耗函数从中选择总能耗最低的编码模型对应的调度策略作为最优化调度策略,以使将最优化调度策略用于调度多任务网络模型时,多任务网络模型的运行总能耗最低。且当多任务网络模型的运行总能耗最低时,各个子网络模型的相应运行指标最佳。
可见,本公开示例性实施例可以基于进化算法实时自动获取最优化调度策略,从而可以保证多分支网络模型的总能耗最低。
由上可见,本公开示例性实施例中提供的一个或多个技术方案,可以基于调度策略对多任务网络模型进行编码,获得编码模型,使得编码模型包括多个子网络模型;然后以每个子网络模型的运行指标与相应联网设备的运行能力匹配为进化算法的选择策略,以编码模型的总能耗最低为最优化调度策略的选择策略,采用进化算法对调度策略进行优化,获得最优化调度策略。可见,本公开示例性实施例的方法可以在处理共用数据源的不同任务时,无需重复调度共享多任务网络模型的主干网络,能够降低计算消耗,提升不同任务相应联网设备的处理能效,提高多任务网络模型的调度效率。同时,还可以基于进化算法实时自动获取最优化调度策略,从而保证多分支网络模型的运行总能耗最低。
上述主要从终端的角度对本公开实施例提供的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对功能单元进行划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种最优化调度策略的确定装置。图10示出了本公开示例性实施例的最优化调度策略的确定装置的模块示意性框图。如图10所示,最优化调度策略用于调度多任务网络模型,所述装置1000包括:
编码模块1001,用于基于调度策略对所述多任务网络模型进行编码,获得编码模型,编码模型包括多个子网络模型;
优化模块1002,用于采用进化算法对调度策略进行优化,获得最优化调度策略,进化算法的选择策略满足每个子网络模型的运行指标与相应联网设备的运行能力匹配,最优化调度策略的选择策略满足所述编码模型的总能耗最低。
作为一种可能的实现方式,多任务网络模型包括第一网络单元,第一网络单元包括第一主干网络以及连接在第一主干网络的m个第一分支子网络,第一主干网络具有串联的n个第一主干节点,每个第一主干节点与相应第一分支子网络连接,优化的最大次数为2m +n,m和n均为大于或等于2的整数。
作为一种可能的实现方式,多个子网络模型包括第二网络单元和k个第三网络单元,第二网络单元用于运行在第一联网设备上,第三网络单元运行在第二联网设备上,第二网络单元包括第二主干网络以及连接在第二主干网络的r个第二分支子网络,每个第三网络单元为第三分支子网络,k和r均为大于或等于1的整数,m=k+r。
作为一种可能的实现方式,第二主干网络具有串接的r个第二主干节点,至少一个第二主干节点与相应第二分支子网络连接;或,至少一个主干节点与至少一个第二分支子网络连接。
作为一种可能的实现方式,每个第三分支子网络包括串接的s个分支节点,第二联网设备包括t个子设备,s个分支节点用于运行在至少一个子设备,t和s均为大于或等于1的整数,t≤s。
作为一种可能的实现方式,第二主干网络包括第一主干网络的第1个第一主干节点至第r个第一主干节点,r为大于1且小于n的整数。
作为一种可能的实现方式,运行指标包括计算需求和通信需求,设备运行能力包括计算承载能力和网络承载能力,每个子网络模型的运行指标与相应联网设备的运行能力匹配,包括以下几种中的至少一种:
每个子网络模型的计算需求与相应联网设备的计算承载能力匹配;
每个子网络模型的通信需求与相应联网设备的网络承载能力匹配。
作为一种可能的实现方式,优化模块1002还用于确定每个子网络模型的目标运行指标;确定每个联网设备的运行能力满足相应子网络模型的目标运行指标的情况下,将多任务网络模型更新为编码模型,更新调度策略;确定至少一个联网设备的运行能力不满足相应子网络模型的目标运行指标的情况下,更新调度策略;
所述装置1000还包括确定模块1003,用于当调度策略的更新次数达到预设更新次数的情况下,基于各个编码模型的总能耗,确定总能耗最低的所述编码模型对应的调度策略为最优化调度策略,预设更新次数小于或等于最大优化次数。
图11示出了本公开示例性实施例的芯片的示意性框图。如图11所示,该芯片1100包括一个或两个以上(包括两个)处理器1101和通信接口1102。通信接口1102可以支持服务器执行上述方法中的数据收发步骤,处理器1101可以支持服务器执行上述方法中的数据处理步骤。
可选的,如图11所示,该芯片1100还包括存储器1103,存储器1103可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图11所示,处理器1101通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器1101控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器1103可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1103的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图11中将各种总线都标为总线系统1104。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图12,现将描述可以作为本公开的服务器或客户端的电子设备1200的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,电子设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
电子设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206、输出单元1207、存储单元1208以及通信单元1209。输入单元1206可以是能向电子设备1200输入信息的任何类型的设备,输入单元1206可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1207可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1208可以包括但不限于磁盘、光盘。通信单元1209允许电子设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
如图12所示,计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理。例如,在一些实施例中,本公开示例性实施例的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到电子设备1200上。在一些实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。
Claims (11)
1.一种最优化调度策略的确定方法,其特征在于,所述最优化调度策略用于调度多任务网络模型,所述方法包括:
基于调度策略对所述多任务网络模型进行编码,获得编码模型,所述编码模型包括多个子网络模型;
采用进化算法对所述调度策略进行优化,获得最优化调度策略,所述进化算法的选择策略满足每个所述子网络模型的运行指标与相应联网设备的运行能力匹配,所述最优化调度策略的选择策略满足所述编码模型的总能耗最低。
2.根据权利要求1所述的方法,其特征在于,所述多任务网络模型包括第一网络单元,所述第一网络单元包括第一主干网络以及连接在所述第一主干网络的m个第一分支子网络,所述第一主干网络具有串联的n个第一主干节点,每个所述第一主干节点与相应所述第一分支子网络连接,所述优化的最大次数为2m+n,m和n均为大于或等于2的整数。
3.根据权利要求2所述的方法,其特征在于,所述多个子网络模型包括第二网络单元和k个第三网络单元,所述第二网络单元用于运行在第一联网设备上,所述第三网络单元运行在第二联网设备上,所述第二网络单元包括第二主干网络以及连接在所述第二主干网络的r个第二分支子网络,每个所述第三网络单元为第三分支子网络,k和r均为大于或等于1的整数,m=k+r。
4.根据权利要求3所述的方法,其特征在于,所述第二主干网络具有串接的r个第二主干节点,至少一个所述第二主干节点与相应所述第二分支子网络连接;或,
至少一个所述主干节点与至少一个所述第二分支子网络连接。
5.根据权利要求3所述的方法,其特征在于,每个所述第三分支子网络包括串接的s个分支节点,所述第二联网设备包括t个子设备,s个所述分支节点用于运行在至少一个所述子设备,t和s均为大于或等于1的整数,t≤s。
6.根据权利要求3所述的方法,其特征在于,所述第二主干网络包括所述第一主干网络的第1个第一主干节点至第r个第一主干节点,r为大于1且小于n的整数。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述运行指标包括计算需求和通信需求,所述设备运行能力包括计算承载能力和网络承载能力,所述每个所述子网络模型的运行指标与相应联网设备的运行能力匹配,包括以下几种中的至少一种:
每个所述子网络模型的计算需求与相应联网设备的计算承载能力匹配;
每个所述子网络模型的通信需求与相应联网设备的网络承载能力匹配。
8.根据权利要求1~6任一项所述的方法,其特征在于,所述采用进化算法对所述调度策略进行优化,获得最优化调度策略,包括:
确定每个所述子网络模型的目标运行指标;
确定每个所述联网设备的运行能力满足相应所述子网络模型的目标运行指标的情况下,将所述多任务网络模型更新为所述编码模型,更新所述调度策略;
确定至少一个所述联网设备的运行能力不满足相应所述子网络模型的目标运行指标的情况下,更新所述调度策略;
当所述调度策略的更新次数达到预设更新次数的情况下,基于各个所述编码模型的总能耗,确定总能耗最低的所述编码模型对应的调度策略为所述最优化调度策略,所述预设更新次数小于或等于最大优化次数。
9.一种最优化调度策略的确定装置,其特征在于,所述最优化调度策略用于调度多任务网络模型,所述装置包括:
编码模块,用于基于调度策略对所述多任务网络模型进行编码,获得编码模型,所述编码模型包括多个子网络模型;
优化模块,用于采用进化算法对所述调度策略进行优化,获得最优化调度策略,所述进化算法的选择策略满足每个所述子网络模型的运行指标与相应联网设备的运行能力匹配,所述最优化调度策略的选择策略满足所述编码模型的总能耗最低。
10.一种电子设备,其特征在于,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1~8任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276723.5A CN115348324B (zh) | 2022-10-19 | 2022-10-19 | 一种最优化调度策略的确定方法及装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211276723.5A CN115348324B (zh) | 2022-10-19 | 2022-10-19 | 一种最优化调度策略的确定方法及装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115348324A true CN115348324A (zh) | 2022-11-15 |
CN115348324B CN115348324B (zh) | 2023-01-31 |
Family
ID=83957699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211276723.5A Active CN115348324B (zh) | 2022-10-19 | 2022-10-19 | 一种最优化调度策略的确定方法及装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115348324B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
CN111343602A (zh) * | 2019-06-21 | 2020-06-26 | 中南大学 | 基于进化算法的联合布局与任务调度优化方法 |
CN113300881A (zh) * | 2021-04-23 | 2021-08-24 | 北京邮电大学 | 基于5g网络的编排调度方法、装置、设备及存储介质 |
CN113747500A (zh) * | 2021-09-15 | 2021-12-03 | 北京航空航天大学 | 移动边缘计算环境下基于生成对抗式网络的高能效低延迟任务卸载方法 |
CN114595049A (zh) * | 2022-03-15 | 2022-06-07 | 国网智能电网研究院有限公司 | 一种云边协同任务调度方法及装置 |
US20220188658A1 (en) * | 2020-12-15 | 2022-06-16 | Zhejiang Lab | Method for automatically compressing multitask-oriented pre-trained language model and platform thereof |
CN115202210A (zh) * | 2022-07-29 | 2022-10-18 | 南开大学 | 一种基于多任务强化学习的流固耦合系统控制方法 |
-
2022
- 2022-10-19 CN CN202211276723.5A patent/CN115348324B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343602A (zh) * | 2019-06-21 | 2020-06-26 | 中南大学 | 基于进化算法的联合布局与任务调度优化方法 |
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
US20220188658A1 (en) * | 2020-12-15 | 2022-06-16 | Zhejiang Lab | Method for automatically compressing multitask-oriented pre-trained language model and platform thereof |
CN113300881A (zh) * | 2021-04-23 | 2021-08-24 | 北京邮电大学 | 基于5g网络的编排调度方法、装置、设备及存储介质 |
CN113747500A (zh) * | 2021-09-15 | 2021-12-03 | 北京航空航天大学 | 移动边缘计算环境下基于生成对抗式网络的高能效低延迟任务卸载方法 |
CN114595049A (zh) * | 2022-03-15 | 2022-06-07 | 国网智能电网研究院有限公司 | 一种云边协同任务调度方法及装置 |
CN115202210A (zh) * | 2022-07-29 | 2022-10-18 | 南开大学 | 一种基于多任务强化学习的流固耦合系统控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115348324B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347500B (zh) | 用于边缘计算环境中面向深度学习应用的任务卸载方法 | |
CN108965014B (zh) | QoS感知的服务链备份方法及系统 | |
Kim et al. | Multi-agent reinforcement learning-based resource management for end-to-end network slicing | |
CN109981753B (zh) | 一种面向物联网的软件定义的边缘计算的系统及资源分配方法 | |
US11968122B2 (en) | Joint optimization method and system for delay and spectrum occupation in cloud-edge collaborative network | |
CN104869151A (zh) | 一种业务卸载方法及系统 | |
CN112118312A (zh) | 一种面向边缘服务器的网络突发负载疏散方法 | |
CN114915630A (zh) | 基于物联网设备的任务分配方法、网络训练方法及装置 | |
US20060031444A1 (en) | Method for assigning network resources to applications for optimizing performance goals | |
Liu et al. | ERP: Edge resource pooling for data stream mobile computing | |
CN105144109A (zh) | 分布式数据中心技术 | |
WO2022001941A1 (zh) | 网元管理方法、网管系统、独立计算节点、计算机设备、存储介质 | |
CN115297008B (zh) | 基于智算网络的协同训练方法、装置、终端及存储介质 | |
Li et al. | Profit driven service provisioning in edge computing via deep reinforcement learning | |
CN112213956B (zh) | 一种自动驾驶仿真任务调度方法、装置、设备及可读介质 | |
CN113220459A (zh) | 一种任务处理方法及装置 | |
CN115348324B (zh) | 一种最优化调度策略的确定方法及装置和电子设备 | |
CN116436923A (zh) | 一种按需组网服务实例自主生成及匹配方法与系统 | |
CN105190599A (zh) | 云应用带宽建模 | |
CN115002215A (zh) | 面向云上政企的资源分配模型训练方法以及资源分配方法 | |
CN115208892A (zh) | 基于动态资源需求的车路协同在线任务调度方法及系统 | |
Karimi et al. | Intelligent and Decentralized Resource Allocation in Vehicular Edge Computing Networks | |
CN114035919A (zh) | 基于配电网分层分布特征的任务调度系统及方法 | |
CN114281544A (zh) | 一种基于边缘计算的电力任务执行方法及装置 | |
CN113703936A (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 |