CN113961328B - 一种任务处理方法、装置、存储介质及电子设备 - Google Patents
一种任务处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113961328B CN113961328B CN202111259027.9A CN202111259027A CN113961328B CN 113961328 B CN113961328 B CN 113961328B CN 202111259027 A CN202111259027 A CN 202111259027A CN 113961328 B CN113961328 B CN 113961328B
- Authority
- CN
- China
- Prior art keywords
- task
- fragments
- container
- processed
- loading
- 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
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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种任务处理方法、装置、存储介质及电子设备,所述方法包括:当接收到待处理任务,响应对待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;将多个任务碎片的总执行时间与目标时间进行比对;根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。根据任务碎片的特性将待处理任务按照优先级排序处理,充分考虑了待处理任务的紧急程度,减少了尾延迟;考虑待处理任务的目标期限,利用细粒度划分对待处理任务进行时间预测和取舍,在目标期限内执行待处理任务,减少了尾延迟。
Description
技术领域
本发明涉及机器学习推理调度技术领域,具体涉及一种任务处理方法、装置、存储介质及电子设备。
背景技术
随着机器学习的普及,推理模型越来越多地出现在网络请求的关键路径上,机器学习推理正在成为交互式应用程序的核心构建模块。现有的模型服务体系结构使用常见的反应性技术来缓解通常情况下的延迟源,一种常用的调度方法是通过采用批量处理任务的方法,但是这种方法会导致出现无法完成的任务被处理、低优先级的任务比高优先级的任务提前处理的情况,进而造成尾延迟。
发明内容
有鉴于此,本发明实施例提供了涉及一种任务处理方法、装置、存储介质及电子设备,以解决现有技术任务处理方式造成尾延迟的技术问题。
本发明提出的技术方案如下:
本发明实施例第一方面提供一种任务处理方法,该任务处理方法包括:当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;将所述多个任务碎片的总执行时间与目标时间进行比对;根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。
可选地,所述总执行时间包括任务碎片装载时间和任务碎片推理时间;所述当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片之后,所述将所述多个任务碎片的总执行时间与目标时间进行比对之前,所述方法还包括:确定所述任务碎片是否需要装载;若所述任务碎片不需要装载,将所述任务碎片推理时间作为所述总执行时间。
可选地,对保留的待处理任务响应任务处理操作,包括:确定所述待处理器任务对应的任务碎片是否需要装载;若所述任务碎片不需要装载,响应对所述待处理任务的推理操作;若所述任务碎片需要装载,响应对所述待处理任务的装载操作并在装载操作结束后,响应对所述待处理任务的推理操作。
可选地,若所述任务碎片需要装载,响应对所述待处理任务的装载操作,包括:确定执行任务装载的处理器是否处于空闲状态;若执行任务装载的处理器未处于空闲状态,将所述待装载的任务碎片存储在任务装载容器中直至所述执行任务装载的处理器处于空闲状态时响应装载操作。
可选地,响应对所述待处理任务的推理操作,包括:确定执行任务推理的处理器是否处于空闲状态;若执行任务推理的处理器未处于空闲状态,将所述待推理的任务碎片存储在任务推理容器中直至所述执行任务推理的处理器处于空闲状态时响应推理操作。
可选地,所述任务装载容器包括多个任务装载子容器,每一个任务装载子容器用于存储相应类型的任务碎片;所述将所述待装载的任务碎片存储在任务装载容器中,包括:确定待装载的任务碎片的类型;根据待装载的任务碎片的类型,将所述待装载的任务碎片存储在对应的任务装载子容器中;当任一任务装载子容器装满时,将新的待装载的任务碎片存储在预先配置的缓存装载容器中直至所述任务装载子容器存在存储空间,将存储在缓存装载容器中的待装载的任务碎片传输至所述任务装载子容器中存储并响应批处理装载操作。
可选地,所述任务推理容器包括多个任务推理子容器,每一个任务推理子容器用于存储相应类型的任务碎片;将所述待推理的任务碎片存储在任务推理容器中,包括:确定待推理的任务碎片的类型;根据待推理的任务碎片的类型,将所述待推理的任务碎片存储在对应的任务推理子容器中;当任一任务推理子容器装满时,将新的待推理的任务碎片存储在预先配置的缓存推理容器中直至所述任务推理子容器存在存储空间,将存储在缓存推理容器中的待推理的任务碎片传输至所述任务推理子容器中存储并响应批处理推理操作。
可选地,将所述待装载的任务碎片存储在任务装载容器之后,还包括:根据所述任务碎片的属性信息进行重要等级划分并排序;根据重要等级排序结果对所述任务碎片位置进行调整;根据所述任务碎片的重要等级对所述任务装载子容器进行优先级排序,并按照排序结果将所述任务装载子容器中的所述任务碎片传输至所述任务装载处理器。
可选地,将所述待推理的任务碎片存储在任务推理容器之后,还包括:根据所述任务碎片的属性信息进行重要等级划分并排序;根据重要等级排序结果对所述任务碎片位置进行调整;根据所述任务碎片的等级对所述任务推理子容器进行优先级排序,并按照排序结果将所述任务推理子容器中的所述任务碎片全部传输至所述任务推理处理器。
可选地,所述任务推理子容器包含任务扫描容器;所述响应批处理推理操作包括:将所述待推理的任务碎片按照顺序依次进行编号,并划分所述待推理的任务碎片为重任务碎片和轻任务碎片,通过所述任务扫描容器响应标记所述轻任务碎片,其中所述重任务碎片的重要等级大于所述轻任务碎片的重要等级;确定当前所述任务推理子容器中有无剩余任务碎片;当所述任务推理子容器中有剩余任务碎片时,确定当前所述网络拥堵情况;当所述网络拥堵时,确定所述任务推理子容器中有无所述轻任务碎片;根据所述确定结果响应推理操作。
本发明提供的技术方案,具有如下效果:
本发明实施例提供的一种任务处理方法,当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;将所述多个任务碎片的总执行时间与目标时间进行比对;根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。将待处理任务划分为多个任务碎片,根据任务碎片的特性将待处理任务按照优先级排序处理,充分考虑了待处理任务的紧急程度,减少了尾延迟;考虑待处理任务的目标期限,利用细粒度划分对待处理任务进行时间预测和取舍,在目标期限内执行待处理任务,减少了尾延迟。因此,通过本发明,减少了批处理任务时形成的尾延迟。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的任务处理方法的流程图;
图2是根据本发明实施例的任务处理方法的流程图;
图3是根据本发明实施例的任务处理方法的流程图;
图4是根据本发明实施例的任务处理方法的流程图;
图5是根据本发明实施例的任务处理方法的流程图;
图6是根据本发明实施例的任务处理装置的结构框图;
图7是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图8是根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种任务处理方法,如图1所示,该方法包括如下步骤:
步骤S101:当接收到待处理任务,响应对待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片。具体地,对输入的待处理任务进行细粒度划分得到任务碎片,其中,每个待处理任务经过细粒度划分操作得到多个任务碎片;输入的每个待处理任务都具有任务的应用类型、目标期限及紧急程度三个属性;细粒度划分操作指将每个任务进一步拆分,生成粒度更小的任务,即任务碎片。
步骤S102:将多个任务碎片的总执行时间与目标时间进行比对。具体地,多个任务碎片的总执行时间即为对应待处理任务的执行时间,目标时间是执行待处理任务的目标期限。将待处理任务的执行时间与目标时间进行比对。
步骤S103:根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务。具体地,将多个任务碎片的总执行时间与目标时间进行比对,当待处理任务的总执行时间小于或等于目标时间时,保留该待处理任务;当当待处理任务的总执行时间大于目标时间时,舍弃该待处理任务。
步骤S104:对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。具体地,每个任务碎片都具备紧急程度、频宽和执行时间三个重要特性;优先级指待处理任务的执行等级。
本发明实施例提供的任务处理方法,当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;将所述多个任务碎片的总执行时间与目标时间进行比对;根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。将待处理任务划分为多个任务碎片,根据任务碎片的特性将待处理任务按照优先级排序处理,充分考虑了待处理任务的紧急程度,减少了尾延迟;考虑待处理任务的目标期限,利用细粒度划分对待处理任务进行时间预测和取舍,在目标期限内执行待处理任务,减少了尾延迟。因此,通过本发明,减少了批处理任务时形成的尾延迟。
作为本发明实施例一种可选的实施方式,如图2所示,总执行时间包括任务碎片装载时间和任务碎片推理时间,其中装载时间指任务碎片响应并完成装载操作所需要的时间;推理时间是指任务碎片响应装载操作之后继续响应推理操作并完成推理操作所需要的时间。当接收到待处理任务,响应对待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片之后,将多个任务碎片的总执行时间与目标时间进行比对之前,该任务处理方法还包括:
确定任务碎片是否需要装载;若任务碎片不需要装载,将任务碎片推理时间作为总执行时间。具体地,将待处理任务划分为多个任务碎片之后,执行装载操作的处理器识别任务碎片是否需要装载,并做好标记;根据历史任务碎片的装载时间和推理时间预测所有任务碎片的装载时间和推理时间;若任务碎片不需要装载,则直接将任务碎片的推理时间作为该任务碎片的总执行时间;若任务碎片需要装载,则将任务碎片的装载时间和推理时间的总和并作为该任务碎片的总执行时间。
在一实施例中,设任务碎片的数量为n,预测所有任务碎片的装载时间和推理时间,分别为tLOADi和tINFERi,其中,其中下标i的含义是第i个任务碎片。当任务碎片不需要装载,该任务碎片的总执行时间为当任务碎片需要装载,该任务碎片的总执行时间为
作为本发明实施例一种可选的实施方式,确定待处理任务的总执行时间之后,与待处理任务的目标时间进行比对,并根据比对结果筛选出需要处理的待处理任务,如图2所示。
在一实施例中,设置待处理任务的目标时间tDeadline,将待处理任务的总执行时间与目标时间进行比对:
其中,当任务碎片不需要装载时,tLOADi=0。
作为本发明实施例一种可选的实施方式,对保留的待处理任务响应任务处理操作。如图3所示,首先,确定待处理任务是否需要装载,当待处理任务不需要装载时,响应对所述待处理任务的推理操作;当待处理任务需要装载时,响应对待处理任务的装载操作并在装载操作结束后,响应对待处理任务的推理操作。具体地,若待处理任务不需要装载,则直接响应对待处理任务的推理操作;若待处理任务需要装载,则响应对待处理任务的装载操作,装载操作结束之后,继续响应对待处理任务的推理操作。
作为本发明实施例一种可选的实施方式,当待处理任务需要装载时,响应对所述待处理任务的装载操作。首先在响应对待处理任务的装载操作之前,还需要确定执行任务装载的处理器是否处于空闲状态,并根据确定结果响应待处理任务的装载操作,如图3所示。具体地,当执行任务装载的处理器处于空闲状态时,将待装载的任务碎片输入至任务装载处理器并响应装载操作。
在一实施例中,设置执行任务装载的处理器(或称装载工作器),装载工作器空闲时,立即响应待装载的任务碎片的装载操作。
当执行任务装载的处理器未处于空闲状态时,将待装载的任务碎片存储在任务装载容器,直至执行任务装载的处理器处于空闲状态时再响应装载操作。具体地,当执行任务装载的处理器未处于空闲状态时,将待装载的任务碎片输入至任务装载容器等待,当执行任务装载的处理器处于空闲状态再继续执行装载操作。
在一实施例中,当装载工作器忙碌时,将任务碎片传输至任务装载容器并等待直至装载工作器空闲时,将任务装载容器中的任务碎片传输至装载工作器并立即执行装载操作。
将待装载的任务碎片存储在任务装载容器时,首先需要确定待装载的任务碎片的类型,并根据待装载的任务碎片的类型将待装载的任务碎片存储在对应的任务装载子容器中。其中,任务装载容器包括多个任务装载子容器,用于存储输入的待装载任务的任务碎片;每一个任务装载子容器用于存储相应类型的任务碎片。
具体地,当执行任务装载的处理器未处于空闲状态时,将待装载的任务碎片按照类型分别输入至任务装载容器中对应的任务装载子容器中。
当任一任务装载子容器装满时,将新的待装载的任务碎片存储在预先配置的缓存装载容器中直至所述任务装载子容器存在存储空间,将存储在缓存装载容器中的待装载的任务碎片传输至所述任务装载子容器中存储并响应批处理装载操作。
具体地,在任务装载子容器中设置缓存装载容器,将待装载的任务碎片存储在对应的任务装载子容器中时,首先确定任务装载子容器是否装满,当任务装载子容器未装满时,将待装载的任务碎片直接存储在对应的任务装载子容器中;当任务装载子容器装满时,将待装载的任务碎片存储在缓存装载容器中等待,并将已装满的任务装载子容器的“待执行等级”设置为最大值,要求任务装载处理器下一步立即执行该任务装载子容器中的任务碎片。当任务装载子容器有空间时,再将缓存装载容器中的任务碎片传输至任务装载子容器并响应批处理装载操作,如图4所示。
其中,每个任务装载子容器都有一定数量的任务碎片空间用于任务碎片的停留;任务装载子容器装满是指任务装载子容器的所有任务碎片空间都被填满;缓存装载容器的大小小于等于任务装载子容器的大小;待执行等级是任务装载子容器的紧急执行程度。
作为本发明实施例一种可选的实施方式,响应对所述待处理任务的推理操作,首先需要确定执行任务推理的处理器是否处于空闲状态,并根据确定结果响应待处理任务的推理操作。具体地,当执行任务推理的处理器处于空闲状态时,将待推理的任务碎片输入至任务推理处理器并响应推理操作,如图3所示。
在一实施例中,设置执行任务推理的处理器(或称推理工作器),推理工作器空闲时,立即响应待推理的任务碎片的推理操作。
当执行任务推理的处理器未处于空闲状态时,将待推理的任务碎片存储在任务推理容器中直至执行任务推理的处理器处于空闲状态时响应推理操作。具体地,当执行任务推理的处理器未处于空闲状态时,将待推理的任务碎片输入至任务推理容器等待,当执行任务推理的处理器处于空闲状态再继续执行推理操作。
在一实施例中,当推理工作器忙碌时,将任务碎片传输至任务推理容器并等待直至推理工作器空闲时,将任务推理容器中的任务碎片传输至推理工作器并立即执行推理操作。
具体地,将待推理的任务碎片存储在任务推理容器时,首先需要确定待推理的任务碎片的类型,并根据待推理的任务碎片的类型将待推理的任务碎片存储在对应的任务推理子容器中。其中,任务推理容器包括多个任务推理子容器,用于装载输入的待推理的任务碎片;每一个任务推理子容器用于存储相应类型的任务碎片。
具体地,当执行任务推理的处理器未处于空闲状态时,将待推理的任务碎片按照类型分别输入至任务推理容器中对应的任务推理子容器中。
当任一任务推理子容器装满时,将新的待推理的任务碎片存储在预先配置的缓存推理容器中直至所述任务推理子容器存在存储空间,将存储在缓存推理容器中的待推理的任务碎片传输至所述任务推理子容器中存储并响应批处理推理操作。
具体地,在任务推理子容器中设置缓存推理容器,将待推理的任务碎片存储在对应的任务推理子容器中时,首先确定任务推理子容器是否装满,当任务推理子容器未装满时,将待推理的任务碎片直接存储在对应的任务推理子容器中;当任务推理子容器装满时,将待推理的任务碎片存储在缓存推理容器中等待,并将任务推理子容器的“待执行等级”设置为最大值,要求任务推理处理器下一步立即执行该任务推理子容器中的任务碎片。当任务推理子容器有空间时,再将缓存推理容器中的任务碎片传输至任务推理子容器并响应批处理推理操作,如图4所示。
其中,每个任务推理子容器都有一定数量的任务碎片空间用于任务碎片的停留;任务推理子容器装满是指任务推理子容器的所有任务碎片空间都被填满;缓存推理容器的大小小于等于任务推理子容器的大小;待执行等级是任务推理子容器的紧急执行程度。
作为本发明实施例一种可选的实施方式,将待装载的任务碎片存储在任务装载容器之后,还包括:根据所述任务碎片的属性信息进行重要等级划分并排序;根据重要等级排序结果对所述任务碎片位置进行调整;根据所述任务碎片的重要等级对所述任务装载子容器进行优先级排序,并按照排序结果将所述任务装载子容器中的所述任务碎片传输至所述任务装载处理器。
具体地,当新的任务碎片进入任务装载子容器时,若当前任务装载子容器中的任务碎片数量大于1即有多个任务碎片时,需要对任务碎片进行等级划分并排序,按照排序结果依次调整任务碎片的位置,并根据划分后的任务碎片的等级对任务装载子容器进行优先级排序,然后依次将排序后的任务装载子容器内的任务碎片传输至任务装载处理器。其中,任务碎片的等级在任务碎片进入任务装载子容器时被计算,并作为任务碎片的属性保留。
在一实施例中,设置任务碎片等级为“任务碎片优先权重”tWeight,利用任务碎片的三个重要特性紧急程度tPrior、频宽bandwidth、装载时间tLOAD进行计算:
tWeight=x1×tPrior+x2×bandwidth+x3×tLoad
其中,x1,x2,x3为固定值,可以分别设置为:x1=0.7,x2=0.2,x3=0.1。
并计算任务装载子容器的“待执行等级”execPrior:
其中,tWeighti的下标i指的是第i个任务碎片。
按照“待执行等级”execPrior的值从高到低将任务装载子容器进行排序,然后按照排序顺序将任务装载子容器内的任务碎片传输至任务装载处理器。
作为本发明实施例一种可选的实施方式,将待推理的任务碎片存储在任务推理容器之后,还包括:根据任务碎片的属性信息进行重要等级划分并排序;根据重要等级排序结果对任务碎片位置进行调整;根据任务碎片的的等级对任务推理子容器进行优先级排序,并按照排序结果将任务推理子容器中的任务碎片全部传输至任务推理处理器。具体的实施方式可以参照上面将待装载的任务碎片存储在任务装载容器之后的过程实现,此处不再赘述。
作为本发明实施例一种可选的实施方式,响应批处理推理操作包括:将所述待推理的任务碎片按照顺序依次进行编号,并划分所述待推理的任务碎片为重任务碎片和轻任务碎片,通过所述任务扫描容器响应标记所述轻任务碎片,其中所述重任务碎片的重要等级大于所述轻任务碎片的重要等级;确定当前所述任务推理子容器中有无剩余任务碎片;当所述任务推理子容器中有剩余任务碎片时,确定当前所述网络拥堵情况;当所述网络拥堵时,确定所述任务推理子容器中有无所述轻任务碎片;根据所述确定结果响应推理操作,如5所示。其中,任务推理子容器包含任务扫描容器;重任务碎片指需要从主机内存复制输入向量到图形处理器的推理任务碎片;轻任务碎片指不需要复制输入向量的推理任务碎片。具体地,若当前任务推理子容器中无剩余任务碎片,则结束推理流程;若当前任务推理子容器中有剩余任务碎片,首先判断当前任务推理处理器所处网络的拥堵程度,根据拥堵程度对剩余任务碎片做推理操作。其中,当前任务推理处理器所处网络的拥堵程度用“线路频宽”衡量。
具体地,计算线路频宽,与当前任务推理处理器允许的最大频宽bandwidth_max做比对:
当线路频宽与最大频宽满足:
则称线路频宽处于拥挤状态;
当线路频宽与最大频宽满足:
则称线路频宽处于流畅状态。其中,p1,p2为固定值,分别为:p1=0.85,p2=0.9。
若当前线路频宽处于拥挤状态,则判断当前任务推理子容器中是否存在轻任务碎片。若存在,则执行按照顺序执行轻任务碎片;若不存在,则等待直至当前线路频宽恢复流畅状态。若当前线路频宽处于流畅状态,则按照编号顺序依次执行待推理的任务碎片。当前线路频宽处于拥挤状态时,将轻任务碎片按照顺序执行,减少了因线路频宽拥堵引发的不可预测的执行时间的产生,进而有效减少了尾延迟。
本发明实施例还提供一种任务处理装置,如图6所示,该装置包括:
获取模块401,用于当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;详细内容参见上述方法实施例中步骤S101的相关描述。
比对模块402,用于将所述多个任务碎片的总执行时间与目标时间进行比对;详细内容参见上述方法实施例中步骤S102的相关描述。
筛选模块403,用于根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;详细内容参见上述方法实施例中步骤S103的相关描述。
处理模块404,用于对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作;详细内容参见上述方法实施例中步骤S104的相关描述。
本发明实施例提供的任务处理装置,当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;将所述多个任务碎片的总执行时间与目标时间进行比对;根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作。将待处理任务划分为多个任务碎片,根据任务碎片的特性将待处理任务按照优先级排序处理,充分考虑了待处理任务的紧急程度,减少了尾延迟;考虑待处理任务的目标期限,利用细粒度划分对待处理任务进行时间预测和取舍,在目标期限内执行待处理任务,减少了尾延迟。因此,通过本发明,减少了批处理任务时形成的尾延迟。
作为本发明实施例一种可选的实施方式,所述总执行时间包括任务碎片装载时间和任务碎片推理时间;所述任务处理装置还包括:第一装载确定模块,用于确定所述任务碎片是否需要装载;时间确定模块,用于若所述任务碎片不需要装载,将所述任务碎片推理时间作为所述总执行时间。
作为本发明实施例一种可选的实施方式,处理模块404,包括:第二装载确定模块,用于确定所述待处理任务对应的任务碎片是否需要装载;第一响应模块,用于若所述任务碎片不需要装载,响应对所述待处理任务的推理操作;第二响应模块,用于若所述任务碎片需要装载,响应对所述待处理任务的装载操作并在装载操作结束后,响应对所述待处理任务的推理操作。
作为本发明实施例一种可选的实施方式,第二响应模块,包括:第一状态确定模块,用于确定执行任务装载的处理器是否处于空闲状态;第一响应子模块,用于若执行任务装载的处理器未处于空闲状态,将所述待装载的任务碎片存储在任务装载容器中直至所述执行任务装载的处理器处于空闲状态时响应装载操作。
作为本发明实施例一种可选的实施方式,所述第一响应模块或第二响应模块,包括:第二状态确定模块,用于确定执行任务推理的处理器是否处于空闲状态;第二响应子模块,用于若执行任务推理的处理器未处于空闲状态,将所述待推理的任务碎片存储在任务推理容器中直至所述执行任务推理的处理器处于空闲状态时响应推理操作。
作为本发明实施例一种可选的实施方式,所述任务装载容器包括多个任务装载子容器,每一个任务装载子容器用于存储相应类型的任务碎片;所述第一响应子模块包括:第一碎片类型确定子模块,用于确定待装载的任务碎片的类型;第一存储子模块,用于根据待装载的任务碎片的类型,将所述待装载的任务碎片存储在对应的任务装载子容器中;第一批处理子模块,用于当任一任务装载子容器装满时,将新的待装载的任务碎片存储在预先配置的缓存装载容器中直至所述任务装载子容器存在存储空间,将存储在缓存装载容器中的待装载的任务碎片传输至所述任务装载子容器中存储并响应批处理装载操作。
作为本发明实施例一种可选的实施方式,所述任务推理容器包括多个任务推理子容器,每一个任务推理子容器用于存储相应类型的任务碎片;所述第二响应子模块,包括:第二碎片类型确定子模块,用于确定待推理的任务碎片的类型;第二存储子模块,用于根据待推理的任务碎片的类型,将所述待推理的任务碎片存储在对应的任务推理子容器中;第二批处理子模块,用于当任一任务推理子容器装满时,将新的待推理的任务碎片存储在预先配置的缓存推理容器中直至所述任务推理子容器存在存储空间,将存储在缓存推理容器中的待推理的任务碎片传输至所述任务推理子容器中存储并响应批处理推理操作。
作为本发明实施例一种可选的实施方式,所述装置还包括:第一排序模块,用于根据所述任务碎片的属性信息进行重要等级划分并排序;第一调整模块,用于根据重要等级排序结果对所述任务碎片位置进行调整;第一传输模块,用于根据所述任务碎片的重要等级对所述任务装载子容器进行优先级排序,并按照排序结果将所述任务装载子容器中的所述任务碎片传输至所述任务装载处理器。
作为本发明实施例一种可选的实施方式,所述装置还包括:第二排序模块,用于根据所述任务碎片的属性信息进行重要等级划分并排序;第二调整模块,用于根据重要等级排序结果对所述任务碎片位置进行调整;第二传输模块,用于根据所述任务碎片的等级对所述任务推理子容器进行优先级排序,并按照排序结果将所述任务推理子容器中的所述任务碎片全部传输至所述任务推理处理器。
作为本发明实施例一种可选的实施方式,所述任务推理子容器包含任务扫描容器;所述第二批处理子模块,包括:标记子模块,用于将所述待推理的任务碎片按照顺序依次进行编号,并划分所述待推理的任务碎片为重任务碎片和轻任务碎片,通过所述任务扫描容器响应标记所述轻任务碎片,其中所述重任务碎片的重要等级大于所述轻任务碎片的重要等级;剩余碎片确定子模块,用于确定当前所述任务推理子容器中有无剩余任务碎片;网络拥堵确定子模块,用于当所述任务推理子容器中有剩余任务碎片时,确定当前所述网络拥堵情况;轻任务碎片确定子模块,用于当所述网络拥堵时,确定所述任务推理子容器中有无所述轻任务碎片;推理子模块,用于根据所述确定结果响应推理操作。
本发明实施例提供的任务处理装置的功能描述详细参见上述实施例中任务处理方法描述。
本发明实施例还提供一种存储介质,如图7所示,其上存储有计算机程序601,该指令被处理器执行时实现上述实施例中任务处理方法的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种电子设备,如图8所示,该电子设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的任务处理方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-5所示实施例中的任务处理方法。
上述电子设备具体细节可以对应参阅图1至图5所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.一种任务处理方法,其特征在于,包括如下步骤:
当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片;
将所述多个任务碎片的总执行时间与目标时间进行比对;
根据比对结果保留总执行时间小于或等于目标时间的待处理任务,舍弃总执行时间大于目标时间的待处理任务;
对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作;
对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作,包括:
若所述待处理任务对应的任务碎片需要装载,确定执行任务装载的处理器是否处于空闲状态;
若执行任务装载的处理器未处于空闲状态,将待装载的任务碎片存储在任务装载容器中直至所述执行任务装载的处理器处于空闲状态时响应装载操作,所述任务装载容器包括多个任务装载子容器,每一个任务装载子容器用于存储相应类型的任务碎片:所述将所述待装载的任务碎片存储在任务装载容器中,包括:确定待装载的任务碎片的类型;
根据待装载的任务碎片的类型,将所述待装载的任务碎片存储在对应的任务装载子容器中;
当任一任务装载子容器装满时,将新的待装载的任务碎片存储在预先配置的缓存装载容器中直至所述任务装载子容器存在存储空间,将存储在缓存装载容器中的待装载的任务碎片传输至所述任务装载子容器中存储并响应批处理装载操作。
2.根据权利要求1所述的任务处理方法,其特征在于,所述总执行时间包括任务碎片装载时间和任务碎片推理时间;所述当接收到待处理任务,响应对所述待处理任务的细粒度划分操作得到待处理任务对应的多个任务碎片之后,所述将所述多个任务碎片的总执行时间与目标时间进行比对之前,所述方法还包括:
确定所述任务碎片是否需要装载;
若所述任务碎片不需要装载,将所述任务碎片推理时间作为所述总执行时间。
3.根据权利要求1所述的任务处理方法,其特征在于,所述对保留的待处理任务按照任务碎片的特性进行优先级排序并根据排序结果响应任务处理操作,包括:
确定所述待处理任务对应的任务碎片是否需要装载;
若所述任务碎片不需要装载,响应对所述待处理任务的推理操作;
若所述任务碎片需要装载,响应对所述待处理任务的装载操作并在装载操作结束后,响应对所述待处理任务的推理操作。
4.根据权利要求3所述的任务处理方法,其特征在于,响应对所述待处理任务的推理操作,包括:
确定执行任务推理的处理器是否处于空闲状态;
若执行任务推理的处理器未处于空闲状态,将待推理的任务碎片存储在任务推理容器中直至所述执行任务推理的处理器处于空闲状态时响应推理操作。
5.根据权利要求4所述的任务处理方法,其特征在于,所述任务推理容器包括多个任务推理子容器,每一个任务推理子容器用于存储相应类型的任务碎片;将所述待推理的任务碎片存储在任务推理容器中,包括:
确定待推理的任务碎片的类型;
根据待推理的任务碎片的类型,将所述待推理的任务碎片存储在对应的任务推理子容器中;
当任一任务推理子容器装满时,将新的待推理的任务碎片存储在预先配置的缓存推理容器中直至所述任务推理子容器存在存储空间,将存储在缓存推理容器中的待推理的任务碎片传输至所述任务推理子容器中存储并响应批处理推理操作。
6.根据权利要求1所述的任务处理方法,其特征在于,将所述待装载的任务碎片存储在任务装载容器之后,还包括:
根据所述任务碎片的属性信息进行重要等级划分并排序;
根据重要等级排序结果对所述任务碎片位置进行调整;
根据所述任务碎片的重要等级对所述任务装载子容器进行优先级排序,并按照排序结果将所述任务装载子容器中的所述任务碎片传输至所述任务装载处理器。
7.根据权利要求5所述的任务处理方法,其特征在于,将所述待推理的任务碎片存储在任务推理容器之后,还包括:
根据所述任务碎片的属性信息进行重要等级划分并排序;
根据重要等级排序结果对所述任务碎片位置进行调整;
根据所述任务碎片的等级对所述任务推理子容器进行优先级排序,并按照排序结果将所述任务推理子容器中的所述任务碎片全部传输至所述任务推理处理器。
8.根据权利要求5所述的任务处理方法,其特征在于,所述任务推理子容器包含任务扫描容器;所述响应批处理推理操作包括:
将所述待推理的任务碎片按照顺序依次进行编号,并划分所述待推理的任务碎片为重任务碎片和轻任务碎片,通过所述任务扫描容器响应标记所述轻任务碎片,其中所述重任务碎片的重要等级大于所述轻任务碎片的重要等级;
确定当前所述任务推理子容器中有无剩余任务碎片;
当所述任务推理子容器中有剩余任务碎片时,确定当前网络拥堵情况;
当所述网络拥堵时,确定所述任务推理子容器中有无所述轻任务碎片;
根据确定结果响应推理操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259027.9A CN113961328B (zh) | 2021-10-26 | 2021-10-26 | 一种任务处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111259027.9A CN113961328B (zh) | 2021-10-26 | 2021-10-26 | 一种任务处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113961328A CN113961328A (zh) | 2022-01-21 |
CN113961328B true CN113961328B (zh) | 2022-07-19 |
Family
ID=79467772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111259027.9A Active CN113961328B (zh) | 2021-10-26 | 2021-10-26 | 一种任务处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961328B (zh) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9727829B2 (en) * | 2009-11-25 | 2017-08-08 | General Electric Company | Systems and methods for multi-resource scheduling |
WO2013010159A1 (en) * | 2011-07-14 | 2013-01-17 | Siemens Corporation | Reducing the scan cycle time of control applications through multi-core execution of user programs |
US9332411B2 (en) * | 2013-02-20 | 2016-05-03 | Microsoft Technology Licensing, Llc | User interruptibility aware notifications |
CN104424021A (zh) * | 2013-08-29 | 2015-03-18 | 鸿富锦精密工业(深圳)有限公司 | 任务优先级设置系统及方法 |
CN104731649A (zh) * | 2015-04-21 | 2015-06-24 | 中国建设银行股份有限公司 | 一种多任务处理方法及装置 |
CN107622177B (zh) * | 2017-11-03 | 2021-06-08 | 北京华如科技股份有限公司 | 基于eati方法的航空投送仿真方法 |
US10884801B2 (en) * | 2019-02-26 | 2021-01-05 | Sap Se | Server resource orchestration based on application priority |
CN110175072A (zh) * | 2019-05-28 | 2019-08-27 | 广州小鹏汽车科技有限公司 | 任务执行方法、系统及车辆 |
CN113127057B (zh) * | 2020-01-16 | 2024-07-16 | 北京京东振世信息技术有限公司 | 多任务并行执行的方法和装置 |
JP2022539955A (ja) * | 2020-03-11 | 2022-09-14 | 上▲海▼商▲湯▼智能科技有限公司 | タスクスケジューリング方法及び装置 |
CN111580946A (zh) * | 2020-04-28 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 端口扫描方法、装置、设备及存储介质 |
CN112114973B (zh) * | 2020-09-29 | 2024-02-13 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN112214319B (zh) * | 2020-09-29 | 2021-08-06 | 深圳大学 | 一种计算资源感知的任务调度方法 |
CN112363821A (zh) * | 2021-01-12 | 2021-02-12 | 湖南大学 | 一种计算资源调度方法、装置及计算机设备 |
CN112860402B (zh) * | 2021-02-20 | 2023-12-05 | 中南大学 | 一种深度学习推理服务的动态批处理任务调度方法及系统 |
CN113360263B (zh) * | 2021-06-08 | 2023-01-31 | 展讯通信(天津)有限公司 | 一种任务处理方法、系统及相关设备 |
-
2021
- 2021-10-26 CN CN202111259027.9A patent/CN113961328B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113961328A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824732B2 (en) | Techniques for artificial intelligence capabilities at a network switch | |
CN111459659A (zh) | 数据处理方法、装置、调度服务器及介质 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及系统 | |
EP3295629B1 (en) | Query plan and operation-aware communication buffer management | |
CN108304256B (zh) | 一种边缘计算中低开销的任务调度方法及装置 | |
CN112214319B (zh) | 一种计算资源感知的任务调度方法 | |
CN112491983A (zh) | 基于区块链的智能合约调度方法、装置、设备及存储介质 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
CN113141321B (zh) | 一种基于边缘计算的数据传输方法及电子设备 | |
WO2024187737A1 (zh) | 一种数据处理的方法、装置、存储介质及电子设备 | |
CN113422726B (zh) | 服务链部署方法及装置、存储介质及电子设备 | |
CN108093047B (zh) | 数据发送方法、装置、电子设备及中间件系统 | |
CN110888745A (zh) | 一种考虑任务传输到达时间的mec节点选择方法 | |
CN113961328B (zh) | 一种任务处理方法、装置、存储介质及电子设备 | |
CN113434303A (zh) | 批处理的遥感影像智能处理模型预测性能优化系统及方法 | |
CN117319373A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
CN113608852A (zh) | 任务调度方法、调度模块、推理节点和协同作业系统 | |
CN113094155B (zh) | Hadoop平台下的任务调度方法及装置 | |
CN114675845B (zh) | 信息年龄优化方法、装置、计算机设备及存储介质 | |
JP2001014243A (ja) | 受信割込処理装置 | |
CN114253698A (zh) | 资源调度方法、系统、电子设备及存储介质 | |
CN117056258A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN112398917A (zh) | 面向多站融合架构的实时任务调度方法和装置 | |
CN113472591B (zh) | 一种业务性能的确定方法及装置 | |
CN110661731A (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 |