CN113778694B - 一种任务处理方法、装置、设备及介质 - Google Patents
一种任务处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113778694B CN113778694B CN202111336113.5A CN202111336113A CN113778694B CN 113778694 B CN113778694 B CN 113778694B CN 202111336113 A CN202111336113 A CN 202111336113A CN 113778694 B CN113778694 B CN 113778694B
- Authority
- CN
- China
- Prior art keywords
- queue
- processing
- processed
- page index
- buffer
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 239000000872 buffer Substances 0.000 claims abstract description 187
- 238000012545 processing Methods 0.000 claims abstract description 160
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims description 53
- 230000006870 function Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/30—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
-
- 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/5022—Mechanisms to release resources
-
- 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/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/505—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 load
-
- 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/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种任务处理方法、装置、设备及介质,该方法包括:获取多个待处理任务;多个待处理任务对应多个缓冲区管理请求集合;为缓冲区管理请求集合创建对不同处理环节的信息进行存储的不同存储队列,得到与多个缓冲区管理请求集合对应的多个存储队列集合;硬件并行处理多个待处理任务,流水线式并行处理缓冲区管理请求集合中的不同缓冲区管理请求,利用存储队列集合中的不同存储队列对相应处理环节的信息进行存储。通过上述方法由软硬件协同处理任务,减少了软件的使用,降低了处理器的使用率,另外硬件并行处理任务,流水线式并行处理任务中的各个请求,提高了缓冲区管理算法的性能,进一步提高了任务处理的速度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种任务处理方法、装置、设备及介质。
背景技术
随着人工智能、物联网等信息技术发展,涌现出越来越多智能硬件,与智能硬件相关的业务数据量也呈指数级上升,使得数据传输带宽逐渐成为制约硬件性能提升的瓶颈,为了提高数据传输带宽,研究人员提出了很多基于多通道DMA(Direct Memory Access,直接内存访问)的并行数据传输框架协议,而多通道DMA性能提升又进一步依赖于DMA缓冲区管理策略,因此需要一套高效的DMA缓冲区管理策略,从而为多通道DMA数据传输提供有效的数据存储资源池。
当前,在进行任务处理时,首先申请构建DMA缓冲池的DMA缓冲区链表,然后在处理器软件中通过一定的缓冲区管理算法如位图算法或者空闲链表算法管理DMA缓冲池,当应用程序处理传输数据任务时,通过处理器软件缓冲区管理模块为所有DMA通道申请DMA冲区、填充数据并触发所有通道DMA传输,当数据传输任务完成时再通过缓冲区管理模块释放所有通道DMA缓冲区。上述缓冲区管理算法全部由处理器软件实现,因此处理器的使用率高,影响应用程序的执行,并且软件以串行方式执行任务,缓冲区管理算法以同步方式进行,当DMA通道过多时,数据传输性能出现瓶颈,因此缓冲区管理算法性能较低,任务处理速度较慢。
综上所述,如何降低处理器的使用率,提高缓冲区算法性能并提升任务处理速度。
发明内容
有鉴于此,本发明的目的在于提供一种任务处理方法、装置、设备及介质,能够降低处理器的使用率,提高缓冲区管理算法的性能并提高任务处理的速度。其具体方案如下:
第一方面,本申请公开了一种任务处理方法,包括:
获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;
分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;
通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
可选的,所述分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合,包括:
分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对请求获取环节对应的请求信息进行存储的请求队列、对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列以及对请求响应环节对应的响应信息进行存储的响应队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合。
可选的,所述基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储之后,还包括:
判断所述响应队列是否为非空队列;
如果所述响应队列为非空队列,则产生新的中断标志;
利用所述新的中断标志对预设的中断标志寄存器进行更新,以便中央处理器中运行的软件程序在监测到所述中断标志寄存器中的中断标志被更新后,从所述响应队列中获取与所述新的中断标志对应的响应信息,并对获取到的响应信息进行相应处理。
可选的,所述通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,包括:
通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对所述多个待处理任务进行并行处理的过程中,基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作。
可选的,所述基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作,包括:
对所述多个待处理任务对应的多个所述页索引队列进行监视,以筛选出当前存在负载不均衡的目标页索引队列,并针对所述目标页索引队列触发待处理负载均衡事件;
监测当前是否存在针对所述目标页索引队列的待处理缓冲区配置事件;
当监测到当前存在所述待处理缓冲区配置事件,则按照预设的优先级确定策略,确定所述待处理负载均衡事件对应的第一优先级和所述待处理缓冲区配置事件对应的第二优先级;
如果所述第一优先级高于所述第二优先级,则对所述目标页索引队列进行负载均衡操作,然后对所述目标页索引队列进行缓冲区配置操作;
如果所述第一优先级低于所述第二优先级,则对所述目标页索引队列进行缓冲区配置操作,然后对所述目标页索引队列进行负载均衡操作。
可选的,所述对所述目标页索引队列进行负载均衡操作,包括:
如果所述目标页索引队列对应的内存页使用状态为过饱和状态,则利用预设页索引缓存队列并按照预设内存页分配策略为所述目标页索引队列分配新的内存页;
如果所述目标页索引队列的内存页使用状态为闲置状态,则按照预设内存页释放策略对所述目标页索引队列对应的闲置内存页进行释放,以将所述闲置内存页回收至所述预设页索引缓存队列;
并且,所述对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列,包括:
确定出第一预设内存页分配比例和第二预设内存页分配比例;
按照所述第一预设内存页分配比例将内存中相应数量的内存页分配至第一队列,以创建得到所述预设页索引缓存队列,并按照所述第二预设内存页分配比例将所述内存中相应数量的内存页分配至第二队列,以得到所述页索引队列。
可选的,所述利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储,包括:
利用所述存储队列集合中的不同存储队列对相应处理环节对应的回调函数地址进行存储,以便利用所述回调函数地址确定相应处理环节当前所处的处理进度。
第二方面,本申请公开了一种任务处理装置,包括:
任务获取模块,用于获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;
队列集合创建模块,用于分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;
任务处理模块,用于通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理;
信息存储模块,用于利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如前述的任务处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的任务处理方法。
可见,本申请获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。通过上述方案,由软硬件协同处理任务,且大部分处理过程由硬件完成,减少了软件的使用,显著降低了处理器的使用率,另外上述方案使用具有并行执行功能的硬件器件,实现了多任务的并行处理,采用流水线式并行处理机制,实现了对缓冲区管理请求集合中的不同缓冲区管理请求进行异步处理,提高了缓冲区管理算法的性能,提高了任务处理的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种任务处理方法流程图;
图2为本申请提供的一种存储队列示意图;
图3为本申请提供的一种任务处理方法示意图;
图4为本申请提供的一种具体的任务处理方法流程图;
图5为本申请提供的一种任务处理方法示意图;
图6为本申请提供的一种任务处理装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在进行任务处理时,首先申请构建DMA缓冲池的DMA缓冲区链表,然后在处理器软件中通过一定的缓冲区管理算法如位图算法或者空闲链表算法管理DMA缓冲池,当应用程序处理传输数据任务时,通过处理器软件缓冲区管理模块为所有DMA通道申请DMA冲区、填充数据并触发所有通道DMA传输,当数据传输任务完成时再通过缓冲区管理模块释放所有通道DMA缓冲区。上述缓冲区管理算法全部由处理器软件实现,因此处理器的使用率高,影响应用程序的执行,并且软件以串行方式执行任务,缓冲区管理算法以同步方式进行,当DMA通道过多时,数据传输性能出现瓶颈,因此缓冲区管理算法性能较低,任务处理速度较慢。为了克服上述问题,本申请提供了一种任务处理方案,能够降低处理器的使用率,提高缓冲区管理算法的性能并提高任务处理的速度。
参见图1所示,本申请实施例公开了一种任务处理方法,该方法包括:
步骤S11:获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合。
本实施例中,软件获取多个待处理任务,每个所述待处理任务对应一个缓冲区管理请求集合,所述缓冲区管理请求集合包含多个缓冲区管理请求,所述缓冲区管理请求可以是缓冲区分配请求,也可以是缓冲区释放请求。
步骤S12:分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合。
本实施例中,为任一缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,可以理解为,为任一所述缓冲区管理请求集合创建用于在请求处理过程中对请求获取环节对应的请求信息进行存储的请求队列、对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列以及对请求响应环节对应的响应信息进行存储的响应队列。所述请求队列、页索引队列以及响应队列共同构成一个存储队列集合,因此,一个缓冲区管理请求集合对应一个存储队列集合。相应的,分别为每个缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,可得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合。进一步的,在创建好与所述多个缓冲区管理请求集合分别对应的多个存储队列集合后,将所有队列地址和大小信息配置到硬件,由硬件完成与多个待处理任务对应的多个缓冲区管理请求集合的处理过程。
步骤S13:通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理。
本实施例中,通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,可以理解为,硬件器件同一时间开始处理多个待处理任务。此外,多任务并行处理,提高了缓冲区管理算法的性能,进一步提高了任务处理的速度。
本实施例中,每个待处理任务对应一个缓冲区管理请求集合,每个缓冲区管理请求集合含有多个缓冲区管理请求。在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,可以理解为,当硬件器件对任一所述缓冲区管理请求集合进行处理时,对于处理缓冲区管理请求的每个步骤,必须处理完当前缓冲区管理请求后才能处理下一个缓冲区管理请求,并且处理缓冲区管理请求的多个步骤不能同时处理同一个缓冲区管理请求,但处理缓冲区管理请求的多个步骤可以同时处理不同的缓冲区管理请求。
步骤S14:利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
本实施例中,在硬件器件处理任务的过程中,所述存储队列集合中的请求队列、页索引队列和响应队列对相应的处理环节的相关信息进行存储。在存储过程完成之后,需要对响应队列中保存的响应信息进行处理,具体为,首先判断所述响应队列是否为非空队列;如果所述响应队列为非空队列,则产生新的中断标志;利用所述新的中断标志对预设的中断标志寄存器进行更新,以便中央处理器中运行的软件程序在监测到所述中断标志寄存器中的中断标志被更新后,从所述响应队列中获取与所述新的中断标志对应的响应信息,并对获取到的响应信息进行相应处理;软件处理器从响应队列读取响应信息,从而获取若干连续页索引指示的缓冲区。
具体的,所述请求队列中存储的请求信息包括操作类型、页索引地址或缓冲区大小、页索引个数以及用户回调函数地址;响应队列中存储的响应信息包括操作类型、操作状态、页索引地址、页索引个数以及用户回调函数地址。其中,所述请求队列和响应队列分别对相应处理环节对应的回调函数地址进行存储的目的是利用所述回调函数地址确定相应处理环节当前所处的处理进度。可以理解的是,回调函数地址的利用使得在进行任一缓冲区管理请求的处理过程中,不用等待当前缓冲区管理请求处理完后再处理下一个缓冲区管理请求,具体的,可以在当前缓冲区管理请求处于请求获取缓冲区配置环节时,下一个缓冲区管理请求进行请求获取环节。因此,回调函数地址使用流水线式并行处理达到了异步处理任一缓冲区管理请求集合中的缓冲区管理请求的效果,并且缓冲区管理算法在运行时,数据传输任务不再处于空闲等候缓冲区状态,充分发挥了处理器多核并行性,使得整个过程变得非阻塞,总体上提高了缓冲区管理算法性能,提高了任务处理速度。
如图2所示,展示了一种存储队列的具体构成以及队列中保存的相关信息。本实施例中,每一种所述存储队列都可以是环形队列。如图2所示,请求队列、页索引队列以及响应队列均采用环形结构来构建各自的队列。其中,一个请求队列中包含多个请求结点,一个请求结点对应一个缓冲区管理请求,所述请求结点中保存的请求信息包括操作类型、页索引地址或缓冲区大小、页索引个数以及用户回调函数地址,其中,所述操作类型为0时表示分配,所述操作类型为1时表示释放,具体的,当所述操作类型为0时,所述页索引地址或缓冲区大小表示请求分配的缓冲区大小,所述页索引个数中不需要填写,所述用户回调函数地址用于当分配操作完成后,通知用户确定请求获取环节当前所处的处理进度;所述操作类型为1时,所述页索引地址或缓冲区大小表示第一个页索引地址,所述页索引个数表示待释放的页个数,所述用户回调函数地址用于当分配操作完成后,通知用户确定请求获取环节当前所处的处理进度。一个响应队列包含多个响应结点,所述响应结点中保存的响应信息包括操作类型、操作状态、页索引地址、页索引个数以及用户回调函数地址,其中,所述操作类型为0时表示分配,所述操作类型为1时表示释放,当操作状态为0时表示操作成功,当操作状态为1时表示操作失败,具体的,当所述操作类型为0时,所述页索引地址表示第一个页索引地址,所述页索引个数表示已分配的页个数,所述用户回调函数地址用于当分配操作完成,后通知用户确定请求响应环节当前所处的处理进度;所述操作类型为1时,所述页索引地址中不需要填写,所述页索引个数中也不需要填写,所述用户回调函数地址用于当释放操作完成后,通知用户确定请求响应环节当前所处的处理进度。另外,存储队列的队列头和队列尾是硬件寄存器,表示存储队列读写指针,软件将所有队列地址和大小信息配置到硬件中。
如图3所示,展示了任务处理的具体过程。首先处理器中的管理任务模块在存储器中创建若干存储队列集合,每个存储队列集合包括请求队列、响应队列和页索引队列。硬件的队列初始化模块保存所有队列信息并复位队列头寄存器和队列尾寄存器;任一数据传输任务向请求队列添加若干请求结点并更新队列尾后;硬件中的请求获取模块轮询到请求队列尾发生变化,则从该队列获取请求信息,根据请求分配的缓冲区大小计算待申请的页个数,并更新该队列的队列头;硬件缓冲区配置模块根据上述待申请的页个数从页索引队列获取若干连续的页索引基地址,并更新页索引队列的队列头;硬件请求响应模块根据所述页索引基地址、页索引个数、请求结点回调函数地址构建响应结点,然后将响应结点添加到响应队列并更新响应队列的队列尾;硬件根据响应队列状态是否为非空队列更新中断标志寄存器并通过中断触发模块触发中断通知运行管理任务的处理器核心;处理器中管理任务模块查询中断标志获取非空的响应队列,然后通过处理器核间中断通知与响应队列对应的数据传输任务有待处理的响应信息;处理器数据传输任务从响应队列读取响应信息,从而获取若干连续页索引指示的缓冲区,每读取1个响应结点从中取出回调函数地址继续之前未完成的数据传输。
另外,缓冲区释放过程与缓冲区分配过程类似,唯一区别是,缓冲区释放过程中,硬件将从请求队列的每个结点信息中读取若干连续的页索引并通过DMA机制拷贝到页索引队列。
可见,本申请获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。通过上述方案,由软硬件协同处理任务,且大部分处理过程由硬件完成,减少了软件的使用,显著降低了处理器的使用率,另外上述方案使用具有并行执行功能的硬件器件,实现了多任务的并行处理,采用流水线式并行处理机制,实现了对缓冲区管理请求集合中的不同缓冲区管理请求进行异步处理,提高了缓冲区管理算法的性能,提高了任务处理的速度。
参见图2所示,本申请实施例公开了一种具体的任务处理方法,该方法包括:
步骤S21:获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合。
其中,关于步骤S21的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S22:分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合。
其中,关于步骤S22的更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S23:通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对所述多个待处理任务进行并行处理的过程中,基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作。
本实施例中,硬件器件可并行处理多个待处理任务进行并行处理,可能会出现负载不均衡的情况,此时需要基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作,具体的,首先对所述多个待处理任务对应的多个所述页索引队列进行监视,以筛选出当前存在负载不均衡的目标页索引队列,并针对所述目标页索引队列触发待处理负载均衡事件;监测当前是否存在针对所述目标页索引队列的待处理缓冲区配置事件;当监测到当前存在所述待处理缓冲区配置事件,则按照预设的优先级确定策略,确定所述待处理负载均衡事件对应的第一优先级和所述待处理缓冲区配置事件对应的第二优先级;如果所述第一优先级高于所述第二优先级,则对所述目标页索引队列进行负载均衡操作,然后对所述目标页索引队列进行缓冲区配置操作;如果所述第一优先级低于所述第二优先级,则对所述目标页索引队列进行缓冲区配置操作,然后对所述目标页索引队列进行负载均衡操作。
可以理解的是,所述目标页索引队列的缓冲区配置操作和负载均衡操作不能同时进行,因此,当前存在针对所述目标页索引队列触发待处理负载均衡事件,并且此时正在对所述目标页索引队列进行缓冲区配置操作时,根据当前所述目标页索引队列执行反馈,表示暂时不能进行负载均衡操作。
本实施例中,对所述目标页索引队列进行负载均衡操作的具体步骤如下所示,如果所述目标页索引队列对应的内存页使用状态为过饱和状态,则利用预设页索引缓存队列并按照预设内存页分配策略为所述目标页索引队列分配新的内存页;如果所述目标页索引队列的内存页使用状态为闲置状态,则按照预设内存页释放策略对所述目标页索引队列对应的闲置内存页进行释放,以将所述闲置内存页回收至所述预设页索引缓存队列。可以理解的是,上述负载均衡操作,根据数据传输任务缓冲区需求动态调整对应的页索引队列的长度,提高了缓冲区管理算法的性能和灵活性。
可以理解的是,为了进行上述负载均衡的操作,需要在创建对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列时,也创建页索引缓存队列,具体的,确定出第一预设内存页分配比例和第二预设内存页分配比例;按照所述第一预设内存页分配比例将内存中相应数量的内存页分配至第一队列,以创建得到所述预设页索引缓存队列,并按照所述第二预设内存页分配比例将所述内存中相应数量的内存页分配至第二队列,以得到所述页索引队列。其中,所述第一预设内存页分配比例可以表示为总内存页的20%,第二预设内存页分配比例可以表示为总内存页的80%。
具体的,所述第二队列表示多个待处理任务对应的多个页索引队列,按照所述第二预设内存页分配比例将内存中相应数量的内存页分配至第二队列,表示按照所述第二预设内存页分配比例将内存中相应数量的内存页平均分配给多个页索引队列。
步骤S24:利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
本实施例中,对所述目标页索引队列进行缓冲区配置操作和对所述目标页索引队列进行负载均衡操作都会改变目标页索引队列的状态,因此在进行缓冲区配置操作和负载均衡操作之后需要更新页索引队列状态。
如图5所示,展示了多任务处理情况下进行负载均衡的步骤,具体内容如下所示,首先在软件初始化阶段将一定比例的内存页数分配给页索引缓存队列,剩下内存页等分给所有页索引队列,然后将所有队列信息配置到硬件;硬件负载均衡通知模块定时轮询所有页索引队列状态,当发现某个页索引队列需要执行负载均衡操作时,通知反馈和优先级选择模块;硬件反馈和优先级选择模块接受缓冲区配置通知模块和负载均衡通知模块的操作通知,根据当前页索引队列状态执行反馈或者按照一定优先级策略选择执行负载均衡处理和缓冲区配置;4)硬件负载均衡处理模块收到通知后,根据当前页索引队列状态,配置DMA在页索引缓存队列和页索引队列之间移动页索引;硬件负载均衡处理模块收到DMA完成信号后更新页索引队列状态;可以理解的是,硬件缓冲区配置模块执行完缓冲区配置后也需要更新页索引队列状态。
可见,本申请中,获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对所述多个待处理任务进行并行处理的过程中,基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作;最后,利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。在上述方案中,利用页索引缓存队列和页索引队列根据数据传输任务缓冲区需求动态调整对应的页索引队列的长度,完成负载均衡操作,进一步提高了缓冲区管理算法的性能和灵活性。
参见图6所示,本申请实施例公开了一种任务处理装置,包括:
任务获取模块11,用于获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;
队列集合获取模块12,用于分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;
任务处理模块13,用于通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理;
存储模块14,用于利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请获取多个待处理任务;其中,所述多个待处理任务分别对应多个缓冲区管理请求集合;分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。通过上述方案,由软硬件协同处理任务,且大部分处理过程由硬件完成,减少了软件的使用,显著降低了处理器的使用率,另外上述方案使用具有并行执行功能的硬件器件,实现了多任务的并行处理,采用流水线式并行处理机制,实现了对缓冲区管理请求集合中的不同缓冲区管理请求进行异步处理,提高了缓冲区管理算法的性能,提高了任务处理的速度。
进一步的,本申请实施例还提供了一种电子设备,该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、输入输出接口24、通信接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任意实施例公开的任务处理方法的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定。
另外,存储器22作为可以包括作为运行内存的随机存取存储器和用于外部内存的存储用途的非易失性存储器,其上的存储资源包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制源主机上电子设备20上的各硬件设备以及计算机程序222,操作系统221可以是Windows、Unix、Linux等。计算机程222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的任务处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
本实施例中,所述输入输出接口24具体可以包括但不限于USB接口、硬盘读取接口、串行接口、语音输入接口、指纹输入接口等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM) 、内存、只读存储器(Read-Only Memory,ROM) 、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述任务处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的任务处理方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的训练任务资源调度或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种任务处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种任务处理方法,其特征在于,包括:
获取多个待处理任务;其中,所述多个待处理任务分别与多个缓冲区管理请求集合一一对应;
分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;
通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
2.根据权利要求1所述的任务处理方法,其特征在于,所述分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合,包括:
分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对请求获取环节对应的请求信息进行存储的请求队列、对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列以及对请求响应环节对应的响应信息进行存储的响应队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合。
3.根据权利要求2所述的任务处理方法,其特征在于,所述基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理,并利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储之后,还包括:
判断所述响应队列是否为非空队列;
如果所述响应队列为非空队列,则产生新的中断标志;
利用所述新的中断标志对预设的中断标志寄存器进行更新,以便中央处理器中运行的软件程序在监测到所述中断标志寄存器中的中断标志被更新后,从所述响应队列中获取与所述新的中断标志对应的响应信息,并对获取到的响应信息进行相应处理。
4.根据权利要求2所述的任务处理方法,其特征在于,所述通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,包括:
通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对所述多个待处理任务进行并行处理的过程中,基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作。
5.根据权利要求4所述的任务处理方法,其特征在于,所述基于预设负载均衡策略对满足预设条件的目标待处理任务的页索引队列进行负载均衡操作,包括:
对所述多个待处理任务对应的多个所述页索引队列进行监视,以筛选出当前存在负载不均衡的目标页索引队列,并针对所述目标页索引队列触发待处理负载均衡事件;
监测当前是否存在针对所述目标页索引队列的待处理缓冲区配置事件;
当监测到当前存在所述待处理缓冲区配置事件,则按照预设的优先级确定策略,确定所述待处理负载均衡事件对应的第一优先级和所述待处理缓冲区配置事件对应的第二优先级;
如果所述第一优先级高于所述第二优先级,则对所述目标页索引队列进行负载均衡操作,然后对所述目标页索引队列进行缓冲区配置操作;
如果所述第一优先级低于所述第二优先级,则对所述目标页索引队列进行缓冲区配置操作,然后对所述目标页索引队列进行负载均衡操作。
6.根据权利要求5所述的任务处理方法,其特征在于,所述对所述目标页索引队列进行负载均衡操作,包括:
如果所述目标页索引队列对应的内存页使用状态为过饱和状态,则利用预设页索引缓存队列并按照预设内存页分配策略为所述目标页索引队列分配新的内存页;
如果所述目标页索引队列的内存页使用状态为闲置状态,则按照预设内存页释放策略对所述目标页索引队列对应的闲置内存页进行释放,以将所述闲置内存页回收至所述预设页索引缓存队列;
并且,所述对与缓冲区配置环节相关的内存页索引信息进行存储的页索引队列,包括:
确定出第一预设内存页分配比例和第二预设内存页分配比例;
按照所述第一预设内存页分配比例将内存中相应数量的内存页分配至第一队列,以创建得到所述预设页索引缓存队列,并按照所述第二预设内存页分配比例将所述内存中相应数量的内存页分配至第二队列,以得到所述页索引队列。
7.根据权利要求1至6任一项所述的任务处理方法,其特征在于,所述利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储,包括:
利用所述存储队列集合中的不同存储队列对相应处理环节对应的回调函数地址进行存储,以便利用所述回调函数地址确定相应处理环节当前所处的处理进度。
8.一种任务处理装置,其特征在于,包括:
任务获取模块,用于获取多个待处理任务;其中,所述多个待处理任务分别与多个缓冲区管理请求集合一一对应;
队列集合获取模块,用于分别为每个所述缓冲区管理请求集合创建用于在请求处理过程中对不同处理环节的相关信息进行存储的不同存储队列,以得到与所述多个缓冲区管理请求集合分别对应的多个存储队列集合;
任务处理模块,用于通过具有并行执行功能的硬件器件,对所述多个待处理任务进行并行处理,并在对任一所述缓冲区管理请求集合进行处理的过程中,基于流水线式并行处理机制对所述缓冲区管理请求集合中的不同缓冲区管理请求进行处理;
信息存储模块,用于利用所述存储队列集合中的不同存储队列对相应处理环节的相关信息进行存储。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1 至7 任一项所述的任务处理方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1 至7 任一项所述的任务处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336113.5A CN113778694B (zh) | 2021-11-12 | 2021-11-12 | 一种任务处理方法、装置、设备及介质 |
PCT/CN2022/089820 WO2023082560A1 (zh) | 2021-11-12 | 2022-04-28 | 一种任务处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336113.5A CN113778694B (zh) | 2021-11-12 | 2021-11-12 | 一种任务处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778694A CN113778694A (zh) | 2021-12-10 |
CN113778694B true CN113778694B (zh) | 2022-02-18 |
Family
ID=78956973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111336113.5A Active CN113778694B (zh) | 2021-11-12 | 2021-11-12 | 一种任务处理方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113778694B (zh) |
WO (1) | WO2023082560A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778694B (zh) * | 2021-11-12 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种任务处理方法、装置、设备及介质 |
CN114253694B (zh) * | 2022-02-25 | 2022-06-24 | 杭州雄迈集成电路技术股份有限公司 | 一种基于神经网络加速器的异步处理方法与装置 |
CN115079957B (zh) * | 2022-07-20 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 请求处理方法、装置、控制器、设备及存储介质 |
CN115809956B (zh) * | 2022-12-22 | 2024-03-22 | 格兰菲智能科技有限公司 | 图形处理器性能分析方法、装置、计算机设备和存储介质 |
CN115982091B (zh) * | 2023-03-21 | 2023-06-23 | 深圳云豹智能有限公司 | 基于rdma引擎的数据处理方法与系统、介质、设备 |
CN117806778B (zh) * | 2024-02-29 | 2024-06-07 | 济南浪潮数据技术有限公司 | 资源管理方法、系统、设备及介质 |
CN117807002B (zh) * | 2024-03-01 | 2024-05-24 | 山东云海国创云计算装备产业创新中心有限公司 | 基于直接存储器访问通道的负载均衡方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101218569A (zh) * | 2005-06-30 | 2008-07-09 | 飞思卡尔半导体公司 | 用于控制dma任务的执行的装置和方法 |
US7822885B2 (en) * | 2007-10-16 | 2010-10-26 | Applied Micro Circuits Corporation | Channel-less multithreaded DMA controller |
CN102541779A (zh) * | 2011-11-28 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种提高多数据缓冲区dma效率的系统和方法 |
CN109388590A (zh) * | 2018-09-28 | 2019-02-26 | 中国电子科技集团公司第五十二研究所 | 提升多通道dma访问性能的动态缓存块管理方法和装置 |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130239124A1 (en) * | 2012-01-20 | 2013-09-12 | Mentor Graphics Corporation | Event Queue Management For Embedded Systems |
US10466904B2 (en) * | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
CN111240813A (zh) * | 2018-11-29 | 2020-06-05 | 杭州嘉楠耘智信息科技有限公司 | 一种dma调度方法、装置和计算机可读存储介质 |
US11681625B2 (en) * | 2018-12-20 | 2023-06-20 | Intel Corporation | Receive buffer management |
CN112035898A (zh) * | 2020-08-20 | 2020-12-04 | 郑州信大捷安信息技术股份有限公司 | 多节点多通道高速并行处理方法及系统 |
CN113778694B (zh) * | 2021-11-12 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种任务处理方法、装置、设备及介质 |
-
2021
- 2021-11-12 CN CN202111336113.5A patent/CN113778694B/zh active Active
-
2022
- 2022-04-28 WO PCT/CN2022/089820 patent/WO2023082560A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101218569A (zh) * | 2005-06-30 | 2008-07-09 | 飞思卡尔半导体公司 | 用于控制dma任务的执行的装置和方法 |
US7822885B2 (en) * | 2007-10-16 | 2010-10-26 | Applied Micro Circuits Corporation | Channel-less multithreaded DMA controller |
CN102541779A (zh) * | 2011-11-28 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种提高多数据缓冲区dma效率的系统和方法 |
CN109388590A (zh) * | 2018-09-28 | 2019-02-26 | 中国电子科技集团公司第五十二研究所 | 提升多通道dma访问性能的动态缓存块管理方法和装置 |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
Non-Patent Citations (2)
Title |
---|
Impact of Half-Duplex and Full-Duplex DMA Implementations on NoC Performance;Francesca Palumbo等;《2010 Fourth ACM/IEEE International Symposium on Networks-on-Chip》;20100712;全文 * |
一种面向数据流程序的软件流水并行化方法;魏海涛等;《计算机学报》;20110721;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2023082560A1 (zh) | 2023-05-19 |
CN113778694A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113778694B (zh) | 一种任务处理方法、装置、设备及介质 | |
US7716668B2 (en) | System and method for scheduling thread execution | |
Rao et al. | Survey on improved scheduling in Hadoop MapReduce in cloud environments | |
CN110442451B (zh) | 一种面向深度学习的多类型gpu集群资源管理调度方法和系统 | |
JP3658420B2 (ja) | 分散処理システム | |
US7441240B2 (en) | Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling | |
EP1750200A2 (en) | System and method for executing job step, and computer product | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
JPWO2006100752A1 (ja) | 分散処理管理装置、分散処理管理方法、分散処理管理プログラム | |
US8032884B2 (en) | Thread hand off | |
US20130097382A1 (en) | Multi-core processor system, computer product, and control method | |
CN111338785A (zh) | 资源调度方法及装置、电子设备、存储介质 | |
Qureshi et al. | Grid resource allocation for real-time data-intensive tasks | |
CN114816709A (zh) | 任务调度方法、装置、服务器及可读存储介质 | |
US20220413906A1 (en) | Method, device, and program product for managing multiple computing tasks based on batch | |
US7178146B1 (en) | Pizza scheduler | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN110851245A (zh) | 一种分布式异步任务调度方法及电子设备 | |
CN111435319A (zh) | 一种集群的管理方法及装置 | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
KR101771183B1 (ko) | 인메모리 캐시를 관리하는 방법 | |
CN114116150A (zh) | 一种任务调度方法、装置以及相关设备 | |
WO2016122596A1 (en) | Checkpoint-based scheduling in cluster | |
JP3349547B2 (ja) | スケジューリングシステム | |
WO2022142515A1 (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 |