一种任务处理方法、任务处理器及任务处理设备技术

技术编号:20285158 阅读:27 留言:0更新日期:2019-02-10 17:46
本申请提供了一种任务处理方法、任务处理器及任务处理设备,用于优先执行高优先级的任务,从而满足了高优先级任务的Qos需求。本申请实施例方法包括:获取待执行任务;确定待执行任务的第一优先级;根据第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务;当目标逻辑运算单元集合具有当前任务时,优先执行待执行任务和当前任务中优先级最高的任务。

A Task Processing Method, Task Processor and Task Processing Equipment

This application provides a task processing method, a task processor and a task processing device for priority execution of high priority tasks, thus meeting the Qos requirements of high priority tasks. The method of the embodiment of this application includes: acquiring the task to be executed; determining the first priority of the task to be executed; determining the set of target logical operation units from at least one set of logical operation units according to the first priority; the set of target logical operation units includes at least one logical operation unit, and a logical operation unit is used to execute a task to be executed; and when the target logical operation unit is executed; When the cell set has the current task, priority is given to the tasks to be executed and the tasks with the highest priority in the current task.

【技术实现步骤摘要】
一种任务处理方法、任务处理器及任务处理设备
本申请涉及计算机领域,具体涉及一种任务处理方法、任务处理器及任务处理设备。
技术介绍
随着用户对处理器性能的要求不断提高,功耗问题限制了单核处理器不断提高性能的发展途径,越来越多的多核处理器应运而生。在多核处理器中,多个处理器并行计算,需要处理的业务任务被分解成若干个部分,根据一定的调度原则,由负责调度的功能模块,将每个部分调度到一个核上执行。基于多核的并行计算架构,由集中的调度功能模块或称为调度核心负责任务的调度和分配,由于业务的多样性,不同的任务有不同的优先级,调度功能模块在调度时基于第一优先级调度,选择目标核集合中的一个目标核执行一个任务,由于任务调度快于任务执行,所以同时分配给目标核的任务会在目标核内部的任务队列中等待。但是,在目标核上一般基于先到先服务的RuntoCompletion方式,后调度的任务即使优先级高也要等待先调度的低优先级任务完成才能执行,在实时系统中,任务执行时间要求非常严格,尤其在无线通信系统中,一个任务的处理时间只有约几十微秒,基于RuntoCompletion的方式任务实时性差,高优先级任务的服务质量(QualityofService,Qos)需求难以保证。
技术实现思路
本申请提供了一种任务处理方法、任务处理器及任务处理设备,用于优先执行高优先级的任务,从而满足了高优先级任务的Qos需求。本申请第一方面提供一种任务处理方法,包括:获取待执行任务;确定所述待执行任务的第一优先级;根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务;当所述目标逻辑运算单元集合具有当前任务时,优先执行所述待执行任务和所述当前任务中优先级最高的任务。在并行处理系统中,为了提高任务处理效率,一般是采用多线并行的方式来处理任务,因此,用于处理任务的逻辑运算单元集合至少为一个,且一个逻辑运算单元集合中包括至少一个逻辑运算单元,在不同的并行处理系统的场景下,逻辑运算单元集合可以处于内核、处理器或者服务器中,而且不同的逻辑运算单元对应不同优先级的独立的执行上下文,独立的执行上下文可以是线程,一个独立的执行上下文一次处理一个任务,因此,一个逻辑运算单元用于执行一个任务,例如,并行处理系统具体为多核处理器时,一个逻辑运算单元集合处于一个用作于任务执行的内核中。当有需要处理的业务时,可以通过对业务的任务进行分解得到待执行任务,或者通过其他方式接收到待执行任务,先确定待执行任务的第一优先级,根据第一优先级从至少一个逻辑运算单元集合中确定一个逻辑运算单元集合,作为目标逻辑运算单元集合,当目标逻辑运算单元集合具有当前任务时,优先执行待执行任务和当前任务中优先级最高的任务,与现有技术中只能先执行完当前任务之后,再执行待执行任务,而本申请是优先执行待执行任务和当前任务中优先级最高的任务,从而满足了高优先级任务的Qos需求。结合本申请第一方面,本申请第一方面第一实施方式中,所述根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,包括:获取至少一个逻辑运算单元集合中所有逻辑运算单元的预置优先级,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务,每一个逻辑运算单元的预置优先级对应一个或多个任务的优先级;根据所述第一优先级及所述预置优先级确定所述待执行任务对应的逻辑运算单元;确定所述待执行任务对应的逻辑运算单元所处的逻辑运算单元集合为目标逻辑运算单元集合。在第一方面中,根据第一优先级之所以能够确定对应的目标逻辑运算单元集合,是因为预先为每一个逻辑运算单元都配置了不同的预置优先级,预置优先级的配置是由逻辑运算单元所对应的独立的执行上下文的优先级所决定的,预置优先级可以是固定的值,也可以是取值范围,为方便索引,一个逻辑运算单元的预置优先级与一个或多个任务的优先级进行一一配对保存。获取至少一个逻辑运算单元集合中所有逻辑运算单元的预置优先级,将待执行任务的第一优先级与所有逻辑运算单元的预置优先级进行逐一的比对,就能级确定待执行任务对应的逻辑运算单元,确定待执行任务对应的逻辑运算单元所处的逻辑运算单元集合为目标逻辑运算单元集合。目标逻辑运算单元集合的确定是依据逻辑运算单元的预置优先级和的第一优先级得到的,有利于方案的具体实施。结合本申请第一方面第一实施方式,本申请第一方面第二实施方式中,所述优先执行所述待执行任务和所述当前任务中优先级最高的任务,包括:当所述目标逻辑运算单元集合具有当前任务时,获取所述当前任务的第二优先级;将所述待执行任务调度到所述目标逻辑运算单元集合;判断所述第一优先级是否高于所述第二优先级;当所述第一优先级高于所述第二优先级时,中断所述当前任务,并执行所述待执行任务;当所述第一优先级低于或等于所述第二优先级时,不中断所述当前任务。如果目标逻辑运算单元集合中没有任何的任务,那么自然是执行待执行任务,无需进行说明,而如果目标逻辑运算单元集合中在待执行任务之前已经调度了任务,而且正在执行当前任务时,获取当前任务的第二优先级,将待执行任务调度到目标逻辑运算单元集合,判断待执行任务的第一优先级是否高于当前任务的第二优先级,如果第一优先级高于第二优先级,那么根据Qos需求,自然是需要先执行待执行任务,可以通过目标逻辑运算单元集合中当前任务对应的逻辑运算单元中断当前任务,并通过待执行任务对应的逻辑运算单元执行待执行任务;如果第一优先级低于或等于第二优先级,那么根据Qos需求,自然是需要继续执行当前任务,因此,无需中断当前任务。详细具体的说明了如何优先执行高优先级的任务。结合本申请第一方面、第一方面第一实施方式或第一方面第二实施方式,本申请第一方面第三实施方式中,所述确定所述至少一个待执行任务中每一个待执行任务的第一优先级,包括:确定所述待执行任务的Qos特性;根据所述Qos特性确定所述待执行任务的第一优先级。一般待执行任务都具有包括服务时间、服务代价、完整性、可用性及信誉等QoS特性,Qos特性可以作为评判第一优先级的标准,因此,可以预置不同Qos特性的任务对应不同的优先级,一般情况下,优先级越最高的任务需要优先执行。由于预先为不同的Qos特性的任务设置了不同的优先级,所以确定待执行任务的第一优先级,具体可以是,先确定待执行任务的Qos特性,再根据Qos特性确定待执行任务的第一优先级。结合本申请第一方面第三实施方式,本申请第一方面第四实施方式中,所述获取待执行任务之前,还包括:获取业务处理请求,所述业务处理请求包括业务标识;根据所述业务处理请求中的业务标识生成业务任务;对所述业务任务进行任务分解,得到至少一个子任务,所述至少一个子任务中包括所述待执行任务。在以上的各实施方式中,一个待执行任务对应的是一个逻辑运算单元,因此,一个待执行任务实际上是业务任务的一个子任务,如何获取待执行任务,具体为:先获取业务处理请求,业务处理请求包括业务标识,根据业务处理请求中的业务标识生成业务任务,对业务任务进行任务分解,得到至少一个子任务,至少一个子任务中包括待执行任务。本申请第二方面提供一种任务处理器,包括:获取模块,用于获取本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,包括:获取待执行任务;确定所述待执行任务的第一优先级;根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务;当所述目标逻辑运算单元集合具有当前任务时,优先执行所述待执行任务和所述当前任务中优先级最高的任务。

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:获取待执行任务;确定所述待执行任务的第一优先级;根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务;当所述目标逻辑运算单元集合具有当前任务时,优先执行所述待执行任务和所述当前任务中优先级最高的任务。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,包括:获取至少一个逻辑运算单元集合中所有逻辑运算单元的预置优先级,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务,每一个逻辑运算单元的预置优先级对应一个或多个任务的优先级;根据所述第一优先级及所述预置优先级确定所述待执行任务对应的逻辑运算单元;确定所述待执行任务对应的逻辑运算单元所处的逻辑运算单元集合为目标逻辑运算单元集合。3.根据权利要求2所述的方法,其特征在于,所述优先执行所述待执行任务和所述当前任务中优先级最高的任务,包括:当所述目标逻辑运算单元集合具有当前任务时,获取所述当前任务的第二优先级;将所述待执行任务调度到所述目标逻辑运算单元集合;判断所述第一优先级是否高于所述第二优先级;当所述第一优先级高于所述第二优先级时,中断所述当前任务,并执行所述待执行任务;当所述第一优先级低于或等于所述第二优先级时,不中断所述当前任务。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述确定所述待执行任务的第一优先级,包括:确定所述待执行任务的服务质量Qos特性;根据所述Qos特性确定所述待执行任务的第一优先级。5.根据权利要求4所述的方法,其特征在于,所述获取待执行任务之前,还包括:获取业务处理请求,所述业务处理请求包括业务标识;根据所述业务处理请求中的业务标识生成业务任务;对所述业务任务进行任务分解,得到至少一个子任务,所述至少一个子任务中包括所述待执行任务。6.一种任务处理器,其特征在于,包括:获取模块,用于获取待执行任务;处理模块,用于确定所述待执行任务的第一优先级;所述处理模块,还用于根据所述第一优先级从至少一个逻辑运算单元集合中确定目标逻辑运算单元集合,所述目标逻辑运算单元集合包括至少一个逻辑运算单元,一个逻辑运算单元用于执行一个待执行任务;执行模块,用于当所述目标逻辑运算单元集合具有当前任务时,优先执行所述待执行任务和所述当前任务中优先级最高的任务。7.根据权利要求6所述的任务处理器...

【专利技术属性】
技术研发人员:郝珅
申请(专利权)人:上海华为技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1