CN114546647A - 调度方法和调度装置 - Google Patents
调度方法和调度装置 Download PDFInfo
- Publication number
- CN114546647A CN114546647A CN202210158932.3A CN202210158932A CN114546647A CN 114546647 A CN114546647 A CN 114546647A CN 202210158932 A CN202210158932 A CN 202210158932A CN 114546647 A CN114546647 A CN 114546647A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- electronic device
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
Abstract
本申请公开一种调度方法和调度装置,该方法及装置响应于获得一目标任务,获得至少一第二电子设备的状态信息(第二电子设备与第一电子设备至少具有空间上的关联关系),并至少基于获得的状态信息确定目标分配策略,以及基于目标分配策略将目标任务的各个目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得对应的第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
Description
技术领域
本申请属于资源分配与任务调度技术领域,尤其涉及一种调度方法和调度装置。
背景技术
现有的边缘计算任务调度方案,通常是采用直接指定或简单指定的方式,将任务分配给某个/多个边缘设备执行,然而该处理方式难以实现任务的合理分配与调度,导致任务的执行效率、可靠性及设备稳定性等表现较差,难以达到预期效果。
发明内容
为此,本申请公开如下技术方案:
一种调度方法,应用于第一电子设备,所述方法包括:
响应于获得一目标任务,获得至少一第二电子设备的状态信息,所述状态信息至少包括所述第二电子设备的负载信息,所述目标任务包括至少一项待执行或在执行任务,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
至少基于所述状态信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
可选的,其中,获得至少一第二电子设备的状态信息,包括:
按照第一间隔时长周期性地获取所述第二电子设备的负载信息和网络信息;或,
监测到第二电子设备与所述第一电子设备建立所述关联关系或解除所述关联关系,获取与所述第一电子设备具有所述关联关系的第二电子设备的负载信息和网络信息;或,
接收与所述第一电子设备具有所述关联关系的第二电子设备上报的负载信息和网络信息。
可选的,所述至少基于所述状态信息确定目标分配策略,包括:
基于所述状态信息和所述目标任务计算不同分配策略的目标值,基于所述目标值确定所述目标分配策略,其中,所述目标值能够表征具有所述关联关系的各电子设备之间的负载均衡情况。
可选的,所述至少基于所述状态信息确定目标分配策略,包括:
根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略;
其中,所述分配模型为基于强化学习算法训练的神经网络模型。
可选的,所述根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略,包括:
将所述状态信息和所述目标任务的任务信息输入所述分配模型;
通过所述分配模型中的状态感知器将所述状态信息,映射成所述分配模型的内部感知环境条件;
通过所述分配模型中的动作选择器基于所述内部感知环境条件和所述任务信息为所述目标任务确定并输出对应的分配策略,作为所述目标分配策略;
其中,所述目标分配策略,能用于在将所述目标任务的不同目标子任务分配至对应的第二电子设备后,使所述不同目标子任务在对应第二电子设备的执行性能满足预设性能要求。
可选的,所述基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,包括:
通过远程过程调用机制对所述目标子任务执行数据序列化,按照所述目标分配策略传输给对应的第二电子设备,以在所述第二电子设备执行数据反序列化和以对应服务处理所述目标子任务后,接收所述第二电子设备反馈的执行结果。
可选的,所述使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行,包括:
使得所述第二电子设备将工作流编排为由所述第二电子设备自身任务和接收到的目标子任务组成的有向无环图,确定对应于所述有向无环图表征的不同任务或子任务间的依赖关系,并通过调度器在一组工作线程上根据所述依赖关系对所述自身任务和所述目标子任务进行调度执行。
可选的,上述方法,还包括:
响应于获得一信息查看请求,获得至少一第二电子设备的状态信息和/或任务调度信息并展示;或,
响应于获得一设备管理指令,对对应的第二电子设备进行设备管理;或,
响应于获得一任务管理指令,进行对应的任务管理。
可选的,上述方法,还包括:
获得每一第二电子设备反馈的针对所述目标子任务的执行结果;
至少基于所述目标子任务的信息对所述执行结果进行拼接处理,得到所述目标任务的处理结果;且/或,
卸载所述目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
一种调度装置,包括:
获取模块,用于响应于获得一目标任务,获得至少一第二电子设备的状态信息,所述状态信息至少包括所述第二电子设备的负载信息,所述目标任务包括至少一项待执行或在执行任务,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
确定模块,用于至少基于所述状态信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
分配模块,用于基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
一种第一电子设备,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集实现如上文任一项所述的调度方法。
一种存储介质,所述存储介质上至少存储有一组指令集,所述指令集在运行时用于实现如上文任一项所述的调度方法。
由以上方案可知,本申请公开的调度方法和调度装置,响应于获得一目标任务,获得至少一第二电子设备的状态信息(第二电子设备与第一电子设备至少具有空间上的关联关系),并至少基于获得的状态信息确定目标分配策略,以及基于目标分配策略将目标任务的各个目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得对应的第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
本申请综合考虑用于提供算力共享的至少一第二电子设备的状态信息,为目标任务确定相适配的目标分配策略,对目标任务的不同目标子任务进行设备间的合理分配与调度,并在接收到目标子任务的每一第二电子设备进一步按照目标调度策略进行设备内部的任务调度,实现了一种对任务的包括外部调度及内部调度的混合调度机制,能够更好的满足高效、合理的任务分配与调度要求,使得边缘网络等场景中各设备之间负载均衡,并保证每一设备上任务的执行效率及任务执行的有序性、可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请提供的调度方法的一种流程示意图;
图2是本申请提供的在第一、第二电子设备基于任务池的任务调度示意图;
图3是本申请提供的基于外部调度和内部调度的混合调度框架图;
图4是本申请提供的基于强化学习的外部调度DNN模型构建过程图;
图5是本申请提供的利用分配模型确定目标分配策略的过程图;;
图6是本申请提供的内部调度的实现框架图;
图7是本申请提供的调度方法的另一种流程示意图;
图8是本申请提供的混合调度机制在多设备的实施部署架构图;
图9是本申请提供的调度方法的又一种流程示意图;
图10是本申请提供的调度方法的再一种流程示意图;
图11是本申请提供的调度装置的组成结构图;
图12是本申请提供的第一电子设备的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
申请人发现,在现有的边缘计算任务调度方案中,通常是采用直接指定或简单指定的方式,将任务分配给某个/多个边缘设备执行,没有考虑不同边缘节点的实时情况对任务进行合理的分配和调度,并且在单一的边缘节点上同时需要多条任务执行时,也没有考虑单一节点的任务调度的合理性。
基于此,本申请公开一种调度方法和调度装置,通过同时考虑边缘网络等算力共享网络中单一节点、多节点任务调度的合理性,为边缘网络等算力共享网络场景中的任务调度,提供外部调度和内部调度相结合的混合调度方案,使得任务调度更为合理、有效。
本申请公开的调度方法可应用于第一电子设备,第一电子设备可以是但不限于众多通用或专用的计算装置环境或配置下的设备,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、手机、电子手表、AR/VR设备、多处理器装置、各种嵌入式设备等等。本申请方法的一典型应用场景是,第一电子设备利用边缘网络中的边缘设备提供的算力资源来协作处理第一电子设备上的计算任务,该应用场景中,第一电子设备相应可以是边缘网络中的某一边缘设备,或者,还可以是独立于边缘网络并需调用边缘网络所提供的算力资源进行任务协作的设备,如云服务器等;当然本申请公开的技术方案主要应用于边缘网络场景或某一具体的空间内,如家庭空间、办公区域、学校、教室、甚至会议室等不同空间范围的具体空间内,所述具体空间内具有多个能够组成边缘网络的电子设备。
边缘网络就近利用周边的一些小算力终端(如,笔记本电脑、手机、平板等)作为边缘设备,来提供高质量的计算服务。边缘网络中的边缘设备/边缘节点相应为构成边缘网络的各个小算力终端。所述边缘设备具有相同或不同的硬件平台和/或操作系统。
本申请实施例公开的调度方法的实现过程如图1所示,具体包括:
步骤101、响应于获得一目标任务,获得至少一第二电子设备的状态信息,第二电子设备的状态信息至少包括第二电子设备的负载信息,
其中,目标任务包括至少一项待执行或在执行任务,目标任务可以是但不限于AI(Artificial Intelligence,人工智能)模型训练任务、音视频剪辑任务、图像渲染任务等等。
上述至少一个第二电子设备分别为能用于提供算力共享服务的设备,可选的,为边缘网络中的各个边缘设备。
第二电子设备与第一电子设备至少具有空间上的关联关系。具体的,第二电子设备与第一电子设备至少具有空间上的关联关系,可以是指,第一电子设备与第二电子设备属于同一边缘网络、均处于所属的边缘网络对应的网络空间范围,如均为家庭网络中的设备或公司网络中的设备等;或者,还可以是指,第一电子设备和第二电子设备未处于同一局域网,但能通过通信网络完成相互间的通信,如第一电子设备为独立于由多个第二电子设备构成的边缘网络的云服务器,并能够借助网关通过通信网络与边缘网络中的小算力终端进行通信交互等,对此不做限制。
响应于获得一目标任务,第一电子设备获得至少一第二电子设备的状态信息。第二电子设备的状态信息至少包括第二电子设备的负载信息,除此之外,可选的,第二电子设备的状态信息还可以包括第二电子设备的网络信息,即第二电子设备在所属的算力共享网络如边缘网络中对应的网络信息。
后续,本申请实施例将主要以获得的状态信息包括第二电子设备的负载信息和网络信息为例进行方案说明。其中,第二电子设备的状态信息中包括的负载信息和网络信息,可以是第二电子设备运行时(当前)的负载信息和网络信息,也可以是第二电子设备的历史负载信息和网络信息,对此不作限制。
在一实施方式中,第一电子设备按照第一间隔时长周期性地获取各第二电子设备的状态信息。进一步,可选的,第一电子设备可预先确定轮询算法,其中,轮询算法包括但不限于轮询周期、一次轮询过程中对各第二电子设备的访问顺序等轮询策略相关信息,轮询周期用于指示前后相邻的两次轮询事件之间的时间间隔,如30s、60s等。第一电子设备相应按照确定的轮询算法周期性的轮询式获取至少一第二电子设备的状态信息。
针对边缘设备间形成的自组织网络拓扑结构(即边缘网络的网络结构)的不断变化且不可预测特征,考虑到设备可能随时接入边缘网络或离开边缘网络,在另一实施方式中,本申请监测第二电子设备与第一电子设备建立上述关联关系或解除上述关联关系的事件,基于监测到建立上述关联关系或解除上述关联关系的事件,获取与第一电子设备具有上述关联关系的各第二电子设备的状态信息,以在有设备接入(新加入)或离开边缘网络时,及时、有针对性的获取当前属于边缘网络(即,能有效提供算力服务)的相应第二电子设备的状态信息。
可选的,在其他实施方式中,第一电子设备可以接收与第一电子设备具有上述关联关系的相应第二电子设备上报的状态信息(如,负载信息和网络信息)。
其中,第二电子设备的网络信息,包括但不限于第二电子设备自身网络状况信息如网络拥塞情况,以及第二电子设备在所属的算力共享网络如边缘网络中对应的网络环境信息。第二电子设备的网络环境信息包括:第二电子设备在所属的算力共享网络中对应的各个相邻第二电子设备的设备标识,以及各个相邻第二设备的设备状态信息(如负载,网络拥塞情况等)。
在上述各实施方式中,可选的,每个第二电子设备在所属算力共享网络中对应的各个相邻第二设备的设备标识,由每个第二设备基于获取的该算力共享网络如边缘网络的网络拓扑结构信息确定;每个第二设备在该网络中对应的各个相邻第二设备的设备状态信息,由每个第二设备基于确定的各个相邻第二设备的设备标识,通过对各个相邻第二设备进行设备状态信息请求获取,以此使得在每个第二电子设备得到其对应的网络信息,并将对应的网络信息结合自身负载信息作为第二电子设备的状态信息,反馈(通过响应第一电子设备的状态信息获取请求)或上报至第一电子设备。
本步骤101中,第一电子设备在响应于获得一目标任务,而获得至少一第二电子设备的状态信息时,可选的,具体获得至少一第二电子设备的资源类型、资源标识和能反映各类型资源使用情况的设备运行时参数,并将获得的这些信息直接作为上述至少一第二电子设备的状态信息中的负载信息。
其中,上述的资源类型包括但不限于处理器资源、磁盘资源、内存资源、寄存器资源等多种与算力相关的资源类型;资源标识包括但不限于硬盘型号、处理器型号等相关标识信息;能反映各类型资源使用情况的设备运行时参数包括但不限于第二电子设备当前各类型资源的占用率、设备上运行的线程数/进程数、任务数、可用带宽、数据流流量、数据传输速率、拥塞情况信息、历史任务执行成功率、执行时间等中的部分或全部信息。
但不限于此,对于第二电子设备的状态信息中的负载信息获取,在其他实施方式中,第一电子设备在获得至少一第二电子设备的资源类型、资源标识和各类型资源的使用情况后,不直接将这些信息作为第二电子设备的负载信息,而是进一步基于获得的上述信息对该至少一第二电子设备进行资源建模,即,基于每一第二电子设备的资源类型、资源标识和各类型资源使用信息中的各种参数及指标值,对应构建每一第二子设备的资源模型,资源模型本质体现的是第二电子设备的资源及资源使用情况,能够表征设备负载情况,本实施方式相应将每一第二电子设备的资源模型作为第二电子设备的负载信息。
具体的,基于第二电子设备的不同资源类型、资源标识、不同类型资源的占用率、线程数/进程数、任务数、可用带宽、数据流流量、数据传输速率、拥塞率等,对应构建第二子设备的资源的多维特征向量,该多维特征向量即为第二子设备的资源模型,也即为第二子设备的负载信息。通过资源建模,可以获知并支持用户查看边缘网络整体网络下各个第二电子设备的负载状况/资源及资源使用状况。
申请人发现,算力共享技术中,算力共享网络(如边缘网络)的负载模型建模面临的主要挑战,源于多维资源耦合的复杂网络环境,基于此,本申请实施例在设备负载的多维特征向量包括上述各单一维度参数/指标的情况下,进一步从“多维资源耦合角度”向边缘网络下设备负载的多维特征向量引入组合维度资源参数/指标,组合维度资源参数/指标是指由多个(如2个、3个等)具有相关性的单一维度资源参数/指标构成的参数/指标组合,包括但不限于“数据流流量-数据传输速率”、“拥塞情况-可用带宽”、“内存占用率-CPU占用率-磁盘占用率”等等。设备负载的一个多维特征向量包括的组合维度资源参数/指标的数量可以为一个或多个,通过引入组合维度资源参数/指标,来解决多维资源耦合的复杂网络环境中设备节点的负载(资源)表征问题,进一步优化资源建模中设备的资源模型结构,相应实现对设备负载的多维度、全方位合理表征。
其中,具体可通过统计学中的多元相关性分析方法,确定组合维度资源参数/指标中不同资源参数/指标之间的相关性数值(相关系数),并将确定的相关性数值(相关系数),作为第二电子设备资源(负载)的多维特征向量的一个分量。也就是说,该实施方式下,第二电子设备对应的资源模型(也即负载信息)为:由第二电子设备的多个单一维度资源参数的参数值及组合维度资源参数中不同参数的相关性数值构成的多维特征向量。
另外,申请人还发现,不同类型(如,不同操作系统/硬件平台)的设备,因其系统、配置的不同,具备相关性的参数/指标组合可能不同,相同参数/指标组合间的相关程度也可能不同,因此优选的,实际应用中,至少针对不同类型的第二电子设备分别进行参数/指标信息采集,并分别分析其不同参数/指标间是否具备相关性,以及实际的相关性数值。
步骤102、至少基于获得的状态信息确定目标分配策略,目标分配策略至少用于将目标任务分为至少两目标子任务。
目标分配策略为用于实现任务的外部调度所基于的策略,具体用于通过将目标任务的不同目标子任务在边缘网络等算力共享网络中的各个第二电子设备间进行分配与调度,实现对任务的外部调度。
可选的,目标任务可以为批量的待处理任务或待通过边缘网络的多个设备进行集群协作处理的单个任务,对此不作限制。
针对目标任务为批量待处理任务的情况,目标任务的各个目标子任务,为批量待处理任务中的不同任务,和/或对批量待处理任务至少部分任务中的每个单一任务进行拆解所得的相应任务块,具体通过将批量待处理任务的不同任务和/或至少部分任务中每个单一任务的相应任务块,根据目标分配策略均衡地分配至不同设备进行任务协作,实现对批量待处理任务在网络不同设备之间的外部调度。针对目标任务为单一任务的情况,目标任务的各个目标子任务,为对该单一任务进行任务拆解所得的各个任务块,具体通过将该单一任务的各个任务块,根据目标分配策略均衡地分配至不同设备进行任务协作,实现对单一任务在网络不同设备之间的外部调度。
可选的,在第一电子设备中,对于目标任务的所有目标子任务,都缓存在一个全局的任务池中,如图2所示,总任务池部署在第一电子设备中,其中的各个task可视为目标任务的相应目标子任务,具体可以是批量待处理任务中的单一任务,或单一任务的不同任务块。
其中,在至少基于获得的状态信息确定目标分配策略时,可基于获得的至少一第二电子设备的状态信息,和目标任务的任务信息计算不同分配策略的目标值,基于不同分配策略的目标值确定目标分配策略,如,选取对应的目标值最高的分配策略,或选取对应的目标值属于top_k目标值的任一分配策略作为目标分配策略等,k为大于1的整数。
分配策略的目标值,至少能够表征按该分配策略将目标任务的不同目标子任务分配至对应的第二电子设备后,具有上述关联关系的各电子设备之间的负载均衡情况。分配策略对应的目标值越大,表征具有上述关联关系的各电子设备之间的负载均衡程度越高。可选的,分配策略的目标值,可以是基于边缘网络的历史分配策略对应的各电子设备之间的历史负载均衡情况,为分配策略预估的一负载均衡度评分,或基于强化学习(Q-learning)算法计算出的分配策略的Q值(收益值),对此不作限制,其中,分配策略的Q值至少能够指征分配策略在各电子设备负载均衡方面的效益值。
优选的,本申请实施例根据目标任务的任务信息和上述至少一第二电子设备的状态信息,利用预先构建的分配模型,为目标任务确定对应的分配策略,作为上述的目标分配策略。
目标任务的任务信息,包括但不限于目标任务的类型、待处理的数据量、任务复杂度、任务速率要求/执行稳定性要求等中的任一种或多种信息。
上述分配模型可以是但不限于基于强化学习算法训练的神经网络模型。如,具体采用强化学习Q-learning中的DQN(Deep Q Network)算法训练一“状态数据-分配策略”的DNN(Deep Neural Networks,深度神经网络)模型,以将训练得到的DNN模型作为分配模型,来最佳求解边缘网络等算力共享网络中各设备间的任务分配/调度问题等。
该实施方式下,基于强化学习算法计算不同分配策略的收益值,并拟合不同分配策略的实际收益值,训练得到满足拟合要求的神经网络模型,作为所述分配模型。具体的,在模型的每一轮训练过程中,边缘网络下各第二电子设备的状态信息中每一参数/分量均参与基于Q-learning的DNN训练,通过多轮训练过程使模型计算的各分配策略的收益值不断逼近边缘网络下各分配策略的实际收益,直至模型计算的各分配策略的收益值对各分配策略实际收益值的拟合达到设定的拟合条件时,完成模型训练,得到分配模型。
拟合条件可以但不限于设定为:模型的迭代训练次数达到设定阈值,或模型损失不高于设定损失率。
结合参见图3与图4,图3示出了本申请中对任务的基于外部调度和内部调度的混合调度方案整体框架,图4示出了基于强化学习的外部调度DNN模型(即,分配模型)构建过程,即使用强化学习算法DQN来实现智能调度所需的模型构建。模型训练过程中,将采集的各第二电子设备的状态信息(如各第二电子设备分别对应的负载信息及网络信息)以及目标任务的任务信息,作为模型输入端的信息输入模型,模型内部将上述状态信息转换为强化学习的环境条件,并对此做出Reward(奖赏/收益)计算,以及基于奖赏/收益值选择最优的分配策略实现模型训练。
具体的,强化学习Agent一般由三个部分构成:状态感知器、学习器和动作选择器,模型训练过程中,感知器将输入的各第二电子设备的状态信息映射成内部感知环境条件,动作选择器根据当前策略为任务选择对应的动作作用于环境,学习器根据环境状态的奖赏值及内部感知,更新Agent的知识策略。内部环境在选取的动作的作用下将导致环境状态的变迁。
Agent的知识策略,包括但不限于存放于经验池的一系列人工指定的用于对任务实现智能外部调度的分配策略,以及模型训练过程中通过学习得到一些中间分配策略。通过不断基于相应知识策略选取对应动作作用于内部感知环境,并以边缘网络等算力共享网络下各设备的任务负载均衡为优化目标对此做出Reward(奖赏/收益)计算,以及通过将计算出的奖赏/收益值拟合实际奖赏/收益值,根据随机梯度下降等方法调整模型网络参数,实现模型的训练、优化,最终得到高性能的用于任务的智能外部调度的分配模型。基于DQN算法的分配模型,可以根据不同第二电子设备的网络状况和负载情况分配不同的任务量,来达到整个集群的任务效率最优化。
基于上述方式训练的分配模型相应为DNN模型,包括状态感知器和动作选择器。
参见图5,根据上述至少一第二电子设备的状态信息和目标任务的任务信息,利用构建的分配模型,为目标任务确定对应的分配策略的过程,具体包括:
步骤501、将上述至少一第二电子设备的状态信息和目标任务的任务信息输入分配模型。
步骤502、通过分配模型中的状态感知器将上述状态信息,映射成分配模型的内部感知环境条件。
也就是说,分配模型的状态感知器负责将各个第二电子设备分别对应的状态信息,映射成分配模型能够内部感知的环境条件信息,并将其作为目标任务的分配策略确定需基于的环境条件。
步骤503、通过分配模型中的动作选择器基于上述内部感知环境条件和目标任务的任务信息为目标任务确定并输出对应的分配策略,作为所述目标分配策略。
分配模型的动作选择器,基于目标任务的任务信息和内部感知环境条件,计算经验池中不同分配策略(人工指定的各种分配策略及模型训练过程中通过学习得到一些中间分配策略)的奖赏/收益值,并输出奖赏/收益值最大的分配策略作为目标分配策略。
Reward(奖赏)计算所得奖赏/收益值即为Q-learning中的Q值,本实施例中,分配策略的奖赏/收益值,能用于反映基于分配策略将任务在算力共享网络中进行外部调度时网络各设备的负载均衡情况,奖赏/收益值越高,网络的负载均衡程度越高。
分配模型所述输出的上述目标分配策略,还能用于在将目标任务的不同目标子任务分配至对应的第二电子设备后,使不同目标子任务在对应第二电子设备的执行性能满足预设性能要求。该预设性能要求可以是但不限于任务执行可靠性、任务执行效率等方面的要求。
实际应用中,针对批量待处理任务或单一任务形式的目标任务,具体可以预先在模型输入之前,按设定的拆分策略将批量待处理任务或单一任务形式的目标任务拆分成多个目标子任务,如按设定的单位任务数据量对批量待处理任务或单一任务进行任务拆分等,并向分配模型输入各目标子任务的任务信息及至少一第二电子设备的状态信息,由分配模型直接输出用于对各目标子任务在网络不同设备进行分配的目标分配策略。
但不限于此,在其他实施方式中,也可以向分配模型输入目标任务的任务信息及获得的至少一第二电子设备的状态信息,由分配模型输出的目标分配策略决定将批量待处理任务或单一任务拆分为多个目标子任务的拆分方式,如拆分成几个目标子任务,各目标子任务对应怎样的任务量等,同时,分配模型输出的目标分配策略还包括将各目标子任务对应指派至相应节点的指派信息。实施中,可根据实际情况选择所需的实现方式。
步骤103、基于目标分配策略将目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得对应的第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
在针对目标任务确定出对应的目标分配策略后,按目标分配策略将目标任务的各个目标子任务的至少部分均衡地分配到对应的第二电子设备,以至少保证与第一电子设备存在上述关联关系的各第二电子设备间的负载均衡。
具体的,参见图2,各第二电子设备同样可分别维护一任务池。
第一电子设备基于确定的目标分配策略,将其总任务池中的各个目标子任务(task)合理调度到不同的第二电子设备上,不同第二电子设备各自接收被分配的目标子任务,并将其缓存到自身任务池中,第二电子设备任务池中缓存的各任务包括其当前接收的目标子任务及自身已有任务,第二电子设备的自身已有任务,可以包括但不限于第二电子设备自身发起的任务或第二电子设备接收的用于协作的其他任务。
第一电子设备在将相应目标子任务分配至对应的第二电子设备后,从其总任务池中将已分配的目标子任务释放。
可选的,第一电子设备通过远程过程调用机制对目标任务的各个目标子任务执行数据序列化,并按照目标分配策略将完成序列化的各个目标子任务传输给对应的第二电子设备,以在第二电子设备执行数据反序列化和以对应服务处理目标子任务后,接收第二电子设备反馈的执行结果。
本申请实施例中,远程过程调用基于网络套接字(Socket)以动态代理模式的方式实现,具体在第一电子设备及第二电子设备端封装有基于RPC代理类实现的RPC代理,和RPC代理类所依赖的socket组件,通过RPC代理实现远程过程调用。RPC代理包括socket连接管理、序列化和发送/接收等子模块,其中,socket连接管理子模块利用socket组件完成不同设备间或同一设备不同进程间的通信,序列化子模块负责对数据的序列化工作,如利用Pickle在数据传输前完成对数据的序列化工作等,发送/接收子模块负责数据的收发。
且具体的,RPC代理分为客户端和服务端两个模块,其中,客户端提供任务协作发起设备(如第一电子设备)端功能,服务端提供协作设备(如第二电子设备)端功能,以支持电子设备既可以基于客户端身份发送数据(如请求数据或任务数据),又可以基于服务端身份接收数据(如接收分配的目标子任务)。其中,客户端通过RPC代理将数据序列化后通过socket传输给服务端,服务端通过RPC代理反序列化数据并对数据进行所需处理(如对目标子任务的任务处理)后再以同样的方式返回给客户端,即,基于RPC代理将数据序列化后通过socket返回给客户端。
之后,进入任务的内部调度阶段,由接收到目标子任务的第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。目标调度策略,即为用于实现在第二电子设备内部对其任务池中的任务(第二电子设备的自身任务和接收到的目标子任务)进行内部调度的策略。
可选的,第二电子设备将工作流编排为由第二电子设备自身任务和接收到的目标子任务组成的有向无环图,也即是指由第二电子设备自身任务池中的各task组成的有向无环图,有向无环图的每个节点代表一个task,有向无环图不同节点之间的关系代表不同task之间的依赖关系,包括但不限于调用关系、平行关系、输入输出关系等等,之后,确定对应于该有向无环图表征的不同任务或子任务间的依赖关系,在此基础上,第二电子设备利用调度器在一组工作线程上,根据确定的依赖关系对自身任务和目标子任务进行调度执行。
结合参见图3与图6,图6示例性提供了本申请实施例中内部调度的实现框架,该示例中,在边缘网络等算力共享网络的每一第二电子设备部署基于Airflow、并使用python语言编写的任务调度和监控平台。每一第二电子设备通过基于Airflow的任务调度和监控平台管理本机任务的调度,实现任务的内部调度。
其中,第一电子设备在通过基于强化学习算法训练的分配模型将目标任务的不同目标子任务合理、均衡地分配到不同第二电子设备后,每个接收到目标子任务的第二电子设备,再把接收的任务交给基于airflow的任务调度和监控平台,平台基于Airflow将workflow编排为由其任务池中的tasks组成的DAGs,并让调度器在一组workers上按照指定的依赖关系执行tasks。同时,可使用airflow提供的命令行工具和用户界面进行系统的任务调度查看和资源监督,通过python代码定义子任务,并支持各种Operate操作器,灵活性大,能满足用户的各种需求。通过将外部调度与设备内部的Airflow自调度结合起来形成对任务的混合调度机制,既满足边缘网络等算力共享网络中不同设备之间任务调度的合理、均衡性,又满足单一设备在多任务执行场景中各个任务执行的有序性、可靠性。
由以上方案可知,本申请实施例的调度方法,综合考虑用于提供算力共享的至少一第二电子设备的状态信息,为目标任务确定相适配的目标分配策略,对目标任务的不同目标子任务进行设备间的合理分配与调度,并在接收到目标子任务的每一第二电子设备进一步按照目标调度策略进行设备内部的任务调度,实现了一种对任务的包括外部调度及内部调度的混合调度机制,能够更好的满足高效、合理的任务分配与调度要求,使得边缘网络等场景中各设备之间负载均衡,并保证每一设备上任务的执行效率及任务执行的有序性、可靠性。
具体的,传统的边缘计算任务调度方案中,大多是采用直接指定或简单指定的方式将任务直接分配给某个/多个边缘设备上执行,难以实现任务的合理分配与调度,导致任务的执行效率、可靠性及设备稳定性等表现较差,例如,使用计算机进行集群视频渲染时,如果因为任务分配不当,将繁重的任务分配给了一个不理想的机器,如,计算机本身具有较为繁忙的任务或者计算机通信开销较大,则会导致因此节点渲染较慢而产生的整体渲染速度下降问题。另外,不仅仅局限于计算机本身,如无人机集群在进行协同任务(5G信号覆盖)时,如果任务分配不当或者因计算资源欠缺没有将待执行的任务放入任务队列,那么可能对整个集群都会产生一定的影响,导致集群的信号分布不会达到预期的效果,甚至因为无人机的移动可能导致无人机的碰撞。
本申请提供的对任务基于外部调度与内部调度相结合的混合调度机制,可有效解决上述问题,既考虑了不同计算设备节点的实时情况,通过外部调度在不同设备间对任务进行合理的分配和调度,又考虑了单一节点上同时需要多条任务执行时多任务调度的合理性,通过内部调度保证多条任务执行时的有序性、可靠性。
在一实施例中,参见图7提供的调度方法流程图,本申请公开的调度方法,还可以包括以下处理中的任意一种或多种(图7仅示例性提供包括以下所有处理的情况):
步骤104、响应于获得一信息查看请求,获得至少一第二电子设备的状态信息和/或任务调度信息并展示。
步骤105、响应于获得一设备管理指令,对对应的第二电子设备进行设备管理。
步骤106、响应于获得一任务管理指令,进行对应的任务管理。
在上一实施例的基础上,本实施例继续在第一电子设备提供对各个第二电子设备的任务和/或设备状态的协调与管理功能,包括但不限于,各个第二电子设备的状态信息和/或任务调度信息的收集与展示、设备管理、任务管理等等之中的任意一种或多种。
第一电子设备可以但不限于通过Web界面,对第二设备的设备状态信息或任务调度信息进行展示,以供使用者/管理者查看。Web展示的第二电子设备状态信息至少包括第二电子设备的负载信息,除此之外,可选的,还可以包括第二电子设备的网络信息(如拥塞情况和网络环境信息等);所展示的任务调度状态信息,包括但不限于各第二电子设备上当前在执行和/或待执行任务的任务信息、各任务的调度关系、各个在执行任务的执行时间、执行进度、任务执行所基于的线程数等等。
对第二电子设备的任务管理包括但不限于,支持任务的下发、删除、任务暂停等管理操作,并响应于任务管理操作的操作指令,对对应第二电子设备进行相匹配的任务管理;对第二电子设备的设备管理包括但不限于,在有设备加入/退出边缘网络等算力共享网络时,对网络包含的相应第二电子设备信息的更新维护等。
参见图8,示例性提供了本申请中混合调度机制在多设备的实施部署架构图,该示例中,在边缘网络等算力共享网络的每一第二电子设备(如图8中的边缘设备PC2、PC3、PC4)分别部署基于Airflow的任务调度和监控平台,用于管理设备本机任务的调度即用于负责内部调度,可以保证每一第二电子设备上任务执行的有序性、可靠性,在第一电子设备(图8中的PC1)采用DQN方法去协调所有的第二电子设备,获取各第二电子设备的状态信息提供给基于DQN训练的分配模型做决策,以输出用于外部调度的目标分配策略,并同时支持Web进行相关信息展示,例如直接将相关信息提供给Web进行展示,或者在获得使用者/管理者的信息查看请求时,响应于该请求,进行相关信息展示等,展示的信息包括但不限于各第二电子设备的设备状态信息(如第二电子设备的负载信息和网络信息)、任务调度状态详情等。
第一电子设备的Web端会自动对接所有管理的第二电子设备,支持用户通过浏览器查看所有第二电子设备的状态、任务调度详情等,也可以支持人工的任务下发、删除以及设备管理等操作。
本实施例通过在第一电子设备以Web等方式,提供对算力共享网络中各第二电子设备的设备状态/任务调度查看功能、任务管理功能和/或设备管理功能,进一步为使用者对算力共享网络的设备/任务管理提供了方便。
在一实施例中,参见图9提供的调度方法流程图,本申请公开的调度方法,在步骤103之后,还可以包括:
步骤107、获得每一第二电子设备反馈的针对相应目标子任务的执行结果。
具体的,第一电子设备上的RPC代理类,调用所依赖的socket组件与各参与任务协作的第二电子设备进行设备间通信,通过设备间通信接收各第二电子设备反馈的相应目标子任务的执行结果,并对其反序列化。
步骤108、至少基于目标子任务的信息对接收的执行结果进行拼接处理,得到目标任务的处理结果。
第一电子设备接收到各第二电子设备的执行结果并完成反序列后,至少基于目标子任务的信息对反序列化后的执行结果进行拼接处理。
示例性的,目标任务为串流数据,相应可按各个目标子任务的时序对各个目标子任务的执行结果进行拼接处理,得到目标任务的处理结果。
在其他实施方式中,目标任务为非串流数据,该实施方式中,按各个执行结果所对应的目标子任务的任务标识/标签,对各个执行结果进行拼接处理,得到目标任务的处理结果。其中,各个执行结果所对应的目标子任务的任务标识/标签之间的关联,表征不同目标子任务之间的逻辑关联,如,序号相邻的标签表征对应的两个目标子任务在目标任务中为逻辑上耦合的两个任务块。通过对各个目标子任务的拼接处理得到目标任务的处理结果。
除了目标子任务的信息,可选的,还可以但不限于基于设备信息、时间信息、任务信息等任意一种或多种其他信息进行拼接处理,对此不做限制。
需要说明的是,第一电子设备可以参与或不参与对目标任务的协作处理,对此不作限制,可视实际情况而定,如果第一电子设备在目标任务执行过程中参与任务协作,则第一电子设备对对应目标子任务的执行结果同样参与拼接处理,如按其对应的时序参与拼接,或按其对应的任务标识/标签参与拼接等。
由于目标任务的各目标子任务在任务分配与调度阶段,既考虑了不同计算设备节点的实时情况通过外部调度在不同设备间对任务进行合理的分配和调度,又考虑了单一节点上同时需要多条任务执行时任务调度合理性,通过内部调度保证多条任务执行时的有序性、可靠性,从而进一步提升了边缘网络等算力共享网络中任务分配与调度的合理性,可使得任务协作在执行效率、执行可靠性/稳定性等方面得到进一步改善。
在一实施例中,参见图10提供的调度方法流程图,本申请公开的调度方法,在步骤108之后,还可以包括:
步骤109、卸载目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
可选的,在得到目标任务的执行结果后,第一电子设备进一步执行对目标任务的卸载操作,包括但不限于从待执行列表中删除任务,以及释放目标任务对应的资源,如释放目标任务的相关任务数据、中间数据所占用的CPU等计算资源,和/或磁盘/内存/寄存器等存储资源。
除此之外,第一电子设备还向参与任务协作的各个第二电子设备发送通知信息,各个第二电子设备基于接收的通知信息卸载对应的目标子任务,包括但不限于从待执行列表中删除对应的目标子任务,以及释放目标子任务对应的资源。
本实施例在通过拼接子任务执行结果得到任务的执行结果后,及时在参与协作的各个电子设备上对已协作完成的任务进行卸载,尽可能节省了对各个电子设备的资源占用。
对应于上述方法,本申请实施例还公开一种调度装置,该装置的组成结构如图11所示,具体包括:
获取模块1101,用于响应于获得一目标任务,获得至少一第二电子设备的状态信息,所述状态信息至少包括所述第二电子设备的负载信息,所述目标任务包括至少一项待执行或在执行任务,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
确定模块1102,用于至少基于所述状态信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
分配模块1103,用于基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
在一实施方式中,获取模块1101,具体用于:
按照第一间隔时长周期性地获取所述第二电子设备的负载信息和网络信息;或,
监测到第二电子设备与所述第一电子设备建立所述关联关系或解除所述关联关系,获取与所述第一电子设备具有所述关联关系的第二电子设备的负载信息和网络信息;或,
接收与所述第一电子设备具有所述关联关系的第二电子设备上报的负载信息和网络信息。
在一实施方式中,确定模块1102,具体用于:
基于所述状态信息和所述目标任务计算不同分配策略的目标值,基于所述目标值确定所述目标分配策略,其中,所述目标值能够表征具有所述关联关系的各电子设备之间的负载均衡情况。
在一实施方式中,确定模块1102,具体用于:
根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略;
其中,所述分配模型为基于强化学习算法训练的神经网络模型。
在一实施方式中,确定模块1102,在根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略时,具体用于:
将所述状态信息和所述目标任务的任务信息输入所述分配模型;
通过所述分配模型中的状态感知器将所述状态信息,映射成所述分配模型的内部感知环境条件;
通过所述分配模型中的动作选择器基于所述内部感知环境条件和所述任务信息为所述目标任务确定并输出对应的分配策略,作为所述目标分配策略;
其中,所述目标分配策略,能用于在将所述目标任务的不同目标子任务分配至对应的第二电子设备后,使所述不同目标子任务在对应第二电子设备的执行性能满足预设性能要求。
在一实施方式中,分配模块1103,具体用于:
通过远程过程调用机制对所述目标子任务执行数据序列化,按照所述目标分配策略传输给对应的第二电子设备,以在所述第二电子设备执行数据反序列化和以对应服务处理所述目标子任务后,接收所述第二电子设备反馈的执行结果。
在一实施方式中,第二电子设备将工作流编排为由所述第二电子设备自身任务和接收到的目标子任务组成的有向无环图,确定对应于所述有向无环图表征的不同任务或子任务间的依赖关系,并通过调度器在一组工作线程上根据所述依赖关系对所述自身任务和所述目标子任务进行调度执行。
在一实施方式中,上述装置还包括:
管理模块,用于:响应于获得一信息查看请求,获得至少一第二电子设备的状态信息和/或任务调度信息并展示;或,响应于获得一设备管理指令,对对应的第二电子设备进行设备管理;或,响应于获得一任务管理指令,进行对应的任务管理。
在一实施方式中,上述装置还包括:
拼接模块,用于获得每一第二电子设备反馈的针对所述目标子任务的执行结果;至少基于所述目标子任务的信息对所述执行结果进行拼接处理,得到所述目标任务的处理结果;且/或,
卸载模块,用于卸载所述目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
对于本申请实施例公开的调度装置而言,由于其与上文方法实施例公开的专业数据的调度方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例的说明即可,此处不再详述。
另外,本申请实施例还公开一种第一电子设备,可以是但不限于众多通用或专用的计算装置环境或配置下的设备,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置等等。
第一电子设备的组成结构,如图12所示,至少包括:
存储器10,用于存放计算机指令集;
计算机指令集可以通过计算机程序的形式实现。
处理器20,用于通过执行计算机指令集,实现如上文任一方法实施例公开的调度方法。
处理器20可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路(application-specific integrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件等。
除此之外,第一电子设备还可以包括通信接口、通信总线等组成部分。存储器、处理器和通信接口通过通信总线完成相互间的通信。
通信接口用于电子设备与其他设备之间的通信。通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等,该通信总线可以分为地址总线、数据总线、控制总线等。
本申请实施例还公开一种存储介质,所述存储介质上至少存储有一组计算机指令集,计算机指令集可以通过计算机程序的形式实现,计算机指令集在运行时用于实现如上文任一方法实施例公开的调度方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种调度方法,应用于第一电子设备,所述方法包括:
响应于获得一目标任务,获得至少一第二电子设备的状态信息,所述状态信息至少包括所述第二电子设备的负载信息,所述目标任务包括至少一项待执行或在执行任务,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
至少基于所述状态信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
2.根据权利要求1所述的方法,其中,获得至少一第二电子设备的状态信息,包括:
按照第一间隔时长周期性地获取所述第二电子设备的负载信息和网络信息;或,
监测到第二电子设备与所述第一电子设备建立所述关联关系或解除所述关联关系,获取与所述第一电子设备具有所述关联关系的第二电子设备的负载信息和网络信息;或,
接收与所述第一电子设备具有所述关联关系的第二电子设备上报的负载信息和网络信息。
3.根据权利要求1或2所述的方法,所述至少基于所述状态信息确定目标分配策略,包括:
基于所述状态信息和所述目标任务计算不同分配策略的目标值,基于所述目标值确定所述目标分配策略,其中,所述目标值能够表征具有所述关联关系的各电子设备之间的负载均衡情况。
4.根据权利要求1所述的方法,所述至少基于所述状态信息确定目标分配策略,包括:
根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略;
其中,所述分配模型为基于强化学习算法训练的神经网络模型。
5.根据权利要求4所述的方法,所述根据所述状态信息和所述目标任务,利用构建的分配模型,为所述目标任务确定对应的分配策略,得到所述目标分配策略,包括:
将所述状态信息和所述目标任务的任务信息输入所述分配模型;
通过所述分配模型中的状态感知器将所述状态信息,映射成所述分配模型的内部感知环境条件;
通过所述分配模型中的动作选择器基于所述内部感知环境条件和所述任务信息为所述目标任务确定并输出对应的分配策略,作为所述目标分配策略;
其中,所述目标分配策略,能用于在将所述目标任务的不同目标子任务分配至对应的第二电子设备后,使所述不同目标子任务在对应第二电子设备的执行性能满足预设性能要求。
6.根据权利要求1所述的方法,所述基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,包括:
通过远程过程调用机制对所述目标子任务执行数据序列化,按照所述目标分配策略传输给对应的第二电子设备,以在所述第二电子设备执行数据反序列化和以对应服务处理所述目标子任务后,接收所述第二电子设备反馈的执行结果。
7.根据权利要求1、2、4、5或6中,任一项所述的方法,所述使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行,包括:
使得所述第二电子设备将工作流编排为由所述第二电子设备自身任务和接收到的目标子任务组成的有向无环图,确定对应于所述有向无环图表征的不同任务或子任务间的依赖关系,并通过调度器在一组工作线程上根据所述依赖关系对所述自身任务和所述目标子任务进行调度执行。
8.根据权利要求1所述的方法,还包括:
响应于获得一信息查看请求,获得至少一第二电子设备的状态信息和/或任务调度信息并展示;或,
响应于获得一设备管理指令,对对应的第二电子设备进行设备管理;或,
响应于获得一任务管理指令,进行对应的任务管理。
9.根据权利要求1所述的方法,还包括:
获得每一第二电子设备反馈的针对所述目标子任务的执行结果;
至少基于所述目标子任务的信息对所述执行结果进行拼接处理,得到所述目标任务的处理结果;且/或,
卸载所述目标任务,以及通知对应的第二电子设备卸载对应的目标子任务。
10.一种调度装置,包括:
获取模块,用于响应于获得一目标任务,获得至少一第二电子设备的状态信息,所述状态信息至少包括所述第二电子设备的负载信息,所述目标任务包括至少一项待执行或在执行任务,所述第二电子设备与所述第一电子设备至少具有空间上的关联关系;
确定模块,用于至少基于所述状态信息确定目标分配策略,所述目标分配策略至少用于将所述目标任务分为至少两目标子任务;
分配模块,用于基于所述目标分配策略将所述目标子任务的至少部分均衡地分配到对应的第二电子设备,以使得所述第二电子设备按照目标调度策略对自身任务和接收到的目标子任务进行调度执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158932.3A CN114546647A (zh) | 2022-02-21 | 2022-02-21 | 调度方法和调度装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158932.3A CN114546647A (zh) | 2022-02-21 | 2022-02-21 | 调度方法和调度装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546647A true CN114546647A (zh) | 2022-05-27 |
Family
ID=81678034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210158932.3A Pending CN114546647A (zh) | 2022-02-21 | 2022-02-21 | 调度方法和调度装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546647A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024008197A1 (zh) * | 2022-07-08 | 2024-01-11 | 超聚变数字技术有限公司 | 一种带宽调整方法及系统 |
-
2022
- 2022-02-21 CN CN202210158932.3A patent/CN114546647A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024008197A1 (zh) * | 2022-07-08 | 2024-01-11 | 超聚变数字技术有限公司 | 一种带宽调整方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Van Le et al. | A deep reinforcement learning based offloading scheme in ad-hoc mobile clouds | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
CN113157410A (zh) | 线程池调节方法、装置、存储介质及电子设备 | |
WO2023011157A1 (zh) | 业务处理方法、装置、服务器、存储介质和计算机程序产品 | |
CN109831524A (zh) | 一种负载均衡处理方法及装置 | |
US8799474B2 (en) | Apparatus and method to allocate limited resources | |
CN115454589A (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
Khanna | RAS: A novel approach for dynamic resource allocation | |
CN115543624A (zh) | 异构算力编排调度方法、系统、设备及存储介质 | |
CN114546647A (zh) | 调度方法和调度装置 | |
CN114443284A (zh) | 一种集群资源负载均衡方法、装置、电子设备和介质 | |
CN116708451B (zh) | 一种边云协同调度方法及系统 | |
CN114546646A (zh) | 处理方法和处理装置 | |
CN115562846A (zh) | 一种资源调度的方法、装置及计算节点 | |
CN115421930B (zh) | 任务处理方法、系统、装置、设备及计算机可读存储介质 | |
WO2023066035A1 (zh) | 资源分配方法以及资源分配装置 | |
CN114531448B (zh) | 算力确定方法、装置及算力共享系统 | |
Cao et al. | Online cost-rejection rate scheduling for resource requests in hybrid clouds | |
Chandak et al. | An overview of task scheduling and performance metrics in grid computing | |
CN114741200A (zh) | 面向数据中台的计算资源分配方法、装置及电子设备 | |
CN114035919A (zh) | 基于配电网分层分布特征的任务调度系统及方法 | |
CN114489978A (zh) | 资源调度方法、装置、设备及存储介质 | |
Solar et al. | A multiagent-based approach to the grid-scheduling problem | |
CN111556126A (zh) | 模型管理方法、系统、计算机设备和存储介质 | |
CN115348324B (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 |