CN111427681A - 边缘计算中基于资源监控的实时任务匹配调度系统和方法 - Google Patents
边缘计算中基于资源监控的实时任务匹配调度系统和方法 Download PDFInfo
- Publication number
- CN111427681A CN111427681A CN202010102292.5A CN202010102292A CN111427681A CN 111427681 A CN111427681 A CN 111427681A CN 202010102292 A CN202010102292 A CN 202010102292A CN 111427681 A CN111427681 A CN 111427681A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- resource
- real
- subtasks
- 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种边缘计算中基于资源监控的实时任务匹配调度系统和方法,将用户需求进行检测后转换生成任务单元集合;对任务单元集合中的每个任务进行子任务解析,将重复的子任务进行整合去重,形成子任务工作流;监控各个边缘服务器的实时资源和任务状态;将子任务与边缘服务器进行实时模式匹配,根据子任务排序序列和任务优先级进行任务调度。能够在多个边缘服务器的环境下,保证任务正常执行和满足相应限制条件的基础上,尽量最小化各任务的平均运行时间,同时使得各项资源能够被更为充分地利用,从而为任务匹配调度提供动态的高吞吐量低延迟的任务响应。
Description
技术领域
本发明涉及边缘计算任务调度技术领域,具体地,涉及一种边缘计算中基于资源监控的实时任务匹配调度系统和方法。
背景技术
随着物联网(IoT)的发展和5G技术的提出,越来越多的设备拥有独立的运算能力和存储资源,并可以接入网络彼此进行信息传递。特别是提出的“智慧家居”、“智慧城市”等概念,将一定范围中的各个设备连接到一个局域网中,通过某些协调与指令发布来共同完成一系列任务。在图1这样的场景中,通常由一台能力较强的中央服务器和多台计算存储能力不一、用途能力不一的边缘服务器组成。其中中央服务器主要负责任务解析、和基于一定的规则的任务路线制定和任务分发,各个边缘服务器则负责处理服务器下发的任务并将结果传递给下一跳处理器(中央服务器或边缘服务器),形成工作流从而完成任务。
在传统的任务调度算法中,任务被看作一个个独立的调度和执行单元,任务间不存在依赖,因此可以简单地进行任务分配处理;然而,在实际复杂的应用场景下,任务之间一般都会存在着或强或弱的依赖关系。依赖关系的引入,意味着不同模块之间必须遵从某种特定的执行顺序,只有当某个任务被执行并处理后,依赖其的后续任务才能在此基础上继续执行。除此之外,用户发布的原始任务也可能包含多个子任务并且用户对任务执行时间也有一定的要求。
因此,日常生活中的各项任务逐步呈现出涉及资源广、时效性强、复杂度高等突出特点,这也对任务执行的准确性和时效性提出了更高的挑战。具体挑战分为以下四点:第一,针对用户友好的设计原则,系统任务发布者通常发布的原始任务通常是模糊、泛化的,与系统所能理解和执行的特定任务存在一定的偏差,需要通过某种方式,将用户的需求转化为可供机器理解并执行的带有一定约束的任务单元集合;第二,对于上一步得到的任务集合,需要进一步分解成各个子任务并根据各个任务的描述形成子任务之间的依赖关系,对于含有依赖关系的子任务,则需要将其前序所依赖的任务完成后才可执行;第三,在实时任务系统中,可能在某一阶段接收到多个任务执行,对于一系列任务或是单个任务下的一系列子任务,在其执行过程中不仅仅是简单地串行执行,还需考虑任务的时间约束,需要提高子任务复用率;第四,在原始任务映射完成并形成子任务依赖后,需要考虑如何根据当前系统的资源状态进行任务分配和对单个任务的任务路径规划,以提高整体系统的资源利用率和吞吐量。
与本申请相关的现有技术是专利文献CN109343942A,公开了一种基于边缘计算网络的任务调度方法,包括:在上一次调度结束后,将获取到的所有的节点信息,输入至预设的第一神经网络模型,输出优劣参数;将优劣参数广播至每一边缘计算节点,以供每一边缘计算节点分别根据优劣参数优化预设的第二神经网络模型,并将当前的节点状态信息输入至优化后的第二神经网络模型,输出下一次调度的决策信息,将每一计算任务分别发送到下一次调度的决策信息指示的执行主体进行计算。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种边缘计算中基于资源监控的实时任务匹配调度系统和方法。
根据本发明提供的一种边缘计算中基于资源监控的实时任务匹配调度系统,包括:
原始任务映射模块:接收输入的用户需求,为所述用户需求设定的结构化的输入格式,将用户需求进行检测后转换生成任务单元集合;
子任务依赖生成模块:对任务单元集合中的每个任务进行子任务解析,所述子任务解析式将任务转换成有向无环图形式的工作流,在设定时间间隔内的多个任务的工作流进行遍历,得到多个任务都包含的重复的子任务,进行整合去重,形成子任务工作流;
动态资源监测模块:监控各个边缘服务器的实时资源和任务状态,记为边缘服务器运行信息;
实时任务调度模块:接收子任务工作流和边缘服务器运行信息后,将子任务与边缘服务器进行实时模式匹配,同时令子任务排序序列,形成任务优先级,根据任务优先级和子任务排序序列进行任务调度。
优选地,所述原始任务映射模块包括:
接收输入模块:设定用户需求的结构化的输入格式,所述输入格式包括type类型、资源约束和允许延迟时长,引导并接收输入的用户需求;
类型检测模块:对用户需求中的type类型进行检测,使得用户需求中的原始任务和模板任务共享相同的type类型,得到第一检测结果;
约束检测模块:对用户需求中的资源约束进行检测,使得原始任务中的资源约束满足模板任务中的资源约束,得到第二检测结果;
延迟检测模块:对用户需求中的允许延迟时长进行检测,使得原始任务中的运行时长满足模板任务中的预期运行时长,得到第三检测结果;
需求转换模块:当第一检测结果、第二检测结果和第三检测结果均符合设定要求时,将用户需求与模板任务集进行匹配后,转换生成任务集合,否则,则返回错误报告无法处理用户需求。
优选地,所述子任务依赖生成模块包括:
任务解析模块:设定时间间隔,令任务单元集合中的多个原始任务映射生成的工作流进行遍历,得到多个相同类型的子任务;
任务比较模块:令相同类型的子任务进行比较,若两个子任务被指定统一目标机或均未指定目标机,则不合并所述两个子任务;若两个子任务的输入、输出和参数指标存在包含,则不合并所述两个子任务;若两个子任务所属的工作流的原始任务的允许延迟时长存在冲突,则不合并所述两个子任务。
优选地,所述动态资源监测模块包括:
通用监测模块:监测边缘服务器通用的资源使用情况,所述资源使用情况包括CPU占用率、内存占用率和当前任务等待队列;
特定监测模块:监控边缘服务器特有的资源信息,所述资源信息包括GPS信息、设备分辨率、摄像头拍照频率中的任一项或任多项。
优选地,所述实时任务调度模块包括:
序列推荐模块:将子任务工作流指定运算服务器,将得到的最长延迟时间进行升序排序,利用各个边缘服务器的资源信息和等待队列计算每个边缘服务器的推荐分数;
工作流分配模块:优先进行单个边缘服务器的分配,对于已指定边缘服务器的工作流,优先分配指定边缘服务器,否则,则分配给推荐分数第一的边缘服务器;对于未指定边缘服务器的工作流,则直接根据各个边缘服务器的推荐分数进行分配。
根据本发明提供的一种边缘计算中基于资源监控的实时任务匹配调度方法,包括:
原始任务映射步骤:接收输入的用户需求,为所述用户需求设定的结构化的输入格式,将用户需求进行检测后转换生成任务单元集合;
子任务依赖生成步骤:对任务单元集合中的每个任务进行子任务解析,所述子任务解析式将任务转换成有向无环图形式的工作流,在设定时间间隔内的多个任务的工作流进行遍历,得到多个任务都包含的重复的子任务,进行整合去重,形成子任务工作流;
动态资源监测步骤:监控各个边缘服务器的实时资源和任务状态,记为边缘服务器运行信息;
实时任务调度步骤:接收子任务工作流和边缘服务器运行信息后,将子任务与边缘服务器进行实时模式匹配,同时令子任务排序序列,形成任务优先级,根据任务优先级和子任务排序序列进行任务调度。
优选地,所述原始任务映射步骤包括:
接收输入步骤:设定用户需求的结构化的输入格式,所述输入格式包括type类型、资源约束和允许延迟时长,引导并接收输入的用户需求;
类型检测步骤:对用户需求中的type类型进行检测,使得用户需求中的原始任务和模板任务共享相同的type类型,得到第一检测结果;
约束检测步骤:对用户需求中的资源约束进行检测,使得原始任务中的资源约束满足模板任务中的资源约束,得到第二检测结果;
延迟检测步骤:对用户需求中的允许延迟时长进行检测,使得原始任务中的运行时长满足模板任务中的预期运行时长,得到第三检测结果;
需求转换步骤:当第一检测结果、第二检测结果和第三检测结果均符合设定要求时,将用户需求与模板任务集进行匹配后,转换生成任务集合,否则,则返回错误报告无法处理用户需求。
优选地,所述子任务依赖生成步骤包括:
任务解析步骤:设定时间间隔,令任务单元集合中的多个原始任务映射生成的工作流进行遍历,得到多个相同类型的子任务;
任务比较步骤:令相同类型的子任务进行比较,若两个子任务被指定统一目标机或均未指定目标机,则不合并所述两个子任务;若两个子任务的输入、输出和参数指标存在包含,则不合并所述两个子任务;若两个子任务所属的工作流的原始任务的允许延迟时长存在冲突,则不合并所述两个子任务。
优选地,所述动态资源监测步骤包括:
通用监测步骤:监测边缘服务器通用的资源使用情况,所述资源使用情况包括CPU占用率、内存占用率和当前任务等待队列;
特定监测步骤:监控边缘服务器特有的资源信息,所述资源信息包括GPS信息、设备分辨率、摄像头拍照频率中的任一项或任多项。
优选地,所述实时任务调度步骤包括:
序列推荐步骤:将子任务工作流指定运算服务器,将得到的最长延迟时间进行升序排序,利用各个边缘服务器的资源信息和等待队列计算每个边缘服务器的推荐分数;
工作流分配步骤:优先进行单个边缘服务器的分配,对于已指定边缘服务器的工作流,优先分配指定边缘服务器,否则,则分配给推荐分数第一的边缘服务器;对于未指定边缘服务器的工作流,则直接根据各个边缘服务器的推荐分数进行分配。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明能够在多个边缘服务器的环境下,保证任务正常执行和满足相应限制条件的基础上,尽量最小化各任务的平均运行时间,同时使得各项资源能够被更为充分地利用。
2、本发明能够在面向多功能的边缘计算场景中的基于资源监控的实时任务匹配和调度,从而为整个系统环境提供动态的高吞吐量低延迟的任务响应。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明所针对的边缘计算场景图。
图2为本发明技术架构示意图。
图3为原始任务映射校验流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
为了更好地理解并更快地满足用户需求,本发明致力于开发在单台中央服务器以及多台计算存储能力不一、用途能力不一的边缘服务器的环境下,完成对原始任务的结构化解析并创建对各个边缘服务器的资源监控,中央服务器根据资源监控情况实时规划任务分配策略,从而达到在保证任务正常执行和满足相应限制条件的基础上,尽量最小化各任务的平均运行时间,同时使得各项资源能够被更为充分地利用。
鉴于现有的特有场景和用户需求,本发明所要解决的问题是提供一种面向多功能的边缘计算场景中的基于资源监控的实时任务匹配和调度系统,从而为整个系统环境提供动态的高吞吐量低延迟的任务响应。本发明有四部分组成,原始任务映射模块,子任务依赖生成模块,动态资源监测模块和实时任务调度模块。四个模块协同运作,为系统提供实时的动态高吞吐量低延迟的任务分配策略。首先,规定并设计了用户需求输入格式,必须包括type类型、各项资源的约束以及可承受的延迟时间。然后构造了四个模块:将概括、模糊的用户需求转换成带有一定约束的任务集合的原始任务映射模块;将任务集合进一步分解成各个子任务并根据各个任务的描述形成子任务之间的依赖关系的子任务依赖生成模块;动态监测系统中各个服务器资源状态和计算状态的动态资源监测模块;以及负责根据各个服务器实时资源状态和任务依赖关系来评估子任务紧急程度,从而进行任务的实时分配。
如图2所示,整个资源监控和任务调度系统的架构图,对于某一时段代表用户需求的原始任务集进行任务调度,需要依次调用原始任务映射模块将泛化的原始任务转化为特定的任务集合,调用子任务依赖生成模块将上一步生成的任务集合进一步分解成子任务工作流并将重复任务合并,调用动态资源监测模块获得当前各个边缘服务器的实时资源信息,最后调用实时任务调度模块将任务集合分配到合适的边缘服务器进行计算和响应以达到更大的吞吐量和更小的响应延迟。具体地,包括以下四个模块:
原始任务映射模块,就是将按照预先设定格式的系统输入的用户需求翻译成对应的任务单元集合。当系统将用户需求与一个特定的模板进行匹配检测时,需要检测三项用户指定的指标,分别为type类型、各项资源的约束以及总任务的运行时长。只有三项要求均符合,才将原始任务转化成模板对应的任务集合;
子任务依赖生成模块,对于一个时间间隔接收到的任务集合,每个任务都可以看做是很多子任务形成的工作流,通过对每个任务进行子任务解析,将其变成一个有向无环图(DAG),对一个时间间隔的多个任务的工作流(DAG)进行遍历,从而找到多个任务都包含的重复的子任务,将其向下兼容并合并,从而减少重复任务的资源消耗,加快有效任务分配;
动态资源监测模块,主要监控各个边缘服务器的实时资源和任务状态,从而帮助实时任务调度模块进行决策。监控的信息主要包括各个边缘服务器通用的资源,如CPU占用率,内存占用率以及当前任务等待队列等,还有各个边缘服务器特有的资源信息,如照相机的拍照频率,分辨率或者智能设备的GPS信息等,这些信息被用来反映各个边缘服务器的实时资源和任务状态;
实时任务调度模块,结合原始任务映射模块和子任务依赖生成模块生成的子任务工作流以及动态资源监测模块生成的各边缘服务器的资源和任务队列状态,将任务和边缘服务器进行实时的模式匹配,并将任务进行排序,优先安排紧急的任务,从而有效增加系统吞吐量。
具体实施中,通过原始任务映射模块将原始用户需求解析,了解任务类型,所需的资源以及最长延迟时间,并将其映射成系统可识别且执行的子任务工作流;将获得的子任务工作流遍历,在满足各方面约束的情况下,将可合并复用的子任务进行合并,从而将工作流合并简化,获得最终的工作流,与此同时,动态资源监控模块将各个边缘服务器的资源状态获取并汇总,得到系统实时资源信息;结合工作流和当前系统资源状态进行实时任务分配,统计各个任务之间的依赖关系并将其分配在最优的边缘服务器上进行处理,在满足用户最长时间约束的下尽可能快的完成任务,达到较高的吞吐量。
首先,为了更好地实现用户需求到任务集合的映射,本实施例使用基于模板的需求结构化方案。用户需要根据特定的任务需求,填写相应的需求模板,说明其任务类型,应包含所需的资源集合以及需满足的限制条件和可接受的最长延迟时间。而系统根据用户给定的结构化的需求,经过原始任务映射模块,将需求转化为相应的子任务工作流。因此,如图3所示流程中,在原始任务映射模块,采用First-fit算法进行模式匹配。当系统将用户给定的原始任务与一个特定的模板进行匹配检测时,整个过程可以被分为三个校验步骤,检测三项用户指定的指标,分别为type类型、各项资源的约束以及总任务的运行时长。只有三项要求均符合,原始任务和模板任务集匹配才算成功。第一个是type类型的校验,需要保证原始任务与模板任务集合共享相同的type。在本发明中,仅会将与原始任务相同type的模板任务集进行匹配;第二个需要校验的内容是各项资源约束条件的满足情况。对于某一项特定资源r,假设在原始任务中对应的约束为Dr,在模板任务集中对应的约束为Pr,当且仅当认为该项特定资源r满足约束。而对于原始任务中包含的所有资源都满足约束时才匹配该模板,否则,将会去尝试匹配可能符合要求的其它模板;第三项校验需要检查对应模板任务集的预期运行时长是否满足原始任务需求的运行时长的约束条件。假设原始任务可以转化成模板任务集的工作流f。在f中,所有任务的集合用T来表示,其中终止任务的集合用集合Te表示,把以任务t为结束任务的路径集合记作Pt,同时将路径p的运行时长记作Ip,Ip为该路径上所有节点和边上所花费的时间的总和。那么,工作流f的预期最大运行时长为: 用户在原始任务中定义的预期最大运行时长为Id,那么当且仅当则判断该模板任务集符合原始任务的时间约束,而当某个模板任务集能够同时满足原始任务的三项约束,原始任务才会被转换成模板任务集,否则,将返回错误信息,报告无法处理任务请求。
之后,原始任务映射模块得到的任务集合将在子任务依赖生成模块进一步整合去重。在一定时间间隔中,系统会得到多个原始任务,其中每个原始任务都经过映射模块映射为子任务工作流。在这种,存在某个或某些子任务在多个工作流中都需要执行,这时如果将子任务结果进行复用就会节省很多时间。因此,子任务依赖生成模块需要遍历所有的子任务工作流,对于相同类型的子任务Ti和Tj做如下比较:
第一,判断其是否指定了目标边缘服务器,如果指定同一目标机或均未指定,则进入下一步,否则,Ti和Tj不能合并,需单独执行;
第二,判断子任务Ti和Tj的输入和输出,以及各项参数指标,如拍照功能时的分辨率以及拍照范围等,对于任意指标r来说,如果均存在或则说明两个子任务存在包含关系,可进入下一步,否则,合并失败,两个任务需单独执行;
第三,查看Ti和Tj所属的工作流的原始任务Mi和Mj的最长延迟时间,并判断是否仍满足时间约束,比如存在若Ti前方依赖子任务过长,可能导致执行Ti时已不满足Tj所属原始任务Mj的最长延迟时间导致响应失败。因此,如果仍满足Mi和Mj的时间约束,则将两个工作流合并,公共节点执行Ti∪Tj,否则,则单独执行。
第四,将这段时间间隔的所有子任务工作流进行如上操作,可以得到最终的最终子任务依赖工作流,并且达到执行子任务数量最少且满足所有任务约束的最优情况;
为了完成更高性能的任务分配,动态资源监测模块同时监视各个边缘服务器进行实时资源监控,将各个边缘服务器的信息发送给实时任务调度模块。因此,动态资源监测模块监控的资源如表1所示:UNHALTED_CORE_CYCLES为边缘服务器运行时的时钟周期;CORE_USED为目前CPU的利用率;MEMORY_REMAINED为目前可用的存储空间;ENERGY_REMAIMED为设备的剩余电量;TASK_QUEUE表示目前此服务器上的任务队列;CAMERA_MESSAGE为摄像头的参数信息。通过这些硬件事件,我们可以获取各个边缘服务器的实时状态,交由实时任务调度模块进行任务分配。
表1监控的硬件事件
UNHALTED_CORE_CYCLES | 边缘服务器运行的时钟周期 |
CORE_USED | CPU的利用率 |
MEMORY_REMAINED | 可用的存储空间 |
ENERGY_REMAIMED | 设备的剩余电量 |
TASK_QUEUE | 服务器上的任务队列 |
CAMERA_MESSAGE | 摄像头的参数信息 |
SPECIAL_MESSAGE | 特有信息等 |
在获取了子任务依赖工作流以及各个边缘服务器的实时状态后,实时调度模块进行任务分配。首先,子任务工作流可能含有一条或多条,当其为多条时,每条工作流可以并行计算。因此,系统首先将工作流按照一定指定运算服务器,最长延迟时间进行升序排序,并利用各个边缘服务器的资源信息和等待队列计算每个服务器的推荐分数。之后,对每个工作流按照如下规则进行分配:对于已指定边缘服务器的工作流来说,优先考虑指定边缘服务器是否可以在规定时间内完成整个工作流,如果可以,则将此工作流分配到该服务器,否则,则将其分配给推荐分数第一的服务器,重新计算该服务器的资源和等待时间,刷新该服务器的推荐分数;对于未指定边缘服务器的工作流来说,则直接考虑各个边缘服务器的推荐分数,进行分配;当一个工作流无法在单个服务器中满足要求时,则考虑服务器的组合分配,剩余服务器中总和性能和与该服务器的网络传输压力,选择最优服务器进行剩余工作分配。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种边缘计算中基于资源监控的实时任务匹配调度系统,其特征在于,包括:
原始任务映射模块:接收输入的用户需求,为所述用户需求设定的结构化的输入格式,将用户需求进行检测后转换生成任务单元集合;
子任务依赖生成模块:对任务单元集合中的每个任务进行子任务解析,所述子任务解析式将任务转换成有向无环图形式的工作流,在设定时间间隔内的多个任务的工作流进行遍历,得到多个任务都包含的重复的子任务,进行整合去重,形成子任务工作流;
动态资源监测模块:监控各个边缘服务器的实时资源和任务状态,记为边缘服务器运行信息;
实时任务调度模块:接收子任务工作流和边缘服务器运行信息后,将子任务与边缘服务器进行实时模式匹配,同时令子任务排序序列,形成任务优先级,根据任务优先级和子任务排序序列进行任务调度。
2.根据权利要求1所述的边缘计算中基于资源监控的实时任务匹配调度系统,其特征在于,所述原始任务映射模块包括:
接收输入模块:设定用户需求的结构化的输入格式,所述输入格式包括type类型、资源约束和允许延迟时长,引导并接收输入的用户需求;
类型检测模块:对用户需求中的type类型进行检测,使得用户需求中的原始任务和模板任务共享相同的type类型,得到第一检测结果;
约束检测模块:对用户需求中的资源约束进行检测,使得原始任务中的资源约束满足模板任务中的资源约束,得到第二检测结果;
延迟检测模块:对用户需求中的允许延迟时长进行检测,使得原始任务中的运行时长满足模板任务中的预期运行时长,得到第三检测结果;
需求转换模块:当第一检测结果、第二检测结果和第三检测结果均符合设定要求时,将用户需求与模板任务集进行匹配后,转换生成任务集合,否则,则返回错误报告无法处理用户需求。
3.根据权利要求1所述的边缘计算中基于资源监控的实时任务匹配调度系统,其特征在于,所述子任务依赖生成模块包括:
任务解析模块:设定时间间隔,令任务单元集合中的多个原始任务映射生成的工作流进行遍历,得到多个相同类型的子任务;
任务比较模块:令相同类型的子任务进行比较,若两个子任务被指定统一目标机或均未指定目标机,则不合并所述两个子任务;若两个子任务的输入、输出和参数指标存在包含,则不合并所述两个子任务;若两个子任务所属的工作流的原始任务的允许延迟时长存在冲突,则不合并所述两个子任务。
4.根据权利要求1所述的边缘计算中基于资源监控的实时任务匹配调度系统,其特征在于,所述动态资源监测模块包括:
通用监测模块:监测边缘服务器通用的资源使用情况,所述资源使用情况包括CPU占用率、内存占用率和当前任务等待队列;
特定监测模块:监控边缘服务器特有的资源信息,所述资源信息包括GPS信息、设备分辨率、摄像头拍照频率中的任一项或任多项。
5.根据权利要求1所述的边缘计算中基于资源监控的实时任务匹配调度系统,其特征在于,所述实时任务调度模块包括:
序列推荐模块:将子任务工作流指定运算服务器,将得到的最长延迟时间进行升序排序,利用各个边缘服务器的资源信息和等待队列计算每个边缘服务器的推荐分数;
工作流分配模块:优先进行单个边缘服务器的分配,对于已指定边缘服务器的工作流,优先分配指定边缘服务器,否则,则分配给推荐分数第一的边缘服务器;对于未指定边缘服务器的工作流,则直接根据各个边缘服务器的推荐分数进行分配。
6.一种边缘计算中基于资源监控的实时任务匹配调度方法,其特征在于,包括:
原始任务映射步骤:接收输入的用户需求,为所述用户需求设定的结构化的输入格式,将用户需求进行检测后转换生成任务单元集合;
子任务依赖生成步骤:对任务单元集合中的每个任务进行子任务解析,所述子任务解析式将任务转换成有向无环图形式的工作流,在设定时间间隔内的多个任务的工作流进行遍历,得到多个任务都包含的重复的子任务,进行整合去重,形成子任务工作流;
动态资源监测步骤:监控各个边缘服务器的实时资源和任务状态,记为边缘服务器运行信息;
实时任务调度步骤:接收子任务工作流和边缘服务器运行信息后,将子任务与边缘服务器进行实时模式匹配,同时令子任务排序序列,形成任务优先级,根据任务优先级和子任务排序序列进行任务调度。
7.根据权利要求6所述的边缘计算中基于资源监控的实时任务匹配调度方法,其特征在于,所述原始任务映射步骤包括:
接收输入步骤:设定用户需求的结构化的输入格式,所述输入格式包括type类型、资源约束和允许延迟时长,引导并接收输入的用户需求;
类型检测步骤:对用户需求中的type类型进行检测,使得用户需求中的原始任务和模板任务共享相同的type类型,得到第一检测结果;
约束检测步骤:对用户需求中的资源约束进行检测,使得原始任务中的资源约束满足模板任务中的资源约束,得到第二检测结果;
延迟检测步骤:对用户需求中的允许延迟时长进行检测,使得原始任务中的运行时长满足模板任务中的预期运行时长,得到第三检测结果;
需求转换步骤:当第一检测结果、第二检测结果和第三检测结果均符合设定要求时,将用户需求与模板任务集进行匹配后,转换生成任务集合,否则,则返回错误报告无法处理用户需求。
8.根据权利要求6所述的边缘计算中基于资源监控的实时任务匹配调度方法,其特征在于,所述子任务依赖生成步骤包括:
任务解析步骤:设定时间间隔,令任务单元集合中的多个原始任务映射生成的工作流进行遍历,得到多个相同类型的子任务;
任务比较步骤:令相同类型的子任务进行比较,若两个子任务被指定统一目标机或均未指定目标机,则不合并所述两个子任务;若两个子任务的输入、输出和参数指标存在包含,则不合并所述两个子任务;若两个子任务所属的工作流的原始任务的允许延迟时长存在冲突,则不合并所述两个子任务。
9.根据权利要求6所述的边缘计算中基于资源监控的实时任务匹配调度方法,其特征在于,所述动态资源监测步骤包括:
通用监测步骤:监测边缘服务器通用的资源使用情况,所述资源使用情况包括CPU占用率、内存占用率和当前任务等待队列;
特定监测步骤:监控边缘服务器特有的资源信息,所述资源信息包括GPS信息、设备分辨率、摄像头拍照频率中的任一项或任多项。
10.根据权利要求6所述的边缘计算中基于资源监控的实时任务匹配调度方法,其特征在于,所述实时任务调度步骤包括:
序列推荐步骤:将子任务工作流指定运算服务器,将得到的最长延迟时间进行升序排序,利用各个边缘服务器的资源信息和等待队列计算每个边缘服务器的推荐分数;
工作流分配步骤:优先进行单个边缘服务器的分配,对于已指定边缘服务器的工作流,优先分配指定边缘服务器,否则,则分配给推荐分数第一的边缘服务器;对于未指定边缘服务器的工作流,则直接根据各个边缘服务器的推荐分数进行分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102292.5A CN111427681B (zh) | 2020-02-19 | 2020-02-19 | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010102292.5A CN111427681B (zh) | 2020-02-19 | 2020-02-19 | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427681A true CN111427681A (zh) | 2020-07-17 |
CN111427681B CN111427681B (zh) | 2023-02-17 |
Family
ID=71547183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010102292.5A Active CN111427681B (zh) | 2020-02-19 | 2020-02-19 | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427681B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861412A (zh) * | 2020-07-27 | 2020-10-30 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及系统 |
CN111966477A (zh) * | 2020-08-18 | 2020-11-20 | 浙江知水信息技术有限公司 | 一种在多个服务器环境下预警任务分配的方法 |
CN112130972A (zh) * | 2020-08-24 | 2020-12-25 | 北京思特奇信息技术股份有限公司 | 一种任务处理的方法和系统 |
CN112272227A (zh) * | 2020-10-22 | 2021-01-26 | 华侨大学 | 一种基于计算图的边缘计算任务调度方法 |
CN112597338A (zh) * | 2020-10-09 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 视频理解方法及相关装置 |
CN112711475A (zh) * | 2021-01-20 | 2021-04-27 | 上海交通大学 | 一种基于图卷积神经网络的工作流调度方法及系统 |
CN112711471A (zh) * | 2020-12-31 | 2021-04-27 | 中移(杭州)信息技术有限公司 | 大数据任务的执行方法和装置、服务器及存储介质 |
CN112828896A (zh) * | 2021-03-15 | 2021-05-25 | 苏州工艺美术职业技术学院 | 一种家用智能陪伴机器人及其执行控制方法 |
CN112988275A (zh) * | 2021-03-26 | 2021-06-18 | 河海大学 | 一种基于任务感知的移动边缘计算多用户计算卸载方法 |
CN113010296A (zh) * | 2021-04-01 | 2021-06-22 | 上海交通大学 | 基于形式化模型的任务解析与资源分配方法及系统 |
CN113220459A (zh) * | 2021-05-26 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种任务处理方法及装置 |
CN113328912A (zh) * | 2021-05-28 | 2021-08-31 | 国家计算机网络与信息安全管理中心 | 基于可控工作流的分布式网络测量任务编排方法及系统 |
CN113597013A (zh) * | 2021-08-05 | 2021-11-02 | 哈尔滨工业大学 | 一种移动边缘计算中用户移动场景下的协同任务调度方法 |
CN113806077A (zh) * | 2021-08-20 | 2021-12-17 | 广州云硕科技发展有限公司 | 基于人工智能的数据中心服务器调控方法及装置 |
CN114510352A (zh) * | 2022-02-15 | 2022-05-17 | 北京永信至诚科技股份有限公司 | 一种自动渗透项目调度任务方法及系统 |
WO2022148376A1 (en) * | 2021-01-07 | 2022-07-14 | International Business Machines Corporation | Edge time sharing across clusters via dynamic task migration |
CN115269159A (zh) * | 2022-09-27 | 2022-11-01 | 苏州美集供应链管理股份有限公司 | 基于人工智能与边缘计算支持的调度系统与方法 |
CN116109110A (zh) * | 2023-04-11 | 2023-05-12 | 华能信息技术有限公司 | 一种业务中台的任务调度方法 |
CN116680063A (zh) * | 2023-08-03 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
CN116909756A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 跨云服务方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
CN103838627A (zh) * | 2014-03-18 | 2014-06-04 | 北京工业大学 | 一种基于工作流吞吐量最大化的工作流调度方法 |
CN108154317A (zh) * | 2018-01-25 | 2018-06-12 | 福建师范大学 | 多云环境下基于实例自适应分配整合的工作流组调度方法 |
CN108737462A (zh) * | 2017-04-17 | 2018-11-02 | 华东师范大学 | 一种基于图论的云计算数据中心任务调度方法 |
CN109376017A (zh) * | 2019-01-07 | 2019-02-22 | 人和未来生物科技(长沙)有限公司 | 基于容器的云计算平台任务处理方法、系统及其应用方法 |
CN110689262A (zh) * | 2019-09-25 | 2020-01-14 | 中国人民解放军战略支援部队航天工程大学 | 天基信息系统任务调度方法、装置和电子设备 |
-
2020
- 2020-02-19 CN CN202010102292.5A patent/CN111427681B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
CN103838627A (zh) * | 2014-03-18 | 2014-06-04 | 北京工业大学 | 一种基于工作流吞吐量最大化的工作流调度方法 |
CN108737462A (zh) * | 2017-04-17 | 2018-11-02 | 华东师范大学 | 一种基于图论的云计算数据中心任务调度方法 |
CN108154317A (zh) * | 2018-01-25 | 2018-06-12 | 福建师范大学 | 多云环境下基于实例自适应分配整合的工作流组调度方法 |
CN109376017A (zh) * | 2019-01-07 | 2019-02-22 | 人和未来生物科技(长沙)有限公司 | 基于容器的云计算平台任务处理方法、系统及其应用方法 |
CN110689262A (zh) * | 2019-09-25 | 2020-01-14 | 中国人民解放军战略支援部队航天工程大学 | 天基信息系统任务调度方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
宋纯贺等: "工业互联网智能制造边缘计算模型与验证方法", 《自动化博览》 * |
陈胜楠: "基于新浪微博的社交网络数据分析与可视化系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861412B (zh) * | 2020-07-27 | 2024-03-15 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及系统 |
CN111861412A (zh) * | 2020-07-27 | 2020-10-30 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及系统 |
CN111966477A (zh) * | 2020-08-18 | 2020-11-20 | 浙江知水信息技术有限公司 | 一种在多个服务器环境下预警任务分配的方法 |
CN112130972A (zh) * | 2020-08-24 | 2020-12-25 | 北京思特奇信息技术股份有限公司 | 一种任务处理的方法和系统 |
CN112597338A (zh) * | 2020-10-09 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 视频理解方法及相关装置 |
CN112272227A (zh) * | 2020-10-22 | 2021-01-26 | 华侨大学 | 一种基于计算图的边缘计算任务调度方法 |
CN112272227B (zh) * | 2020-10-22 | 2022-04-15 | 华侨大学 | 一种基于计算图的边缘计算任务调度方法 |
CN112711471A (zh) * | 2020-12-31 | 2021-04-27 | 中移(杭州)信息技术有限公司 | 大数据任务的执行方法和装置、服务器及存储介质 |
GB2617978A (en) * | 2021-01-07 | 2023-10-25 | Ibm | Edge time sharing across clusters via dynamic task migration |
US11853810B2 (en) | 2021-01-07 | 2023-12-26 | International Business Machines Corporation | Edge time sharing across clusters via dynamic task migration based on task priority and subtask result sharing |
WO2022148376A1 (en) * | 2021-01-07 | 2022-07-14 | International Business Machines Corporation | Edge time sharing across clusters via dynamic task migration |
CN112711475A (zh) * | 2021-01-20 | 2021-04-27 | 上海交通大学 | 一种基于图卷积神经网络的工作流调度方法及系统 |
CN112711475B (zh) * | 2021-01-20 | 2022-09-06 | 上海交通大学 | 一种基于图卷积神经网络的工作流调度方法及系统 |
CN112828896A (zh) * | 2021-03-15 | 2021-05-25 | 苏州工艺美术职业技术学院 | 一种家用智能陪伴机器人及其执行控制方法 |
CN112828896B (zh) * | 2021-03-15 | 2022-02-25 | 苏州工艺美术职业技术学院 | 一种家用智能陪伴机器人及其执行控制方法 |
CN112988275A (zh) * | 2021-03-26 | 2021-06-18 | 河海大学 | 一种基于任务感知的移动边缘计算多用户计算卸载方法 |
CN113010296A (zh) * | 2021-04-01 | 2021-06-22 | 上海交通大学 | 基于形式化模型的任务解析与资源分配方法及系统 |
CN113220459B (zh) * | 2021-05-26 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种任务处理方法及装置 |
CN113220459A (zh) * | 2021-05-26 | 2021-08-06 | 杭州海康威视数字技术股份有限公司 | 一种任务处理方法及装置 |
CN113328912B (zh) * | 2021-05-28 | 2023-02-10 | 国家计算机网络与信息安全管理中心 | 基于可控工作流的分布式网络测量任务编排方法及系统 |
CN113328912A (zh) * | 2021-05-28 | 2021-08-31 | 国家计算机网络与信息安全管理中心 | 基于可控工作流的分布式网络测量任务编排方法及系统 |
CN113597013A (zh) * | 2021-08-05 | 2021-11-02 | 哈尔滨工业大学 | 一种移动边缘计算中用户移动场景下的协同任务调度方法 |
CN113597013B (zh) * | 2021-08-05 | 2024-03-22 | 哈尔滨工业大学 | 一种移动边缘计算中用户移动场景下的协同任务调度方法 |
CN113806077A (zh) * | 2021-08-20 | 2021-12-17 | 广州云硕科技发展有限公司 | 基于人工智能的数据中心服务器调控方法及装置 |
CN114510352B (zh) * | 2022-02-15 | 2022-09-02 | 北京永信至诚科技股份有限公司 | 一种自动渗透项目调度任务方法及系统 |
CN114510352A (zh) * | 2022-02-15 | 2022-05-17 | 北京永信至诚科技股份有限公司 | 一种自动渗透项目调度任务方法及系统 |
CN115269159A (zh) * | 2022-09-27 | 2022-11-01 | 苏州美集供应链管理股份有限公司 | 基于人工智能与边缘计算支持的调度系统与方法 |
CN116109110A (zh) * | 2023-04-11 | 2023-05-12 | 华能信息技术有限公司 | 一种业务中台的任务调度方法 |
CN116680063A (zh) * | 2023-08-03 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
CN116680063B (zh) * | 2023-08-03 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 任务调度方法、装置、计算系统、电子设备和存储介质 |
CN116909756A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 跨云服务方法、装置、电子设备及存储介质 |
CN116909756B (zh) * | 2023-09-13 | 2024-01-26 | 中移(苏州)软件技术有限公司 | 跨云服务方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111427681B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
CN107580023B (zh) | 一种动态调整任务分配的流处理作业调度方法及系统 | |
CN108632365B (zh) | 服务资源调整方法、相关装置和设备 | |
CN111738434B (zh) | 在异构处理单元上执行深度神经网络的方法 | |
CN105912399B (zh) | 一种任务处理方法、装置及系统 | |
CN112068957B (zh) | 资源分配方法、装置、计算机设备及存储介质 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN108459966B (zh) | 测试组件的调度方法、装置、设备和计算机可读存储介质 | |
CN112465146B (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
US20220164222A1 (en) | Execution of Services Concurrently | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN113742089B (zh) | 异构资源中神经网络计算任务的分配方法、装置和设备 | |
CN113127203B (zh) | 面向云边计算的深度学习分布式编译器及构造方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN113296905A (zh) | 调度方法、装置、电子设备、存储介质及软件产品 | |
CN110069284B (zh) | 一种基于opu指令集的编译方法及编译器 | |
CN109614210B (zh) | 基于能耗感知的Storm大数据节能调度方法 | |
CN106844024B (zh) | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 | |
CN117234733A (zh) | 一种分布式系统任务分配方法、系统、存储介质及设备 | |
CN112463334A (zh) | 一种训练任务排队原因分析方法、系统、设备以及介质 | |
CN112163734A (zh) | 基于云平台整定计算资源动态调度方法及装置 | |
WO2022253165A1 (zh) | 调度方法、系统、服务器和计算机可读存储介质 | |
Nasr et al. | Task scheduling algorithm for high performance heterogeneous distributed computing systems | |
CN113504966A (zh) | Gpu集群调度策略模拟方法及gpu集群模拟器 |
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 |