CN105808328B - 任务调度的方法、装置和系统 - Google Patents

任务调度的方法、装置和系统 Download PDF

Info

Publication number
CN105808328B
CN105808328B CN201410854421.0A CN201410854421A CN105808328B CN 105808328 B CN105808328 B CN 105808328B CN 201410854421 A CN201410854421 A CN 201410854421A CN 105808328 B CN105808328 B CN 105808328B
Authority
CN
China
Prior art keywords
task
subsystem
scheduler
waiting
waiting task
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
Application number
CN201410854421.0A
Other languages
English (en)
Other versions
CN105808328A (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.)
Huawei Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201410854421.0A priority Critical patent/CN105808328B/zh
Publication of CN105808328A publication Critical patent/CN105808328A/zh
Application granted granted Critical
Publication of CN105808328B publication Critical patent/CN105808328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种任务调度的方法、装置和系统。本发明实施例通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,根据待处理任务的任务类型分配子系统和相应的调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。

Description

任务调度的方法、装置和系统
技术领域
本发明涉及计算机领域,并且更具体地,涉及任务调度的方法、装置和系统。
背景技术
处理器进入多核、众核时代,然而,当前的操作系统仅以SMP(Symmetric Multi-Processing,对称多处理结构)方式使用多核/众核处理器,并不能充分利用多核/众核处理器的并行处理能力。实验证明,当处理器超过16个核,现有操作系统的性能不再线性增长反而降低。
具体地,当前的操作系统的调度器通常属于操作系统的内核,调度器本身为内核源码的一部分,是通过软件的方式实现的。这样的调度器由于随内核的编译一起生成,从而在生成之后无法随意更改,意味着无法根据具体的任务调整调度算法和调度策略,导致调度效率较低,造成多核系统的处理能力的较大浪费。
发明内容
本发明实施例提供一种任务调度的方法、装置和系统,能够根据任务类型分配不同的调度器,提高调度效率,从而能够提高多核系统处理能力的利用率。
第一方面,提供了一种任务调度的方法,应用于多核心系统,所述多核心系统的操作系统将所述多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,所述方法包括:确定待处理任务的任务类型;根据所述待处理任务的任务类型,将所述待处理任务分配至与所述任务类型相对应的第一子系统,其中所述第一子系统属于所述多个子系统;通过所述第一子系统的系统资源和对应于所述第一子系统的第一调度器,执行所述待处理任务。
结合第一方面,在第一方面的第一种实现方式中,所述方法还包括:根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法;根据所述调度算法,更新所述第一调度器。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,所述根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法,包括:根据系统知识库和所述待处理任务的任务类型,确定所述待处理任务的调度属性;根据所述待处理任务的调度属性,生成与所述待处理任务匹配的调度算法。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,所述确定待处理任务的任务类型之前,所述方法还包括:根据所述第一子系统对应的至少一个任务类型,通过系统知识库生成与所述第一子系统对应的至少一个任务类型匹配的调度算法;根据所述调度算法,生成与所述第一子系统相对应的所述第一调度器。
结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,所述硬件调度器为现场可编程门阵列FPGA调度器。
第二方面,提供了一种任务调度装置,应用于多核心系统,所述多核心系统的操作系统将所述多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,所述装置包括:确定单元,用于确定待处理任务的任务类型;分配单元,用于根据所述待处理任务的任务类型,将所述待处理任务分配至与所述任务类型相对应的第一子系统,其中所述第一子系统属于所述多个子系统;执行单元,用于通过所述第一子系统的系统资源和对应于所述第一子系统的第一调度器,执行所述待处理任务。
结合第二方面,在第二方面的第一种实现方式中,所述装置还包括更新单元,所述确定单元还用于:根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法;根据所述调度算法,通过所述更新单元更新所述第一调度器。
结合第二方面及其上述实现方式,在第二方面的第二种实现方式中,所述装置还包括生成单元,所述确定单元具体用于:根据系统知识库和所述待处理任务的任务类型,确定所述待处理任务的调度属性;根据所述待处理任务的调度属性,通过所述生成单元生成与所述待处理任务匹配的调度算法。
结合第二方面及其上述实现方式,在第二方面的第三种实现方式中,所述装置还包括生成单元,所述生成单元用于:根据所述第一子系统对应的至少一个任务类型,通过系统知识库生成与所述第一子系统对应的至少一个任务类型匹配的调度算法;根据所述调度算法,生成与所述第一子系统相对应的所述第一调度器。
结合第二方面及其上述实现方式,在第二方面的第四种实现方式中,所述硬件调度器为现场可编程门阵列FPGA调度器。
第三方面,提供了一种多核心系统,所述多核心系统包括由所述多核心系统的系统资源划分成的多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,所述多核心系统还包括上述第二方面所述的任务调度装置,用于上述第一方面所述的任务调度方法。
本发明实施例通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的任务调度方法的流程图。
图2是本发明一个实施例的调度架构的示意框图。
图3是本发明一个实施例的任务调度装置的示意框图。
图4是本发明另一实施例的任务调度装置的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1是本发明一个实施例的任务调度方法的流程图。图1的方法应用于多核心系统,多核心系统的操作系统将多核心系统的系统资源划分为多个子系统,多个子系统的每个子系统对应于至少一个任务类型,且每个子系统对应于一个FPGA调度器。图1的方法可以由多核心系统的操作系统执行。
101,确定待处理任务的任务类型。
102,根据待处理任务的任务类型,将待处理任务分配至与任务类型相对应的第一子系统,其中第一子系统属于多个子系统。
103,通过第一子系统的系统资源和对应于第一子系统的第一FPGA调度器,执行待处理任务。
本发明实施例通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
应理解,本发明实施例中的多核心系统可以包括一个或多个处理器,当多核心系统仅包括一个处理器时,该处理器具有多个处理核心;当多核心系统包括多个处理器时,每个处理器可以具有一个或多个处理核心。
多核心系统的系统资源可以包括计算资源、存储资源、带宽资源、I/O资源等,将系统资源划分为多个子系统后,每个子系统都能够独立处理计算任务。子系统又可以称为容器,也就是说,操作系统对系统资源和任务类型分组,分组后的系统资源和任务类型属于单一容器,每个容器分配有独立的调度器。
调度器可以由外部FPGA实现,FPGA与内核间使用一套硬件接口和库进行调度信息的交互。从而实现了调度器与内核的剥离。由于FPGA的特性,在操作系统运行中,FPGA中的调度算法可以更改,从而改变调度器的工作方式。因而,FPGA调度器可以做到根据任务的不同特性,采用不同的调度算法。
此外,各个容器对应的调度器之间是独立的,分别负责各自容器中的调度任务。并且,多个容器可以在运行中合并调度器或者分离出新的调度器。调度器和容器是系统中不同的模块,可以通过调整容器的数量,系统资源分配,容器和调度器的关联关系来实现处理不同任务和不同场景的需求。也就是说,容器和FPGA调度器是灵活可配置的。
可选地,作为一个实施例,该方法还包括:根据待处理任务的任务类型,确定待处理任务匹配的调度算法;根据调度算法,更新第一FPGA调度器。
具体地,由于待处理任务在由第一子系统处理之前,第一子系统对应的第一FPGA调度器的调度算法可能较适用于上一任务。因此,第一子系统在接收到待处理任务时,可以根据待处理任务的任务类型确定匹配的调度算法,并将该调度算法更新到第一FPGA调度器,实现了FPGA调度器的动态调整,提高了调度器的适应性,从而能够提高调度和处理效率。
可选地,作为一个实施例,根据待处理任务的任务类型,确定待处理任务匹配的调度算法,包括:根据系统知识库和待处理任务的任务类型,确定待处理任务的调度属性;根据待处理任务的调度属性,生成与待处理任务匹配的调度算法。
在根据任务类型确定匹配的调度算法时,可以通过系统知识库SKB分析任务的属性。SKB保存有软、硬件资源的诸多特性,通过在SKB中的知识分析引擎,可以确定当前任务的特性。例如,任务的特性包括:需要立即做出响应的、批处理式、流式计算、web应用等。
而后可以根据SKB确定的任务的特性,从系统模板/规则库中选择相似度较高的调度算法,或者采用正则文法等生成与当前任务适合的调度算法,确保较高的调度效率。
可选地,作为一个实施例,确定待处理任务的任务类型之前,方法还包括:根据第一子系统对应的至少一个任务类型,通过系统知识库生成与第一子系统对应的至少一个任务类型匹配的调度算法;根据调度算法,生成与第一子系统相对应的第一FPGA调度器。
应理解,在系统初始化,划分子系统时,需要为每一个子系统生成/分配一个FPGA调度器。具体地,由于子系统的划分是考虑任务的,可以通过SKB确定子系统分析任务的特性,而后从系统模板/规则库中选择相似度较高的调度算法,或者采用正则文法等生成,该子系统的初始调度算法,该调度算法对于该子系统所要处理的任务具有较好的兼容性,即性能较好。然而为了进一步提升调度性能,则需要在后续处理任务时根据任务动态更新调度算法。
本发明实施例通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
图2是本发明一个实施例的调度架构的示意框图。图2示出了本发明实施例中子系统/容器和FPGA调度器的架构。图中示出了4个容器和4个FPGA调度器,其中每个FPGA调度器都对应于一个容器。应理解,图2仅为一个示例,容器和调度器的个数可以为任意数量。
由于FPGA的特性,在操作系统运行中,完全可以做到更改FPGA的调度算法,从而修改调度器的工作方式。FPGA调度器可以根据任务的不同特性,采用不同的调度算法。例如,如图2所示,左上的容器采用FIFO(First in First out,先入先出)算法的调度器,右上和左下的容器采用RR(Round-Robin,轮询调度)算法的调度器,右下的容器采用CFQ(Completely Fair Queuing,绝对公平调度器)算法的调度器。各个调度器相互间是独立的,负责各自关联的容器中的调度任务,并且,FPGA调度器在运行过程中允许调整调度器的调度算法。
图3是本发明一个实施例的任务调度装置的示意框图。图3中的装置30应用于多核心系统,多核心系统的操作系统将多核心系统的系统资源划分为多个子系统,多个子系统的每个子系统对应于至少一个任务类型,且每个子系统对应于一个FPGA调度器,装置30包括确定单元31、分配单元32、执行单元33。
确定单元31确定待处理任务的任务类型;分配单元32根据待处理任务的任务类型,将待处理任务分配至与任务类型相对应的第一子系统,其中第一子系统属于多个子系统;执行单元33通过第一子系统的系统资源和对应于第一子系统的第一FPGA调度器,执行待处理任务。
本发明实施例的装置30通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
应理解,本发明实施例中的多核心系统可以包括一个或多个处理器,当多核心系统仅包括一个处理器时,该处理器具有多个处理核心;当多核心系统包括多个处理器时,每个处理器可以具有一个或多个处理核心。
多核心系统的系统资源可以包括计算资源、存储资源、带宽资源、I/O资源等,将系统资源划分为多个子系统后,每个子系统都能够独立处理计算任务。子系统又可以称为容器,也就是说,操作系统对系统资源和任务类型分组,分组后的系统资源和任务类型属于单一容器,每个容器分配有独立的调度器。
调度器可以由外部FPGA实现,FPGA与内核间使用一套硬件接口和库进行调度信息的交互。从而实现了调度器与内核的剥离。由于FPGA的特性,在操作系统运行中,FPGA中的调度算法可以更改,从而改变调度器的工作方式。因而,FPGA调度器可以做到根据任务的不同特性,采用不同的调度算法。
此外,各个容器对应的调度器之间是独立的,分别负责各自容器中的调度任务。并且,多个容器可以在运行中合并调度器或者分离出新的调度器。调度器和容器是系统中不同的模块,可以通过调整容器的数量,系统资源分配,容器和调度器的关联关系来实现处理不同任务和不同场景的需求。也就是说,容器和FPGA调度器是灵活可配置的。
可选地,作为一个实施例,装置30还包括更新单元,确定单元31还用于:根据待处理任务的任务类型,确定待处理任务匹配的调度算法;根据调度算法,通过更新单元更新第一FPGA调度器。
具体地,由于待处理任务在由第一子系统处理之前,第一子系统对应的第一FPGA调度器的调度算法可能较适用于上一任务。因此,第一子系统在接收到待处理任务时,可以根据待处理任务的任务类型确定匹配的调度算法,并将该调度算法更新到第一FPGA调度器,实现了FPGA调度器的动态调整,提高了调度器的适应性,从而能够提高调度和处理效率。
可选地,作为一个实施例,装置30还包括生成单元,确定单元31具体用于:根据系统知识库和待处理任务的任务类型,确定待处理任务的调度属性;根据待处理任务的调度属性,通过生成单元生成与待处理任务匹配的调度算法。
在根据任务类型确定匹配的调度算法时,可以通过系统知识库SKB分析任务的属性。SKB保存有软、硬件资源的诸多特性,通过在SKB中的知识分析引擎,可以确定当前任务的特性。例如,任务的特性包括:需要立即做出响应的、批处理式、流式计算、web应用等。
而后可以根据SKB确定的任务的特性,从系统模板/规则库中选择相似度较高的调度算法,或者采用正则文法等生成与当前任务适合的调度算法,确保较高的调度效率。
可选地,作为一个实施例,装置30还包括生成单元,生成单元用于:根据第一子系统对应的至少一个任务类型,通过系统知识库生成与第一子系统对应的至少一个任务类型匹配的调度算法;根据调度算法,生成与第一子系统相对应的第一FPGA调度器。
应理解,在系统初始化,划分子系统时,需要为每一个子系统生成/分配一个FPGA调度器。具体地,由于子系统的划分是考虑任务的,可以通过SKB确定子系统分析任务的特性,而后从系统模板/规则库中选择相似度较高的调度算法,或者采用正则文法等生成,该子系统的初始调度算法,该调度算法对于该子系统所要处理的任务具有较好的兼容性,即性能较好。然而为了进一步提升调度性能,则需要在后续处理任务时根据任务动态更新调度算法。
本发明实施例的装置30通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
图4是本发明另一实施例的任务调度装置的示意框图。图4的装置40包括处理器41和存储器42。处理器41和存储器42通过总线系统43相连。处理器41包括多个处理核心,处理器41和存储器42和总线系统43等组成的系统资源由所述装置40的操作系统划分为多个子系统,多个子系统的每个子系统对应于至少一个任务类型,且每个子系统对应于一个FPGA调度器。
存储器42用于存储使得处理器41执行以下操作的指令:确定待处理任务的任务类型。根据待处理任务的任务类型,将待处理任务分配至与任务类型相对应的第一子系统,其中第一子系统属于多个子系统。通过第一子系统的系统资源和对应于第一子系统的第一FPGA调度器,执行待处理任务
本发明实施例通过将多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个FPGA调度器,根据待处理任务的任务类型分配子系统和相应的FPGA调度器来处理所述待处理任务,从而能够提高任务的调度和处理效率,降低多核系统的处理能力的浪费,提高系统性能。
处理器41控制装置40的操作,处理器41还可以称为CPU(Central ProcessingUnit,中央处理单元)。存储器42可以包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。存储器42的一部分还可以包括非易失性随机存取存储器(NVRAM)。用户设备40的各个组件通过总线系统43耦合在一起,其中总线系统43除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统43。
上述本发明实施例揭示的方法可以应用于处理器41中,或者由处理器41实现。处理器41可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器41可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成上述方法的步骤。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种任务调度的方法,其特征在于,应用于多核心系统,所述多核心系统的操作系统将所述多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,所述方法包括:
确定待处理任务的任务类型;
根据所述待处理任务的任务类型,将所述待处理任务分配至与所述任务类型相对应的第一子系统,其中所述第一子系统属于所述多个子系统;
通过所述第一子系统的系统资源和对应于所述第一子系统的第一调度器,执行所述待处理任务;
所述方法还包括:
根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法;
根据所述调度算法,更新所述第一调度器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法,包括:
根据系统知识库和所述待处理任务的任务类型,确定所述待处理任务的调度属性;
根据所述待处理任务的调度属性,生成与所述待处理任务匹配的调度算法。
3.根据权利要求1所述的方法,其特征在于,所述确定待处理任务的任务类型之前,所述方法还包括:
根据所述第一子系统对应的至少一个任务类型,通过系统知识库生成与所述第一子系统对应的至少一个任务类型匹配的调度算法;
根据所述调度算法,生成与所述第一子系统相对应的所述第一调度器。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述硬件调度器为现场可编程门阵列FPGA调度器。
5.一种任务调度装置,其特征在于,应用于多核心系统,所述多核心系统的操作系统将所述多核心系统的系统资源划分为多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述调度器为硬件调度器,所述装置包括:
确定单元,用于确定待处理任务的任务类型;
分配单元,用于根据所述待处理任务的任务类型,将所述待处理任务分配至与所述任务类型相对应的第一子系统,其中所述第一子系统属于所述多个子系统;
执行单元,用于通过所述第一子系统的系统资源和对应于所述第一子系统的第一调度器,执行所述待处理任务;
所述装置还包括更新单元,所述确定单元还用于:
根据所述待处理任务的任务类型,确定所述待处理任务匹配的调度算法;
根据所述调度算法,通过所述更新单元更新所述第一调度器。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括生成单元,所述确定单元具体用于:
根据系统知识库和所述待处理任务的任务类型,确定所述待处理任务的调度属性;
根据所述待处理任务的调度属性,通过所述生成单元生成与所述待处理任务匹配的调度算法。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括生成单元,所述生成单元用于:
根据所述第一子系统对应的至少一个任务类型,通过系统知识库生成与所述第一子系统对应的至少一个任务类型匹配的调度算法;
根据所述调度算法,生成与所述第一子系统相对应的所述第一调度器。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述硬件调度器为现场可编程门阵列FPGA调度器。
9.一种多核心系统,其特征在于,所述多核心系统包括由所述多核心系统的系统资源划分成的多个子系统,所述多个子系统的每个子系统对应于至少一个任务类型,且所述每个子系统对应于一个调度器,所述多核心系统还包括权利要求5-8所述的任务调度装置,用于执行权利要求1-4所述的任务调度方法。
CN201410854421.0A 2014-12-31 2014-12-31 任务调度的方法、装置和系统 Active CN105808328B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410854421.0A CN105808328B (zh) 2014-12-31 2014-12-31 任务调度的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410854421.0A CN105808328B (zh) 2014-12-31 2014-12-31 任务调度的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN105808328A CN105808328A (zh) 2016-07-27
CN105808328B true CN105808328B (zh) 2019-05-17

Family

ID=56465236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410854421.0A Active CN105808328B (zh) 2014-12-31 2014-12-31 任务调度的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN105808328B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870948A (zh) * 2016-09-28 2018-04-03 平安科技(深圳)有限公司 任务调度方法和装置
CN107943577B (zh) * 2016-10-12 2022-03-04 上海优扬新媒信息技术有限公司 用于调度任务的方法和装置
CN106603270A (zh) * 2016-11-10 2017-04-26 广州酷狗计算机科技有限公司 分布式系统中调用链路的追踪方法及装置
CN106802829A (zh) * 2016-12-30 2017-06-06 广东欧珀移动通信有限公司 一种资源管理方法及设备
CN108287759B (zh) * 2017-01-10 2021-07-09 阿里巴巴集团控股有限公司 处理数据过程中的调度方法、装置和系统
CN106897132A (zh) * 2017-02-27 2017-06-27 郑州云海信息技术有限公司 一种服务器任务调度的方法以及装置
CN107273202A (zh) * 2017-07-14 2017-10-20 郑州云海信息技术有限公司 一种控制任务调度的方法和装置
CN110659112B (zh) * 2018-06-29 2023-07-18 中车株洲电力机车研究所有限公司 算法调度方法及系统
CN110083388B (zh) * 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 用于调度的处理系统及其访存方法
CN110334049A (zh) * 2019-07-02 2019-10-15 上海联影医疗科技有限公司 数据处理方法、装置、计算机设备及存储介质
CN110912967A (zh) * 2019-10-31 2020-03-24 北京浪潮数据技术有限公司 一种服务节点调度方法、装置、设备及存储介质
CN111163018B (zh) * 2019-12-02 2022-08-26 华为技术有限公司 网络设备及其降低传输时延的方法
CN111932368B (zh) * 2020-08-13 2024-01-05 中国工商银行股份有限公司 一种信用卡发卡系统及其构建方法、装置
CN111930522A (zh) * 2020-09-24 2020-11-13 常州微亿智造科技有限公司 Gpu虚拟化和资源调度方法和装置
CN112486648A (zh) * 2020-11-30 2021-03-12 北京百度网讯科技有限公司 任务调度方法、装置、系统、电子设备和存储介质
CN112561326A (zh) * 2020-12-15 2021-03-26 青岛海尔科技有限公司 任务执行方法及装置、存储介质、电子装置
CN113703976B (zh) * 2021-08-27 2023-05-19 苏州浪潮智能科技有限公司 一种fpga资源分配方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN101833439A (zh) * 2010-04-20 2010-09-15 清华大学 基于分合思想的并行计算硬件结构
CN104008013A (zh) * 2013-02-26 2014-08-27 华为技术有限公司 一种核资源分配方法、装置及众核系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN101833439A (zh) * 2010-04-20 2010-09-15 清华大学 基于分合思想的并行计算硬件结构
CN104008013A (zh) * 2013-02-26 2014-08-27 华为技术有限公司 一种核资源分配方法、装置及众核系统

Also Published As

Publication number Publication date
CN105808328A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN105808328B (zh) 任务调度的方法、装置和系统
US20190324819A1 (en) Distributed-system task assignment method and apparatus
CN107122243B (zh) 用于cfd仿真计算的异构集群系统及计算cfd任务的方法
CN106933669B (zh) 用于数据处理的装置和方法
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
WO2016078008A1 (zh) 调度数据流任务的方法和装置
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
US9563474B2 (en) Methods for managing threads within an application and devices thereof
CN108228354A (zh) 调度方法、系统、计算机设备和介质
CN107515786A (zh) 资源分配方法、主装置、从装置和分布式计算系统
US11055139B2 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
CN111344688A (zh) 云计算中资源提供的方法及系统
CN106095563B (zh) 灵活的物理功能和虚拟功能映射
Soner et al. Integer programming based heterogeneous cpu–gpu cluster schedulers for slurm resource manager
CN113051053A (zh) 异构资源调度方法、装置、设备和计算机可读存储介质
KR20200091789A (ko) Gpu 연산의 동시 실행을 위한 플랫폼
CN112068957A (zh) 资源分配方法、装置、计算机设备及存储介质
CN115292016A (zh) 基于人工智能的任务调度方法及相关设备
CN111159859B (zh) 一种云容器集群的部署方法及系统
US20170083375A1 (en) Thread performance optimization
CN104598304B (zh) 用于作业执行中的调度的方法和装置
EP3644213A1 (en) Resource utilization of heterogeneous compute units in electronic design automation
Vella et al. A simulation framework for scheduling performance evaluation on CPU-GPU heterogeneous system
CN107220114A (zh) 基于资源统一调度的分布式资源调度方法
US11954419B2 (en) Dynamic allocation of computing resources for electronic design automation operations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200420

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.

TR01 Transfer of patent right