CN115269157A - 一种任务处理系统、方法、计算机设备及存储介质 - Google Patents
一种任务处理系统、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115269157A CN115269157A CN202210965386.4A CN202210965386A CN115269157A CN 115269157 A CN115269157 A CN 115269157A CN 202210965386 A CN202210965386 A CN 202210965386A CN 115269157 A CN115269157 A CN 115269157A
- Authority
- CN
- China
- Prior art keywords
- task
- queue
- cache
- module
- chip
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种任务处理系统、方法、计算机设备及存储介质,系统包括:工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,缓冲模块配置为将接收到的任务发送到任务分类模块;任务分类模块配置为将任务派发至对应的复合工作队列;复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,任务缓存控制器配置为基于任务管理策略控制复合工作队列接收到的任务的进出路径;任务调度算法功能模块配置为根据调度算法将对应的复合工作队列中的任务调度至任务派发模块。通过本发明的方案,解决了任务处理系统中工作队列管理逻辑中片上队列深度小、易堵塞的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务处理系统、方法、计算机设备及存储介质。
背景技术
在大数据时代,大规模并行处理系统得到了广泛应用,在该系统中,多工作引擎协同工作,系统性能得到优化,并且人们提出了多种任务调度算法,有效地提高了整个系统资源的利用率。目前常用的任务调度方式为round robin、先到先服务算法、最短工作优先算法、基于优先级调度算法、最少剩余时间调度算法等,但是无论哪种任务调度算法,都会将任务进行分类、储存于不同的工作队列空间内,等待调度。因此任务数量较大时,工作队列深度就成了影响系统性能的关键因素。当下,人们多是开辟片上存储空间作为工作引擎的工作队列,但是片上存储资源有限,容易出现某一工作队列因空间较小而出现任务阻塞乃至任务丢失的问题。
发明内容
有鉴于此,针对大规模并行处理系统中工作队列管理逻辑中片上队列深度小、易堵塞的问题,本发明提出了一种任务处理系统、方法、计算机设备及存储介质,不仅可以利用片外存储扩大片上队列存储空间,增加了工作队列任务排序上限,并提出了匹配的任务调度策略,使得任务调度更高效;而且增加了任务重排序逻辑,使得堵塞在工作队列入口处的任务重新入队排序,解决了因某一工作队列满而导致其他未满队列无法接收新入队任务的问题。本发明的方案充分利用可用资源、提高本地工作队列空间利用率,提高了工作队列管理效率,进而提高了计算机系统的整体工作性能。
基于上述目的,本发明实施例的一方面提供了一种任务处理系统,具体包括:
工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,其中,
所述缓冲模块配置为将接收到的任务发送到所述任务分类模块;
所述任务分类模块配置为基于接收到的所述任务对应的工作引擎确定对应的复合工作队列,将所述任务派发至对应的所述复合工作队列;
所述复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存均配置为基于先进先出原则存储所述任务,所述任务缓存控制器配置为基于任务管理策略控制所述复合工作队列接收到的所述任务的进出路径,其中,所述队列前端缓存、所述队列尾端缓存为片内存储,所述片外队列中间缓存为片外存储;
所述任务调度算法功能模块配置为根据调度算法选择对应的复合工作队列,将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块;
所述任务派发模块配置为将所述任务经所述片上互联模块派发到对应的工作引擎。
在一些实施方式中,所述进出路径包括第一路径、第二路径和第三路径,其中,
所述第一路径配置为将任务存入所述队列尾端缓存并由所述队列尾端缓存输出;
所述第二路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出;
所述第三路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述片外队列中间缓存,并经所述片外队列中间缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出。
在一些实施方式中,所述任务缓存控制器配置为:
响应于有任务进入所述复合工作队列,获取所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间;
基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务。
在一些实施方式中,基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务包括:
响应于所述队列前端缓存和所述队列尾端缓存的存储空间为空且所述片外队列中间缓存的存储空间不为满,将任务存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间不为空且所述片外队列中间缓存的存储空间为空,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间超过阈值,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述片外队列中间缓存,并从所述片外队列中间缓存输出后存入所述队列尾端缓存。
在一些实施方式中,述缓冲模块包括入口任务缓冲模块、循环任务缓冲模块、仲裁器、任务缓冲模块,其中,
所述入口任务缓冲模块配置为接收由所述片上互联模块的总线任务入口发送的任务,并在所述入口任务缓冲模块的缓存空间超过第二阈值时生成中断预警信号;
所述仲裁器配置为对所述入口任务缓冲模块和所述循环任务缓冲模块内的任务进行仲裁,并基于仲裁结果将对应的任务发送到所述任务缓冲模块;
所述任务缓冲模块配置为基于先进先出原则,将任务发送到所述任务分类模块。
在一些实施方式中,在确定出对应的复合工作队列之后,将所述任务派发至对应的所述复合工作队列之前,所述任务分类模块配置为:
判断所述复合工作队列的队列前段缓存的存储空间是否已满;
响应于所述复合工作队列的所述队列前段缓存的存储空间未满,则将所述任务发送到所述复合工作队列;
响应于所述复合工作队列的所述队列前段缓存的存储空间已满,则将所述任务发送到所述循环任务缓冲模块;
将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块。
在一些实施方式中,所述任务派发模块配置为接收到复合工作队列发来的任务后,向所述片上互联模块请求访问授权,并在获得访问授权后将所述任务经所述片上互联模块派发到对应的工作引擎。
本发明实施例的另一方面,还提供了一种任务处理方法,应用于任务处理系统,任务处理系统包括工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,所述复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存均配置用于基于先进先出原则存储任务,其中,所述队列前端缓存、所述队列尾端缓存为片内存储,所述片外队列中间缓存为片外存储,方法包括:
所述缓冲模块将接收到的任务发送到所述任务分类模块;
所述任务分类模块基于接收到的所述任务对应的工作引擎确定对应的复合工作队列,将所述任务派发至对应的所述复合工作队列;
所述任务缓存控制器基于任务管理策略控制所述复合工作队列接收到的所述任务的进出路径;
所述任务调度算法功能模块根据调度算法选择对应的复合工作队列,将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块;
所述任务派发模块将所述任务经所述片上互联模块派发到对应的工作引擎。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述计算机程序由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明至少具有以下有益技术效果:利用片外存储扩大了片上队列存储空间,增加了工作队列任务排序上限,并且通过任务缓存控制器基于任务管理策略控制进入复合工作队列的任务的进出路径,使得任务调度更高效,解决了大规模并行任务处理系统中工作队列管理逻辑中片上队列深度小、易堵塞的问题,充分利用了片外存储资源,提高了本地工作队列空间利用率,提高了工作队列管理效率,进而提高了计算机系统的整体工作性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的任务处理系统的一实施例的示意图;
图2为本发明提供的又一任务处理系统的一实施例的实现逻辑示意图;
图3为本发明提供的复合工作队列任务路径1的一实施例的示意图;
图4为本发明提供的复合工作队列任务路径2的一实施例的示意图;
图5为本发明提供的复合工作队列任务路径3的一实施例的示意图;
图6为本发明提供的任务处理方法的一实施例的框图;
图7为本发明提供的计算机设备的一实施例的结构示意图;
图8为本发明提供的计算机可读存储介质的一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
为了更好地理解本申请实施例,下面对本申请实施例中的技术数据进行说明。
大规模并行处理:计算机系统研究领域中,大规模并行处理指的是计算机系统通过使大量工作引擎并行工作,从而提高系统工作性能。
硬件加速器:将某种算法方案、协议方案等通过硬件的方式实现,减少处理器负担,提高工作性能。
工作引擎:实现某种算法方案、协议方案的硬件设计,包括但不限于处理器,硬件加速器等。
片上互联模块:用于高效连接片上多个处理器,加速引擎等。
工作队列:多工作引擎协同工作设计中,工作引擎所需的任务一般是由专用的任务处理系统进行派发,而任务在该模块中的存储空间即为工作队列。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种任务处理系统的实施例。如图1所示,任务处理系统包括:工作引擎10、片上互联模块20、缓冲模块30、任务分类模块40、至少一个复合工作队列50、任务调度算法功能模块60、任务派发模块70,复合工作队列50包括任务缓存控制器51、队列前端缓存52、片外队列中间缓存53以及队列尾端缓存54,队列前端缓存52、队列尾端缓存54为片内存储,片外队列中间缓存53为片外存储,队列前端缓存52、队列尾端缓存54、片外队列中间缓存53均用于存储复合工作队列50中的任务。任务处理系统基于各个模块的工作流程如下:
缓冲模块将接收到的任务发送到任务分类模块;
任务分类模块基于接收到的任务对应的工作引擎确定对应的复合工作队列,将任务派发至对应的所述复合工作队列;
任务缓存控制器基于任务管理策略控制复合工作队列接收到的任务的进出路径;
任务调度算法功能模块根据调度算法选择对应的复合工作队列,将复合工作队列的队列尾端缓存中的任务调度至任务派发模块;
任务派发模块配置为将任务经所述片上互联模块派发到对应的工作引擎。
上述方案,利用片外存储扩大了片上队列存储空间,增加了工作队列任务排序上限,并且通过任务缓存控制器基于任务管理策略控制进入复合工作队列的任务的进出路径,使得任务调度更高效,解决了大规模并行任务处理系统中工作队列管理逻辑中片上队列深度小、易堵塞的问题,充分利用了片外存储资源,提高了本地工作队列空间利用率,提高了工作队列管理效率,进而提高了计算机系统的整体工作性能。
在一些实施方式中,所述进出路径包括第一路径、第二路径和第三路径,其中,
所述第一路径配置为将任务存入所述队列尾端缓存并由所述队列尾端缓存输出;
所述第二路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出;
所述第三路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述片外队列中间缓存,并经所述片外队列中间缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出。
在一具体实施例中,工作路径之间可以基于队列前端缓存、片外队列中间缓存与队列尾端缓存的存储空间的状态而进行切换,使得任务管理系统能够适用不同的应用场景,保证每种场景下系统的高效运行。
在一些实施方式中,所述任务缓存控制器配置为:
响应于有任务进入所述复合工作队列,获取所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间;
基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务。
在一具体实施例中,通过引入了片外缓存作为复合工作队列的中间缓存,在不增加片上存储前提下增大了任务处理系统中的工作队列深度,增加了可同时排队的任务数量上限,并且根据任务调度策略使得复合工作队列能够适应不同的工作场景,保证每种场景下任务处理系统的高效运行。其中,任务调度策略指的是任务缓存控制器基于队列前端缓存、队列尾端缓存、片外队列中间缓存的存储空间,选择对应的工作路径存储与输出任务。
在一些实施方式中,基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务包括:
响应于所述队列前端缓存和所述队列尾端缓存的存储空间为空且所述片外队列中间缓存的存储空间不为满,将任务存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间不为空且所述片外队列中间缓存的存储空间为空,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间超过阈值,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述片外队列中间缓存,并从所述片外队列中间缓存输出后存入所述队列尾端缓存。
在一些实施方式中,述缓冲模块包括入口任务缓冲模块、循环任务缓冲模块、仲裁器、任务缓冲模块,其中,
所述入口任务缓冲模块配置为接收由所述片上互联模块的总线任务入口发送的任务,并在所述入口任务缓冲模块的缓存空间超过第二阈值时生成中断预警信号;
所述仲裁器配置为对所述入口任务缓冲模块和所述循环任务缓冲模块内的任务进行仲裁,并基于仲裁结果将对应的任务发送到所述任务缓冲模块;
所述任务缓冲模块配置为基于先进先出原则,将任务发送到所述任务分类模块。
在一些实施方式中,在确定出对应的复合工作队列之后,将所述任务派发至对应的所述复合工作队列之前,所述任务分类模块配置为:
判断所述复合工作队列的队列前段缓存的存储空间是否已满;
响应于所述复合工作队列的所述队列前段缓存的存储空间未满,则将所述任务发送到所述复合工作队列;
响应于所述复合工作队列的所述队列前段缓存的存储空间已满,则将所述任务发送到所述循环任务缓冲模块;
将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块。
在一具体实施例中,任务分类模块基于任务分类逻辑,将堵在复合队列入口处的任务重新进入任务缓冲模块排队,令后续任务不被堵塞。任务重排队逻辑保证了任务处理系统不会因某一队列满而造成其他队列的任务被堵塞而不能正常入队排序的问题,提高了系统任务调度的性能。
在一些实施方式中,所述任务派发模块配置为接收到复合工作队列发来的任务后,向所述片上互联模块请求访问授权,并在获得访问授权后将所述任务经所述片上互联模块派发到对应的工作引擎。
下面通过又一具体实施例对本发明的实施方式进行说明。
如图2所示,为本发明实施例提供的又一任务处理系统的实现逻辑架构图,下面结合图2对任务处理系统的任务处理过程进行说明。
场景1:若此时复合工作队列内的队列前端缓存已满,则该任务会被写入循环任务缓冲模块,重新排队,达到仲裁条件后,循环任务缓存模块内的任务会按照先进先出的原则,再次进入任务缓冲模块。
场景2:若此时复合工作队列内的队列前端缓存未满,则该任务会进入复合工作队列内部。
通过任务分类模块的任务重排队逻辑,使堵在队列入口处的任务重新进入任务缓冲模块排队,令后续任务不被堵塞。
1)组成结构:每个复合工作队列架构相同,由4个子模块构成,分别为任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存。
2)结构说明:任务缓存控制器控制进入复合工作队列的任务的进出路径;队列前端缓存、队列尾端缓存都是用于存储任务的基于先进先出原则的本地存储;片外队列中间缓存是用于存储任务的基于先进先出原则的片外存储,一般为计算机主存模块,例如DDRSRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双数据率同步动态随机存储器)。通过片外缓存作为复合工作队列的中间缓存,在不增加片上存储前提下增大了工作队列管理模块中的工作队列深度,增加了可同时排队的任务数量上限。
如图3所示,为复合工作队列任务路径1的示意图。如果任务在复合工作队列中的进出路径为复合工作队列任务路径1(简称路径1),此时队列前端缓存、片外队列中间缓存处于空状态,并且队列尾端缓存不处于满状态,此时,队列前端缓存、片外队列中间缓存内部无任务存储,任务缓存控制器会任务控制跳过队列前端缓存和片外队列中间缓存,直接从复合工作队列入口进入队列尾端缓存,进入队列尾端缓存的任务基于先进先出原则,被任务调度算法功能模块调出。当队列尾端缓存处于满状态时,任务缓存控制器会将任务的进出路径切换为路径2。
如图4所示,为复合工作队列任务路径2的示意图。
如果任务在复合工作队列中的进出路径为复合工作队列任务路径2(简称路径2),此时复合工作队列入口处的任务会先进入队列前端缓存,再从队列前端出来进入队列尾端缓存,最后被任务调度算法功能模块调出。当队列前端缓存模块内部任务数量超过自定义缓存阈值时,任务缓存控制器会将任务的进出路径切换为路径3。其中自定义缓存阈值,是用户可以基于使用需求而进行自定义的,一般为不超过自身缓存空间的50%。但不限于此。
如图5所示,为复合工作队列任务路径3的示意图。
复合工作队列任务路径3
如果任务在复合工作队列中的进出路径为复合工作队列任务路径3(简称路径3)。此时,入口处的任务会先进入队列前端缓存,然后从队列前端出来通过任务存储仲裁器进入片外队列中间缓存,再经过任务读取仲裁器进入队列尾端缓存,最后被任务调度算法功能模块调出。由于片外队列中间缓存位于外部,所以在进行与片外队列中间缓存的任务读写操作时,可将每次读写的任务数量自定义配置为较大数值,进而可减少访问总线的次数。
需要说明的是,上述方案中由路径1切换到路径2再切换到路径3的路径实现方式不是本发明实施例的唯一方式,任务缓存控制器可以队列前端缓存、片外队列中间缓存以及队列尾端缓存的存储空间状态以及设定的切换策略而进行切换。
通过复合工作队列内部的任务调度策略,使得复合工作队列能够根据本地队列状态自适应调整任务的调度路线,保证了任务在片上队列缓存和片外队列缓存的流畅调度。
片上互联模块收到任务派发模块发出的任务相关信息,会将该任务分发至对应的工作引擎,供引擎执行。
本发明实施例,通过任务分类模块的任务重排队逻辑,使堵在队列入口处的任务重新进入任务缓冲模块排队,令后续任务不被堵塞;
本发明实施例,通过片外存储扩大了片上队列存储空间,增加了工作队列任务排序上限,并且通过任务缓存控制器基于任务管理策略控制进入复合工作队列的任务的进出路径,使得任务调度更高效,同时,通过增加了任务重排序逻辑,使得堵塞在工作队列入口处的任务重新入队排序,解决了因某一工作队列满而导致其他未满队列无法接收新入队任务的问题,本发明实施例充分利用了片外存储资源,提高了本地工作队列空间利用率,提高了工作队列管理效率,进而提高了计算机系统的整体工作性能。
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种任务处理方法,应用于任务处理系统,任务处理系统包括工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,所述复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存均配置用于基于先进先出原则存储任务,其中,所述队列前端缓存、所述队列尾端缓存为片内存储,所述片外队列中间缓存为片外存储,方法包括:
S10、所述缓冲模块将接收到的任务发送到所述任务分类模块;
S20、所述任务分类模块基于接收到的所述任务对应的工作引擎确定对应的复合工作队列,将所述任务派发至对应的所述复合工作队列;
S30、所述任务缓存控制器基于任务管理策略控制所述复合工作队列接收到的所述任务的进出路径;
S40、所述任务调度算法功能模块根据调度算法选择对应的复合工作队列,将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块;
S50、所述任务派发模块将所述任务经所述片上互联模块派发到对应的工作引擎。
基于同一发明构思,根据本发明的另一个方面,如图7所示,本发明的实施例还提供了一种计算机设备30,在该计算机设备30中包括处理器310以及存储器320,存储器320存储有可在处理器上运行的计算机程序321,处理器310执行程序时执行如上的方法的步骤。
其中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述任务处理方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行系统的各种功能应用以及数据处理,即实现上述方法实施例的任务处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于同一发明构思,根据本发明的另一个方面,如图8所示,本发明的实施例还提供了一种计算机可读存储介质40,计算机可读存储介质40存储有被处理器执行时执行如上方法的计算机程序410。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种任务处理系统,其特征在于,包括:
工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,其中,
所述缓冲模块配置为将接收到的任务发送到所述任务分类模块;
所述任务分类模块配置为基于接收到的所述任务对应的工作引擎确定对应的复合工作队列,将所述任务派发至对应的所述复合工作队列;
所述复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存均配置为基于先进先出原则存储所述任务,所述任务缓存控制器配置为基于任务管理策略控制所述复合工作队列接收到的所述任务的进出路径,其中,所述队列前端缓存、所述队列尾端缓存为片内存储,所述片外队列中间缓存为片外存储;
所述任务调度算法功能模块配置为根据调度算法选择对应的复合工作队列,将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块;
所述任务派发模块配置为将所述任务经所述片上互联模块派发到对应的工作引擎。
2.根据权利要求1所述的系统,其特征在于,所述进出路径包括第一路径、第二路径和第三路径,其中,
所述第一路径配置为将任务存入所述队列尾端缓存并由所述队列尾端缓存输出;
所述第二路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出;
所述第三路径配置为将任务存入所述队列前端缓存,并经所述队列前端缓存输出后存入所述片外队列中间缓存,并经所述片外队列中间缓存输出后存入所述队列尾端缓存,并由所述队列尾端缓存输出。
3.根据权利要求2所述的系统,其特征在于,所述任务缓存控制器配置为:
响应于有任务进入所述复合工作队列,获取所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间;
基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务。
4.根据权利要求3所述的系统,其特征在于,基于所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存的存储空间,选择对应的工作路径存储与输出所述任务包括:
响应于所述队列前端缓存和所述队列尾端缓存的存储空间为空且所述片外队列中间缓存的存储空间不为满,将任务存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间不为空且所述片外队列中间缓存的存储空间为空,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述队列尾端缓存;
响应于所述队列前端缓存的存储空间超过阈值,将所述任务存入所述队列前端缓存,并从所述队列前端缓存输出后存入所述片外队列中间缓存,并从所述片外队列中间缓存输出后存入所述队列尾端缓存。
5.根据权利要求1所述的系统,其特征在于,所述缓冲模块包括入口任务缓冲模块、循环任务缓冲模块、仲裁器、任务缓冲模块,其中,
所述入口任务缓冲模块配置为接收由所述片上互联模块的总线任务入口发送的任务,并在所述入口任务缓冲模块的缓存空间超过第二阈值时生成中断预警信号;
所述仲裁器配置为对所述入口任务缓冲模块和所述循环任务缓冲模块内的任务进行仲裁,并基于仲裁结果将对应的任务发送到所述任务缓冲模块;
所述任务缓冲模块配置为基于先进先出原则,将任务发送到所述任务分类模块。
6.根据权利要求5所述的系统,其特征在于,在确定出对应的复合工作队列之后,将所述任务派发至对应的所述复合工作队列之前,所述任务分类模块配置为:
判断所述复合工作队列的队列前段缓存的存储空间是否已满;
响应于所述复合工作队列的所述队列前段缓存的存储空间未满,则将所述任务发送到所述复合工作队列;
响应于所述复合工作队列的所述队列前段缓存的存储空间已满,则将所述任务发送到所述循环任务缓冲模块;
将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块。
7.根据权利要求1所述的系统,其特征在于,所述任务派发模块配置为接收到复合工作队列发来的任务后,向所述片上互联模块请求访问授权,并在获得访问授权后将所述任务经所述片上互联模块派发到对应的工作引擎。
8.一种任务处理方法,其特征在于,应用于任务处理系统,任务处理系统包括工作引擎、片上互联模块、缓冲模块、任务分类模块、至少一个复合工作队列、任务调度算法功能模块、任务派发模块,所述复合工作队列包括任务缓存控制器、队列前端缓存、片外队列中间缓存以及队列尾端缓存,所述队列前端缓存、所述队列尾端缓存、所述片外队列中间缓存均配置用于基于先进先出原则存储任务,其中,所述队列前端缓存、所述队列尾端缓存为片内存储,所述片外队列中间缓存为片外存储,方法包括:
所述缓冲模块将接收到的任务发送到所述任务分类模块;
所述任务分类模块基于接收到的所述任务对应的工作引擎确定对应的复合工作队列,将所述任务派发至对应的所述复合工作队列;
所述任务缓存控制器基于任务管理策略控制所述复合工作队列接收到的所述任务的进出路径;
所述任务调度算法功能模块根据调度算法选择对应的复合工作队列,将所述复合工作队列的所述队列尾端缓存中的任务调度至所述任务派发模块;
所述任务派发模块将所述任务经所述片上互联模块派发到对应的工作引擎。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求8所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求8所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965386.4A CN115269157A (zh) | 2022-08-12 | 2022-08-12 | 一种任务处理系统、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965386.4A CN115269157A (zh) | 2022-08-12 | 2022-08-12 | 一种任务处理系统、方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269157A true CN115269157A (zh) | 2022-11-01 |
Family
ID=83751649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210965386.4A Pending CN115269157A (zh) | 2022-08-12 | 2022-08-12 | 一种任务处理系统、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269157A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629718A (zh) * | 2022-12-08 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 用于片上系统的存储结构及其管理方法、装置和机器可读存储介质 |
-
2022
- 2022-08-12 CN CN202210965386.4A patent/CN115269157A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629718A (zh) * | 2022-12-08 | 2023-01-20 | 摩尔线程智能科技(北京)有限责任公司 | 用于片上系统的存储结构及其管理方法、装置和机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188388B2 (en) | Concurrent program execution optimization | |
US9426099B2 (en) | Router, method for controlling router, and program | |
EP1435044B1 (en) | Method and apparatus for scheduling requests using ordered stages of scheduling criteria | |
JP4095032B2 (ja) | ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置 | |
US8295305B2 (en) | Dual scheduling of work from multiple sources to multiple sinks using source and sink attributes to achieve fairness and processing efficiency | |
CN113821516A (zh) | 一种基于虚拟队列的时间敏感网络交换架构 | |
CN115269157A (zh) | 一种任务处理系统、方法、计算机设备及存储介质 | |
US8532129B2 (en) | Assigning work from multiple sources to multiple sinks given assignment constraints | |
US8018958B1 (en) | System and method for fair shared de-queue and drop arbitration in a buffer | |
CN115222121A (zh) | 一种面向工业数据的任务调度优化方法 | |
CN107483405B (zh) | 一种支持变长信元的调度方法和调度系统 | |
CN113434303A (zh) | 批处理的遥感影像智能处理模型预测性能优化系统及方法 | |
US8391305B2 (en) | Assignment constraint matrix for assigning work from multiple sources to multiple sinks | |
WO2024032783A1 (zh) | 任务调度的方法和电子设备 | |
CN115695330B (zh) | 嵌入式系统中微程的调度系统、方法、终端及存储介质 | |
CN109257280B (zh) | 一种微引擎及其处理报文的方法 | |
CN113010464A (zh) | 数据处理装置及设备 | |
CN115766612A (zh) | 一种基于权重转换概率的调度方法及相应的装置 | |
CN112468414B (zh) | 一种云计算多级调度方法、系统及存储介质 | |
CN114548389A (zh) | 异构计算中计算单元的管理方法及相应处理器 | |
CN111966513B (zh) | 无先验知识Coflow的多级队列调度方法、装置及其调度设备 | |
CN115086245B (zh) | 一种tsn报文调度的方法、交换机、设备及存储介质 | |
CN118488023A (zh) | 一种数据帧队列调度方法、系统、车载以太网交换机 | |
CN118034877A (zh) | 卫星信息处理单元的数据调度方法及系统 | |
CN118101703A (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 |