CN108958923A - 一种调度硬件加速器的方法以及调度设备 - Google Patents

一种调度硬件加速器的方法以及调度设备 Download PDF

Info

Publication number
CN108958923A
CN108958923A CN201710381524.3A CN201710381524A CN108958923A CN 108958923 A CN108958923 A CN 108958923A CN 201710381524 A CN201710381524 A CN 201710381524A CN 108958923 A CN108958923 A CN 108958923A
Authority
CN
China
Prior art keywords
task
hac
target
controlling equipment
request
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
Application number
CN201710381524.3A
Other languages
English (en)
Other versions
CN108958923B (zh
Inventor
叶腾飞
吴素文
朱磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huawei Technologies Co Ltd
Original Assignee
Shanghai Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huawei Technologies Co Ltd filed Critical Shanghai Huawei Technologies Co Ltd
Priority to CN201710381524.3A priority Critical patent/CN108958923B/zh
Publication of CN108958923A publication Critical patent/CN108958923A/zh
Application granted granted Critical
Publication of CN108958923B publication Critical patent/CN108958923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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 hardware capabilities

Abstract

本申请实施例公开了一种调度硬件加速器的方法以及调度设备,用于解决现有技术中存在的调度HAC效率不高的问题。本申请实施例方法包括:调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;所述调度设备调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。

Description

一种调度硬件加速器的方法以及调度设备
技术领域
本申请涉及网络通信技术领域,尤其涉及一种调度硬件加速器的方法以及调度设备。
背景技术
硬件加速器(hardware accelerator,HAC)是使用逻辑语言实现某些特定功能的硬件模块,由于可以并行处理数据,因此在处理能力和时延相对软件实现有较大的优势。当前一些通信芯片内部会使用HAC来完成数据大、运算量大、实现固定的动能,以减少软件部署的成本。随着通信业务的发展,业务场景越来越复杂,使得业务的处理规格和时延需求越来越高,为了满足这些需求,芯片中不得不部署规模更大、复杂度更高、数量更多的HAC,因此在解决上述问题的同时关于HAC的调度也尤为重要。
现有技术中,HAC一般由软件来管理并调度的,使用软件来调度各个HAC,如图1所示,每个HAC可以被一个或者多个软件来调度。在需要进行任务处理时,软件将任务请求发给相应的HAC,HAC在完成处理后返回任务完成响应。其中,在分配任务时,软件统计每个HAC的任务量累加值,每次分配是根据任务量历史累加值判断,将本次任务量较大的任务分给任务量历史累加值较小的HAC,保证每个HAC的处理量相对均匀。
然而,现有技术中,软件只能根据预先收到的任务情况分配,可能导致有些HAC的负载很重,有些HAC的负载很轻,例如,假设HAC1的任务量历史累加值为800,HAC2的任务量历史累加值为200,软件在分配任务量均为200的任务1~任务3时,将任务量1~任务3都分给HAC2,使得HAC的任务分配不均衡。
发明内容
本申请实施例提供了一种调度硬件加速器的方法以及调度设备,用于解决现有技术中存在的调度HAC效率不高的问题。
本申请实施例的第一方面提供一种调度硬件加速器的方法,包括:当有至少一个请求任务要进行处理时,需要由调度设备将该请求任务分配给各硬件加速器HAC,因而调度设备接收到用于请求为请求任务分配HAC的任务请求消息;在接收到任务请求消息之后,所述调度设备调度处于第一状态的HAC作为目标HAC,来执行所述请求任务,并将所述目标HAC的状态切换至第二状态,该第一状态用于表示所述目标HAC未执行任务,该第二状态用于表示所述目标HAC在执行任务。本申请实施例中,按照各HAC的状态分配请求任务,使每个HAC处理的任务量相对均匀,在硬件设计时不需要考虑任务分配导致的额外开销和资源浪费,从而节省HAC的资源,降低硬件的成本,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述调度设备接收到任务请求消息之后,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之前,所述方法还包括:所述调度设备获取所述请求任务的最晚执行时间,其中该最晚执行时间即在该时间之前,需执行该请求任务;并在获取到该最晚执行时间之后,所述调度设备根据获得的所述最晚执行时间确定所述请求任务的执行优先级。本申请实施例增加了根据最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级包括:所述调度设备根据获得的所述最晚执行时间和当前时间计算得到时间差,其中,该时间差可以为两者差的绝对值;所述调度设备将所述各请求任务按照所述时间差从小到大的顺序进行排列,得到所述各请求任务的执行优先级的排序。本申请实施例对确定请求任务的优先级的具体过程进行了细化,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级之后,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之前,所述方法还包括:所述调度设备确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例增加了根据所述任务组动态分配内存资源的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第一方面的第五种实现方式中,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之后,所述方法还包括:所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第一方面的第六种实现方式中,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:所述调度设备将所述目标HAC的状态从所述第二状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
本申请实施例的第二方面提供一种调度硬件加速器的方法,包括:调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;所述调度设备根据最晚执行时间确定所述请求任务的执行优先级;所述调度设备为所述执行优先级最高的请求任务分配目标HAC。本申请实施例中,根据任务的实时紧急程度来动态调整优先级,使不同类别的任务都能及时得到调度,保证系统整体的容量,提升了系统的可靠性和容错性,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,所述调度设备根据最晚执行时间确定所述请求任务的执行优先级包括:所述调度设备获取所述请求任务的最晚执行时间;所述调度设备根据所述最晚执行时间和当前时间计算得到时间差;所述调度设备将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。本申请实施例细化了所述调度设备根据最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述调度设备根据最晚执行时间确定所述请求任务的执行优先级之后,所述调度设备为所述执行优先级最高的请求任务分配目标HAC之前,所述方法还包括:所述调度设备确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例增加了确定任务组的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,所述调度设备为所述执行优先级最高的请求任务分配目标HAC包括:所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例细化了所述调度设备为所述执行优先级最高的请求任务分配目标HAC的过程,增加了本申请实施例的可操作性。
在一种可能的设计中,在本申请实施例第二方面的第四种实现方式中,所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务之后,所述方法还包括:所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第二方面的第五种实现方式中,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:所述调度设备将所述目标HAC的状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
在一种可能的设计中,在本申请实施例第二方面的第六种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
本申请实施例的第三方面提供一种调度硬件加速器的方法,包括:调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;所述调度设备根据执行所述请求任务需要的内存申请目标内存,所述目标内存不小于执行所述请求任务需要的内存;所述调度设备根据所述目标内存为所述请求任务分配目标HAC。本申请实施例中,所述调度设备动态地分配内存资源,提升了内存的利用率,从而在整体上减少内存的使用,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第三方面的第一种实现方式中,所述调度设备根据执行所述请求任务需要的内存申请目标内存之前,所述方法还包括:所述调度设备确定任务组,所述任务组中包括所述请求任务,和与所述请求任务关联的任务。本申请实施例增加了确定任务组的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第三方面的第二种实现方式中,所述调度设备根据执行所述请求任务需要的内存申请目标内存包括:所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例细化了所述调度设备根据执行所述请求任务需要的内存申请目标内存的过程,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第三方面的第三种实现方式中,所述调度设备根据执行所述请求任务需要的内存申请目标内存之前,所述调度设备接收到任务请求消息之后,所述方法还包括:所述调度设备获取所述请求任务的最晚执行时间;所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级。本申请实施例增加了获取所述请求任务的最晚执行时间并根据所述最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第三方面的第四种实现方式中,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级包括:所述调度设备根据所述最晚执行时间和当前时间计算得到时间差;所述调度设备将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。本申请实施例细化了根据所述最晚执行时间确定所述请求任务的执行优先级的具体步骤,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第三方面的第五种实现方式中,所述调度设备根据所述目标内存为所述请求任务分配目标HAC包括:所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例细化了所述调度设备根据所述目标内存为所述请求任务分配目标HAC的过程,增加了本申请实施例的可操作性。
在一种可能的设计中,在本申请实施例第三方面的第六种实现方式中,所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务之后,所述方法还包括:所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第三方面的第七种实现方式中,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:所述调度设备将所述目标HAC的状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
在一种可能的设计中,在本申请实施例第三方面的第八种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
本申请实施例的第四方面提供一种调度设备,包括:第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;调度单元,用于调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例中,按照各HAC的状态分配请求任务,使每个HAC处理的任务量相对均匀,在硬件设计时不需要考虑任务分配导致的额外开销和资源浪费,从而节省HAC的资源,降低硬件的成本,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第四方面的第一种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
在一种可能的设计中,在本申请实施例第四方面的第二种实现方式中,所述调度设备还包括:获取单元,用于获取所述请求任务的最晚执行时间;第一确定单元,用于根据所述最晚执行时间确定所述请求任务的执行优先级。本申请实施例增加了根据最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第四方面的第三种实现方式中,所述第一确定单元包括:计算模块,用于根据所述最晚执行时间和当前时间计算得到时间差;排序模块,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。本申请实施例对确定请求任务的优先级的具体过程进行了细化,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第四方面的第四种实现方式中,所述调度设备还包括:第二确定单元,用于确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;申请单元,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例增加了根据所述任务组动态分配内存资源的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第四方面的第五种实现方式中,所述调度设备还包括:第二接收单元,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第四方面的第六种实现方式中,所述调度设备还包括:切换单元,用于将所述目标HAC的状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
本申请实施例的第五方面提供一种调度设备,包括:第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;第一确定单元,用于根据最晚执行时间确定所述请求任务的执行优先级;分配单元,用于为所述执行优先级最高的请求任务分配目标HAC。本申请实施例中,根据任务的实时紧急程度来动态调整优先级,使不同类别的任务都能及时得到调度,保证系统整体的容量,提升了系统的可靠性和容错性,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第五方面的第一种实现方式中,所述第一确定单元包括:获取模块,用于获取所述请求任务的最晚执行时间;计算模块,用于根据所述最晚执行时间和当前时间计算得到时间差;排序模块,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。本申请实施例细化了所述调度设备根据最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第五方面的第二种实现方式中,所述调度设备还包括:第二确定单元,用于确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;申请单元,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例增加了确定任务组的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第五方面的第三种实现方式中,所述分配单元包括:调度模块,用于调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例细化了所述调度设备为所述执行优先级最高的请求任务分配目标HAC的过程,增加了本申请实施例的可操作性。
在一种可能的设计中,在本申请实施例第五方面的第四种实现方式中,所述调度设备还包括:第二接收单元,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第五方面的第五种实现方式中,所述调度设备还包括:切换单元,用于将所述目标HAC的状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
在一种可能的设计中,在本申请实施例第五方面的第六种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
本申请实施例的第六方面提供一种调度设备,包括:第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;申请单元,用于根据执行所述请求任务需要的内存申请目标内存,所述目标内存不小于执行所述请求任务需要的内存;分配单元,用于根据所述目标内存为所述请求任务分配目标HAC。本申请实施例中,所述调度设备动态地分配内存资源,提升了内存的利用率,从而在整体上减少内存的使用,提高了调度HAC的效率。
在一种可能的设计中,在本申请实施例第六方面的第一种实现方式中,所述调度设备还包括:第一确定单元,用于确定任务组,所述任务组中包括所述请求任务,和与所述请求任务关联的任务。本申请实施例增加了确定任务组的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第六方面的第二种实现方式中,所述申请单元包括:申请模块,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。本申请实施例细化了所述调度设备根据执行所述请求任务需要的内存申请目标内存的过程,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第六方面的第三种实现方式中,所述调度设备还包括:获取单元,用于获取所述请求任务的最晚执行时间;第二确定单元,用于根据所述最晚执行时间确定所述请求任务的执行优先级。本申请实施例增加了获取所述请求任务的最晚执行时间并根据所述最晚执行时间确定所述请求任务的执行优先级的步骤,增加了本申请实施例的实现方式。
在一种可能的设计中,在本申请实施例第六方面的第四种实现方式中,所述第二确定单元包括:计算模块,用于根据所述最晚执行时间和当前时间计算得到时间差;排序模块,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。本申请实施例细化了根据所述最晚执行时间确定所述请求任务的执行优先级的具体步骤,增加了本申请实施例的可实现性和可操作性。
在一种可能的设计中,在本申请实施例第六方面的第五种实现方式中,所述分配单元包括:调度模块,用于调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例细化了所述调度设备根据所述目标内存为所述请求任务分配目标HAC的过程,增加了本申请实施例的可操作性。
在一种可能的设计中,在本申请实施例第六方面的第六种实现方式中,所述调度设备还包括:第二接收单元,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。本申请实施例增加了所述调度设备接收任务完成响应的步骤,使本申请实施例在步骤上更完善。
在一种可能的设计中,在本申请实施例第六方面的第七种实现方式中,所述调度设备还包括:切换单元,用于将所述目标HAC的状态切换回所述第一状态。本申请实施例增加了所述调度设备切换回所述第一状态的过程,使本申请实施例更具有逻辑性。
在一种可能的设计中,在本申请实施例第六方面的第八种实现方式中,所述请求任务中包括一个或多个任务。本申请实施例中对所述请求任务的个数进行了限定,增加了本申请实施例的可实现性。
本申请实施例第七方面提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请实施例第八方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;所述调度设备调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。本申请实施例中,根据HAC是否在执行任务的状态来向HAC分配任务,使得HAC处理的任务量相对均匀,解决现有技术中存在的调度HAC效率不高的问题。
附图说明
图1为现有技术的示意图;
图2为本申请实施例提供的系统架构示意图;
图3为本申请实施例调度硬件加速器的方法的一个实施例示意图;
图4为本申请实施例调度硬件加速器的方法的一个时间轮示意图;
图5为本申请实施例调度硬件加速器的方法的一个调度示意图;
图6为本申请实施例中调度设备的一个实施例示意图;
图7为本申请实施例中调度设备的另一个实施例示意图;
图8为本申请实施例中调度设备的另一个实施例示意图;
图9为本申请实施例中调度设备的另一个实施例示意图;
图10为本申请实施例中调度设备的另一个实施例示意图;
图11为本申请实施例中调度设备的另一个实施例示意图;
图12为本申请实施例中调度设备的另一个实施例示意图;
图13为本申请实施例中调度设备的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种调度硬件加速器的方法以及调度设备,用于解决现有技术中存在的调度HAC效率不高的问题。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图2为本申请实施例提供的一种可能的系统架构示意图,将长期演进型基站物理层程序(long term evolution physical layer,LTE PHY)运行在虚拟机中,运算复杂度高的模块用硬件加速器实现。使用半虚拟化技术的分离设备驱动模型虚拟化硬件加速器,创建多个虚拟机DomU和一个虚拟机控制器Dom0,Dom0将虚拟机发送的请求放入work_quene队列,再选择硬件加速器进行解码运算,且设计的调度过程使硬件加速器工作在流水模式。因此,多个虚拟机通过共用多个硬件加速器完成数据加速操作。
现有技术中,软件根据每个HAC的任务量历史累加值向HAC分配任务,可能导致有些HAC的负载很重,有些HAC的负载很轻,使得HAC的任务分配不均匀。有鉴于此,本申请实施例提供了一种调度硬件加速器的方法,以及基于该方法的调度设备,用于解决现有技术中存在的HAC处理的任务量不均的问题。
为便于理解,下面对本申请实施例的具体流程进行描述,请参阅图3,本申请实施例中调度硬件加速器的方法一个实施例包括:
301、调度设备接收到任务请求消息;
当软件有任务处理需求时,调度设备接收到软件发送的一定格式的任务请求消息,该任务请求消息用于请求调度设备为各请求任务分配HAC,调度设备将接收到的任务请求消息放入任务队列中,并根据各请求任务的任务信息来调度HAC执行该请求任务,其中,该任务信息可以包括请求任务的优先级、请求任务放入任务队列的顺序等,具体此处不做限定。
另外,可以理解的是,任务请求消息可以是一个或者多个消息,对应的请求任务也为一个或者多个请求。
302、调度设备获取请求任务的最晚执行时间;
为保证各请求任务的及时执行,调度设备需要确定请求任务的最晚执行时间,其中调度设备获取最晚执行时间的方式有多种,包括调度设备接收软件发送的请求任务的任务信息,该任务信息中包括任务的最晚执行时间,或者调度设备根据请求任务的开始时间、请求任务的截止期限和请求任务的平均处理时间来计算请求任务的最晚执行时间,故调度设备获取最晚执行时间的方式具体此处不做限定。
303、调度设备根据最晚执行时间和当前时间计算得到时间差;
调度设备获取到各请求任务的最晚执行时间后,根据该最晚执行时间和系统当前时间计算得到时间差,在本申请实施例中,时间差可以理解为从当前时间到请求任务的最晚执行时间之间的时长,即该时间差的值为最晚执行时间和当前时间二者差的绝对值。
304、调度设备将各请求任务按照时间差从小到大的顺序得到各请求任务的执行优先级的排序;
调度设备根据最晚执行时间和当前时间计算得到时间差后,由于请求任务可以为多个任务,故计算得到的各请求任务对应的时间差也有多个,调度设备按照时间差从小到大的顺序将各请求任务进行排序,得到各请求任务的执行优先级的排序,即,请求任务对应的时间差越小,其执行优先级越高。例如,如图4所示,假设为调度设备配置的一种时间轮队列,其中0到19可以表示时间轴上的各个时间点。各请求任务共用一个时间轮队列,获得每个请求任务的最晚执行时间,最晚执行时间相近的请求任务可以放在一个队列中,调度设备根据当前时间点到最晚执行时间的距离确定优先执行的请求任务。另外,可以按照请求任务的属性将请求任务进行分类,例如,请求任务的小区标识等。如在时间点4处,A类任务0的最晚执行时间为15,B类任务1的最晚调度时间为8,B类任务2的最晚调度时间为7,故A类任务0、B类任务1和B类任务2的最晚调度时间距离当前时间点4的距离分别为11、4和3,则调度设备确认执行优先级顺序为:B类任务2>B类任务1>A类任务0;同理,在时间点8处,调度设备确认执行优先级顺序为:B类任务3>B类任务4>A类任务0;在时间点12处,调度设备确认执行优先级顺序为:B类任务6>A类任务0>B类任务5,可以理解的是,当任务被执行完成后,则自动从该时间轮里去除。
305、调度设备确定任务组;
调度设备获得了各请求任务的执行优先级后,确定执行优先级最高的请求任务,且调度设备接收到软件发送的任务信息中可以包括与对应的请求任务相关性强的一个或者多个任务的标识信息,故调度设备可以根据该标识信息确定任务组,该任务组中包括执行优先级最高的请求任务,且与该执行优先级最高的请求任务相关性强的任务,需要说明的是,任务组中的任务的执行优先级相同。另外,判断至少两个任务相关性强的方式有多种,例如至少两个任务的放入任务队列的时间小于预置值即认为相关性强等,具体此处不做限定。
306、调度设备根据执行任务组需要的总内存申请内存;
调度设备确定了任务组后,获得执行任务组中各请求任务需要的内存,并将执行各请求任务需要的内存相加得到总内存,获得该总内存后,调度设备按照该总内存的大小向软件申请内存,当申请成功时,则可以执行任务组中的请求任务,可以理解的是,实际应用中,会存在系统可用内存小于总内存的情况,则调度设备申请内存失败,任务组中的任务在任务队列中等待。
另外,调度设备申请内存成功后,将申请到的内存地址作为目标HAC的输入地址,若一个请求任务需要多个目标HAC执行时,前级目标HAC执行完成后自动将申请到的内存地址作为后级目标HAC的输入地址。
307、调度设备调度处于第一状态的目标HAC执行请求任务,并将目标HAC的状态切换至第二状态;
调度设备根据执行任务组需要的总内存申请到内存后,调度处于第一状态的目标HAC执行请求任务,其中,第一状态用于表示目标HAC未执行任务,调度设备向目标HAC发送任务调度命令,以指示该目标HAC执行请求任务,并将该目标HAC的状态切换至第二状态,该第二状态用于表示目标HAC在执行任务。需要说明的是,本申请实施例中的第一状态也可以称为闲状态,第二状态称为忙状态,具体此处不做限定。
308、调度设备接收目标HAC发送的任务完成响应;
当目标HAC执行完成请求任务后,调度设备接收目标HAC发送的任务完成响应,该任务完成响应用于告知调度设备请求任务已执行完成,且目标HAC释放执行该请求任务需要的内存,如图5所示,在需要进行任务处理时,软件将任务请求发给调度设备,使得调度设备接收到多个软件发送的任务请求,调度设备向处于第一状态的HAC0、HAC1和HAC2分别发送任务调度命令,以分配请求任务,当各HAC完成分配的请求任务后,调度设备接收到HAC0、HAC1和HAC2发送的任务完成响应。
309、调度设备将目标HAC的状态切换回第一状态。
调度设备接收到目标HAC发送的任务完成响应后,调度设备将目标HAC的状态由第二状态切换回第一状态。
需要说明的是,本申请实施例中,调度设备通过步骤302至步骤304能够动态分配内存资源,通过步骤305至步骤307来根据任务的实施紧急程度来动态调整优先级,通过步骤308至步骤309来按照各HAC的状态分配请求任务,且实际应用中,这三个过程之间并不存在必然关系,即可以执行该三个过程中的至少一个过程,故具体此处不做限定。
本申请实施例中,按照各HAC的状态分配请求任务,使每个HAC处理的任务量相对均匀,在硬件设计时不需要考虑任务分配导致的额外开销和资源浪费,从而节省HAC的资源,降低硬件的成本;且动态分配内存资源,提升了内存的利用率,从而在整体上减少内存的使用;并根据任务的实时紧急程度来动态调整优先级,使不同类别的任务都能及时得到调度,保证系统整体的容量,提升了系统的可靠性和容错性。
上面对本申请实施例中的调度硬件加速器的方法进行了描述,下面对本发明实施例中的调度设备进行描述,请参阅图6,本申请实施例中调度设备一个实施例包括:
第一接收单元601,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
调度单元602,用于调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
为便于理解,下面对本申请实施例中的调度设备进行详细描述,在上述图6所示的基础上,请参阅7,为本申请实施例中调度设备的另一个实施例示意图,调度设备还可以包括:
获取单元703,用于获取所述请求任务的最晚执行时间;
第一确定单元704,用于根据所述最晚执行时间确定所述请求任务的执行优先级。
其中,第一确定单元704可以包括:
计算模块7041,用于根据所述最晚执行时间和当前时间计算得到时间差;
排序模块7042,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
其中,所述调度设备还可以包括:
第二确定单元705,用于确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;
申请单元706,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
其中,所述调度设备还可以包括:
第二接收单元707,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。
其中,所述调度设备还可以包括:
切换单元708,用于将所述目标HAC的状态切换回所述第一状态。
本申请实施例还提供了一种调度设备,请参阅图8,本申请实施例中调度设备另一个实施例包括:
第一接收单元801,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
第一确定单元802,用于根据最晚执行时间确定所述请求任务的执行优先级;
分配单元803,用于为所述执行优先级最高的请求任务分配目标HAC。
为便于理解,下面对本申请实施例中的调度设备进行详细描述,在上述图8所示的基础上,请参阅9,为本申请实施例中调度设备的另一个实施例示意图,第一确定单元902可以包括:
获取模块9021,用于获取所述请求任务的最晚执行时间;
计算模块9022,用于根据所述最晚执行时间和当前时间计算得到时间差;
排序模块9023,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
其中,所述调度模块还可以包括:
第二确定单元904,用于确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;
申请单元905,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
其中,所述分配单元903可以包括:
调度模块9031,用于调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
其中,所述调度设备还可以包括:
第二接收单元906,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。
其中,所述调度设备还可以包括:
切换单元907,用于将所述目标HAC的状态切换回所述第一状态。
请参阅图10,本申请实施例中调度设备另一个实施例包括:
第一接收单元1001,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
申请单元1002,用于根据执行所述请求任务需要的内存申请目标内存,所述目标内存不小于执行所述请求任务需要的内存;
分配单元1003,用于根据所述目标内存为所述请求任务分配目标HAC。
为便于理解,下面对本申请实施例中的调度设备进行详细描述,在上述图10所示的基础上,请参阅11,为本申请实施例中调度设备的另一个实施例示意图,所述调度设备还可以包括:
第一确定单元1104,用于确定任务组,所述任务组中包括所述请求任务,和与所述请求任务关联的任务。
其中,所述申请单元1102可以包括:
申请模块11021,用于根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
其中,所述调度设备还可以包括:
获取单元1105,用于获取所述请求任务的最晚执行时间;
第二确定单元1106,用于根据所述最晚执行时间确定所述请求任务的执行优先级。
其中,所述第二确定单元1106可以包括:
计算模块11061,用于根据所述最晚执行时间和当前时间计算得到时间差;
排序模块11062,用于将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
其中,所述分配单元1103可以包括:
调度模块11031,用于调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
其中,所述调度设备还可以包括:
第二接收单元1107,所述目标HAC执行完所述请求任务后,用于接收所述目标HAC发送的任务完成响应。
其中,所述调度设备还可以包括:
切换单元1108,用于将所述目标HAC的状态切换回所述第一状态。
上述图6至图11中的模块的具体实现方案请参见上述的调度硬件加速器的方法部分,在此不做赘述。
上面图6至图11从模块化功能实体的角度分别对本申请实施例中的调度设备进行详细描述,下面从硬件处理的角度对本申请实施例中的调度设备进行详细描述。
图12是本申请实施例提供的调度设备的结构示意框图,参考图12。在采用集成的单元的情况下,图12示出了上述实施例中所涉及的调度设备的一种可能的结构示意图。调度设备1200包括:处理单元1202和通信单元1203。处理单元1202用于对调度设备的动作进行控制管理,例如,处理单元1202用于支持调度设备执行图3中的步骤302至步骤307、步骤309,和/或用于本文所描述的技术的其它过程。通信单元1203用于支持调度设备与其他网络实体的通信,例如,通信单元1203用于支持调度设备执行图3中的步骤301和步骤308,和/或用于本文所描述的技术的其它过程。调度设备还可以包括存储单元1201,用于存储调度设备的程序代码和数据。
其中,处理单元1202可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元1203可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如收发接口。存储单元1201可以是存储器。
当处理单元1202为处理器,通信单元1203为通信接口,存储单元1201为存储器时,本申请实施例所涉及的调度设备可以为图13所示的调度设备。
参阅图13所示,该调度设备1310包括:处理器1312、通信接口1313、存储器1311。可选的,调度设备1310还可以包括总线1314。其中,通信接口1313、处理器1312以及存储器1311可以通过总线1314相互连接;总线1314可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线1314可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (28)

1.一种调度硬件加速器的方法,其特征在于,包括:
调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
所述调度设备调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
2.根据权利要求1所述的方法,其特征在于,所述请求任务中包括一个或多个任务。
3.根据权利要求2所述的方法,其特征在于,所述调度设备接收到任务请求消息之后,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之前,所述方法还包括:
所述调度设备获取所述请求任务的最晚执行时间;
所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级。
4.根据权利要求3所述的方法,其特征在于,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级包括:
所述调度设备根据所述最晚执行时间和当前时间计算得到时间差;
所述调度设备将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
5.根据权利要求3所述的方法,其特征在于,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级之后,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之前,所述方法还包括:
所述调度设备确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;
所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
6.根据权利要求5所述的方法,其特征在于,所述调度设备调度处于第一状态的目标HAC执行所述请求任务之后,所述方法还包括:
所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。
7.根据权利要求6所述的方法,其特征在于,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:
所述调度设备将所述目标HAC的状态切换回所述第一状态。
8.一种调度硬件加速器的方法,其特征在于,包括:
调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
所述调度设备根据最晚执行时间确定所述请求任务的执行优先级;
所述调度设备为所述执行优先级最高的请求任务分配目标HAC。
9.根据权利要求8所述的方法,其特征在于,所述调度设备根据最晚执行时间确定所述请求任务的执行优先级包括:
所述调度设备获取所述请求任务的最晚执行时间;
所述调度设备根据所述最晚执行时间和当前时间计算得到时间差;
所述调度设备将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
10.根据权利要求9所述的方法,其特征在于,所述调度设备根据最晚执行时间确定所述请求任务的执行优先级之后,所述调度设备为所述执行优先级最高的请求任务分配目标HAC之前,所述方法还包括:
所述调度设备确定任务组,所述任务组中包括所述执行优先级最高的请求任务,和与所述执行优先级最高的请求任务关联的任务;
所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
11.根据权利要求10所述的方法,其特征在于,所述调度设备为所述执行优先级最高的请求任务分配目标HAC包括:
所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
12.根据权利要求11所述的方法,其特征在于,所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务之后,所述方法还包括:
所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。
13.根据权利要求12所述的方法,其特征在于,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:
所述调度设备将所述目标HAC的状态切换回所述第一状态。
14.根据权利要求8至13中任一项所述的方法,其特征在于,所述请求任务中包括一个或多个任务。
15.一种调度硬件加速器的方法,其特征在于,包括:
调度设备接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
所述调度设备根据执行所述请求任务需要的内存申请目标内存,所述目标内存不小于执行所述请求任务需要的内存;
所述调度设备根据所述目标内存为所述请求任务分配目标HAC。
16.根据权利要求15所述的方法,其特征在于,所述调度设备根据执行所述请求任务需要的内存申请目标内存之前,所述方法还包括:
所述调度设备确定任务组,所述任务组中包括所述请求任务,和与所述请求任务关联的任务。
17.根据权利要求16所述的方法,其特征在于,所述调度设备根据执行所述请求任务需要的内存申请目标内存包括:
所述调度设备根据执行所述任务组需要的总内存申请内存,以使得所述目标HAC利用所述内存执行所述任务组。
18.根据权利要求17所述的方法,其特征在于,所述调度设备根据执行所述请求任务需要的内存申请目标内存之前,所述调度设备接收到任务请求消息之后,所述方法还包括:
所述调度设备获取所述请求任务的最晚执行时间;
所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级。
19.根据权利要求18所述的方法,其特征在于,所述调度设备根据所述最晚执行时间确定所述请求任务的执行优先级包括;
所述调度设备根据所述最晚执行时间和当前时间计算得到时间差;
所述调度设备将所述各请求任务按照所述时间差从小到大的顺序得到所述各请求任务的执行优先级的排序。
20.根据权利要求19所述的方法,其特征在于,所述调度设备根据所述目标内存为所述请求任务分配目标HAC包括:
所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
21.根据权利要求20所述的方法,其特征在于,所述调度设备调度处于第一状态的目标HAC执行所述执行优先级最高的请求任务之后,所述方法还包括:
所述目标HAC执行完所述请求任务后,所述调度设备接收所述目标HAC发送的任务完成响应。
22.根据权利要求21所述的方法,其特征在于,所述调度设备接收所述目标HAC发送的任务完成响应之后,所述方法还包括:
所述调度设备将所述目标HAC的状态切换回所述第一状态。
23.根据权利要求15至22中任一项所述的方法,其特征在于,所述请求任务中包括一个或多个任务。
24.一种调度设备,其特征在于,包括:
第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
调度单元,用于调度处于第一状态的目标HAC执行所述请求任务,并将所述目标HAC的状态切换至第二状态,所述第一状态用于表示所述目标HAC未执行任务,所述第二状态用于表示所述目标HAC在执行任务。
25.一种调度设备,其特征在于,包括:
第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC;
第一确定单元,用于根据最晚执行时间确定所述请求任务的执行优先级;
分配单元,用于为所述执行优先级最高的请求任务分配目标HAC。
26.一种调度设备,其特征在于,包括:
第一接收单元,用于接收到任务请求消息,所述任务请求消息用于请求为请求任务分配硬件加速器HAC:
申请单元,用于根据执行所述请求任务需要的内存申请目标内存,所述目标内存不小于执行所述请求任务需要的内存;
分配单元,用于根据所述目标内存为所述请求任务分配目标HAC。
27.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至23中任意一项所述的方法。
28.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至23中任意一项所述的方法。
CN201710381524.3A 2017-05-25 2017-05-25 一种调度硬件加速器的方法以及调度设备 Active CN108958923B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710381524.3A CN108958923B (zh) 2017-05-25 2017-05-25 一种调度硬件加速器的方法以及调度设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710381524.3A CN108958923B (zh) 2017-05-25 2017-05-25 一种调度硬件加速器的方法以及调度设备

Publications (2)

Publication Number Publication Date
CN108958923A true CN108958923A (zh) 2018-12-07
CN108958923B CN108958923B (zh) 2022-04-22

Family

ID=64494087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710381524.3A Active CN108958923B (zh) 2017-05-25 2017-05-25 一种调度硬件加速器的方法以及调度设备

Country Status (1)

Country Link
CN (1) CN108958923B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094661A1 (en) * 2005-10-22 2007-04-26 Cisco Technology, Inc. Techniques for task management using presence
CN101038559A (zh) * 2006-09-11 2007-09-19 中国工商银行股份有限公司 批量任务调度引擎及调度方法
CN101799770A (zh) * 2010-01-19 2010-08-11 湖南大学 基于单位面积加速比的可重构资源管理方法
US20110131430A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Managing accelerators of a computing environment
US20110131580A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Managing task execution on accelerators
CN103365713A (zh) * 2012-04-01 2013-10-23 华为技术有限公司 一种资源的调度和管理方法及装置
CN103838621A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 用于调度例行作业的方法和系统、调度节点
CN104298564A (zh) * 2014-10-15 2015-01-21 中国人民解放军国防科学技术大学 一种动态均衡异构计算系统负载的方法
CN105808346A (zh) * 2014-12-30 2016-07-27 华为技术有限公司 一种任务调度方法与装置
JP2016224671A (ja) * 2015-05-29 2016-12-28 日本電信電話株式会社 業務管理支援装置とその方法およびプログラム
CN106445876A (zh) * 2015-08-13 2017-02-22 阿尔特拉公司 基于应用的动态异构多核系统和方法
CN106548262A (zh) * 2015-09-21 2017-03-29 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
CN106572500A (zh) * 2016-10-21 2017-04-19 同济大学 一种c‑ran中硬件加速器的调度方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094661A1 (en) * 2005-10-22 2007-04-26 Cisco Technology, Inc. Techniques for task management using presence
CN101038559A (zh) * 2006-09-11 2007-09-19 中国工商银行股份有限公司 批量任务调度引擎及调度方法
US20110131430A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Managing accelerators of a computing environment
US20110131580A1 (en) * 2009-11-30 2011-06-02 International Business Machines Corporation Managing task execution on accelerators
CN101799770A (zh) * 2010-01-19 2010-08-11 湖南大学 基于单位面积加速比的可重构资源管理方法
CN103365713A (zh) * 2012-04-01 2013-10-23 华为技术有限公司 一种资源的调度和管理方法及装置
CN103838621A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 用于调度例行作业的方法和系统、调度节点
CN104298564A (zh) * 2014-10-15 2015-01-21 中国人民解放军国防科学技术大学 一种动态均衡异构计算系统负载的方法
CN105808346A (zh) * 2014-12-30 2016-07-27 华为技术有限公司 一种任务调度方法与装置
JP2016224671A (ja) * 2015-05-29 2016-12-28 日本電信電話株式会社 業務管理支援装置とその方法およびプログラム
CN106445876A (zh) * 2015-08-13 2017-02-22 阿尔特拉公司 基于应用的动态异构多核系统和方法
CN106548262A (zh) * 2015-09-21 2017-03-29 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
CN106572500A (zh) * 2016-10-21 2017-04-19 同济大学 一种c‑ran中硬件加速器的调度方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
严芳芳等: "基于任务相关性的无线传感器网络任务调度算法", 《电信科学》 *
刘洪伟等: "基于网格资源预测的任务优先级调度算法", 《计算机工程》 *
张建军 等: "基于异构环境的Out-Tree任务图的调度算法", 《计算机科学》 *
徐琳: "云计算环境下计算型任务的资源需求预测", 《中国博士学位论文全文数据库 信息科技辑》 *
李莎: "并行工程中资源冲突与任务调度的关系研究", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 *
邹勇 等: "开放式实时环境中的集成调度框架", 《计算机研究与发展》 *

Also Published As

Publication number Publication date
CN108958923B (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
CN109684065B (zh) 一种资源调度方法、装置及系统
CN115328663B (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN105072182A (zh) 一种负载均衡方法、负载均衡器和用户终端
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
CN102469126B (zh) 一种应用调度系统、方法和相关装置
Memari et al. A latency-aware task scheduling algorithm for allocating virtual machines in a cost-effective and time-sensitive fog-cloud architecture
CN104598316B (zh) 一种存储资源分配方法及装置
CN105634782A (zh) 一种实例化vnf的方法及网元管理设备
CN104253850A (zh) 一种任务分布式调度方法和系统
US20100042723A1 (en) Method and system for managing load in a network
CN104391918A (zh) 基于对等部署的分布式数据库查询优先级管理的实现方法
CN109564525A (zh) 按需网络代码执行环境中的异步任务管理
CN115454589A (zh) 一种任务调度方法、装置及Kubernetes调度器
CN107864211A (zh) 集群资源调度方法及系统
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN110333939A (zh) 任务混合调度方法、装置、调度服务器及资源服务器
CN110221920A (zh) 部署方法、装置、存储介质及系统
CN105808346B (zh) 一种任务调度方法与装置
CN106201681B (zh) Hadoop平台下基于预释放资源列表的任务调度方法
CN112905297A (zh) 容器集群资源调度方法和装置
CN106790332A (zh) 一种资源调度方法、系统及主节点
CN105210324B (zh) 策略与计费规则功能虚拟化方法、装置及系统
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
Subalakshmi et al. Enhanced hybrid approach for load balancing algorithms in cloud computing
CN107070965A (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