CN111666152A - 面向异构计算平台的任务调度方法、设备及存储介质 - Google Patents
面向异构计算平台的任务调度方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111666152A CN111666152A CN202010419034.XA CN202010419034A CN111666152A CN 111666152 A CN111666152 A CN 111666152A CN 202010419034 A CN202010419034 A CN 202010419034A CN 111666152 A CN111666152 A CN 111666152A
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- task load
- load node
- load
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013507 mapping Methods 0.000 claims abstract description 69
- 239000013256 coordination polymer Substances 0.000 claims description 29
- 238000005265 energy consumption Methods 0.000 claims description 18
- 239000002243 precursor Substances 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010977 unit operation Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/5061—Partitioning or combining of 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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种面向异构计算平台的任务调度方法、设备及存储介质。所述异构计算平台包括多种/多个处理器,所述方法,包括:将异构计算平台的待运行应用划分为多个任务负载节点;获取每个任务负载节点在各个处理器中的运行情况,并建立负载‑处理器性能映射模型;基于负载‑处理器性能映射模型,将各个任务负载节点分配至各个处理器。采用本发明,通过综合考虑任务负载的特征、异构平台处理器的性能特征,设计任务调度方法实现异构平台的高效运行,以获得更高的能效比。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种面向异构计算平台的任务调度方法、设备及存储介质。
背景技术
面向大数据、人工智能行业日益增长的数据海量化、计算多元化需求,传统的CPU(Central Processing Unit中央处理器)的主频难以满足快速增长的计算需求,大数据处理架构的多样化模式并存将是未来体系结构发展的趋势。其中借助GPU(graphicsprocessing unit图形处理器)、FPGA(Field Programmable Gate Array现场可编程门阵列)、ASIC(Application Specific Integrated Circuit专用集成电路)等异构计算部件来进行人工智能应用的加速已经成为近年来的研究热点。其中GPU适合吞吐量比较高的计算,缺点是功耗相对高一些,比较适合通用的并行度非常高的计算。FPGA非规整数据的处理能力强一些,GPU最低能处理8位的数据,FPGA可以处理6位、4位甚至1位的数据。ASIC需要在前期投入大量资金去做验证和流片,而一旦验证ASIC芯片稳定工作后,每瓦的性能或者单位的成本是最划算的。因此同时使用多种类型的异构计算部件进行专用计算系统部署可以在性能、能效、适用性等多个方面满足不同种类的应用需求。然而FPGA、GPU、ASIC等不同异构计算部件的具备不同的体系结构、计算能力、通信带宽和存储容量,这就给异构计算平台环境下的任务调度提出极大挑战。在复杂的硬件环境下对各类任务进行合理高效的调度是提升集群整体性能的关键,调度算法必须充分考虑各种因素,包括多种硬件资源的性能能耗信息、多种类型的任务需求等。
发明内容
本发明实施例提供一种面向异构计算平台的任务调度方法、设备及存储介质,用以解决现有技术中异构计算平台环境下的任务调度困难的问题。
根据本发明实施例的面向异构计算平台的任务调度方法,所述异构计算平台包括多种/多个处理器,所述方法,包括:
将异构计算平台的待运行应用划分为多个任务负载节点;
获取每个所述任务负载节点在各个所述处理器中的运行情况,并建立负载-处理器性能映射模型;
基于所述负载-处理器性能映射模型,将各个所述任务负载节点分配至各个处理器。
根据本发明的一些实施例,所述将异构计算平台的待运行应用划分为多个任务负载节点,包括:
将异构计算平台的待运行应用划分为多个待运行任务;
根据各个所述待运行任务的特点以及各个所述待运行任务之间的依赖关系,对多个所述待运行任务进行合并,以获得多个任务负载节点。
在本发明的一些实施例中,所述根据各个所述待运行任务的特点以及各个所述待运行任务之间的依赖关系,对多个所述待运行任务进行合并,以获得多个任务负载节点,包括:
基于合并规则,判断具有依赖关系的前驱任务和后继任务是否可以合并;
所述合并规则包括:
当所述前驱任务和所述后继任务一一对应、且所述前驱任务的类型和所述后继任务的类型相同,则合并所述前驱任务和所述后继任务为一个任务负载节点,否则,不合并所述前驱任务和所述后继任务。
根据本发明的一些实施例,所述获取每个所述任务负载节点在各个所述处理器中的运行情况,并建立负载-处理器性能映射模型,包括:
根据公式1,建立负载-处理器性能映射模型,
f(i,Pj)={fij,CPij,ECij,MAij} 公式1,其中,i为所述任务负载节点的类型编号,Pj为所述处理器的类型编号,fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力,ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗,MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。
在本发明的一些实施例中,所述fij根据如下方式确定:
确定类型编号为j的处理器支持频率调节的级别数;
将类型编号为i的任务负载节点在类型编号为j的处理器上以k级别的频率运行,以获取k级别的频率所对应的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk;
根据公式2,确定fij,
其中,α1和α2均为权重系数,且α1+α2=1。
根据本发明的一些实施例,所述基于所述负载-处理器性能映射模型,将各个所述任务负载节点分配至各个处理器,包括:
基于所述负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型;
将所述DAG模型中的各个任务负载节点划分到高速任务负载节点队列或低速任务负载节点队列;
将所述高速任务负载节点队列中的任务负载节点划分到第一类处理器,将低速任务负载节点队列中的任务负载节点划分到第二类处理器,所述第一类处理器的处理效率高于所述第二类处理器的处理效率。
在本发明的一些实施例中,所述基于所述负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型,包括:
基于所述负载-处理器性能映射模型,根据公式3,建立任务负载节点的有向无环图DAG模型,
DAG={V,P,T,C} 公式3,
其中,V={Vm},Vm表示第m个任务负载节点,P={Pn},Pn表示第n个处理器,T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。
进一步的,所述将所述DAG模型中的各个任务负载节点划分为高速任务负载节点队列或低速任务负载节点队列,包括:
以广度优先算法遍历所述DAG模型;
当所述任务负载节点在各个处理器中的运行时间均大于第一阈值,且所述任务负载节点在各个处理器中的运行时间和所述任务负载节点的传输时间的比值均大于第二阈值,则将该任务负载节点划分至高速任务负载节点队列,否则,将该任务负载节点划分至低速任务负载节点队列。
根据本发明实施例的面向异构计算平台的任务调度设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的面向异构计算平台的任务调度方法的步骤。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的面向异构计算平台的任务调度方法的步骤。
采用本发明实施例,通过综合考虑任务负载的特征、异构平台处理器的性能特征,设计任务调度方法实现异构平台的高效运行,以获得更高的能效比。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:
图1是本发明实施例中面向异构计算平台的任务调度方法流程图;
图2是本发明实施例中将异构计算平台的待运行应用划分为多个待运行任务后的示意图;
图3是本发明实施例中将异构计算平台的待运行应用划分为多个任务负载节点后的示意图;
图4是本发明实施例中负载-处理器性能映射模型的示意图;
图5是本发明实施例中DAG模型的示意图;
图6是本发明实施例中将各个任务负载节点分配至各个处理器的示意图;
图7是本发明实施例中面向异构计算平台的任务调度设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提出一种面向异构计算平台的任务调度方法,异构计算平台包括多种/多个处理器,如图1所示,所述面向异构计算平台的任务调度方法,包括:
S1,将异构计算平台的待运行应用划分为多个任务负载节点。
这里所提到的“待运行应用”可以理解为需要在异构计算平台运行的应用。
S2,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型。
可以理解的是,基于每个任务负载节点在各个处理器中的运行情况,建立负载-处理器性能映射模型。换言之,负载-处理器性能映射模型就是用于反映各个任务负载节点在各个处理器中运行情况的。
S3,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器。
可以理解的是,通过对负载-处理器性能映射模型的分析,将各个任务负载节点恰当的分配到面向异构计算平台的多个处理器,使得面向异构计算平台可以合理高效的工作。
采用本发明实施例,通过综合考虑任务负载的特征、异构平台处理器的性能特征,设计任务调度方法实现异构平台的高效运行,以获得更高的能效比。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,将异构计算平台的待运行应用划分为多个任务负载节点,包括:
将异构计算平台的待运行应用划分为多个待运行任务。
根据各个待运行任务的特点(如类型)以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点。
由此,可以减少任务负载节点数量,降低任务调度的复杂性。
在本发明的一些实施例中,根据各个待运行任务的特点以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点,包括:
基于合并规则,判断具有依赖关系的前驱任务和后继任务是否可以合并;
合并规则包括:
当前驱任务和后继任务一一对应、且前驱任务的类型和后继任务的类型相同,则合并前驱任务和后继任务为一个任务负载节点,否则,不合并前驱任务和后继任务。可以理解的是,具有依赖关系的两个待运行任务中的一个为前驱任务,则另一个为后继任务,如果后继任务只有一个前驱任务,而前驱任务也只有一个后继任务,则这两个待运行任务可以合并为一个任务负载节点,反之,则这两个待运行任务不进行合且两个待运行任务对应成为两个任务负载节点。
根据本发明的一些实施例,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型,包括:
根据公式1,建立负载-处理器性能映射模型,
f(i,Pj)={fij,CPij,ECij,MAij} 公式1,其中,i为任务负载节点的类型编号,Pj为处理器的类型编号,fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力,ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗,MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。
在本发明的一些实施例中,fij根据如下方式确定:
确定类型编号为j的处理器支持频率调节的级别数;
将类型编号为i的任务负载节点在类型编号为j的处理器上以k级别的频率运行,以获取k级别的频率所对应的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk;
根据公式2,确定fij,
其中,α1和α2均为权重系数,且α1+α2=1。
根据本发明的一些实施例,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器,包括:
基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型;
将DAG模型中的各个任务负载节点划分到高速任务负载节点队列或低速任务负载节点队列;
将高速任务负载节点队列中的任务负载节点划分到第一类处理器,将低速任务负载节点队列中的任务负载节点划分到第二类处理器,第一类处理器的处理效率高于第二类处理器的处理效率。
在本发明的一些实施例中,基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型,包括:
基于负载-处理器性能映射模型,根据公式3,建立任务负载节点的有向无环图DAG模型,
DAG={V,P,T,C} 公式3,
其中,V={Vm},Vm表示第m个任务负载节点,P={Pn},Pn表示第n个处理器,T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。
需要说明的是,本发明实施例中,多个任务负载节点的类型可以均不同,也可以存在至少两个任务负载节点的类型是一致的。多个处理器的类型也可以均不同,或是存在至少两个处理器的类型是一致的。
进一步的,将DAG模型中的各个任务负载节点划分为高速任务负载节点队列或低速任务负载节点队列,包括:
以广度优先算法遍历DAG模型;
当任务负载节点在各个处理器中的运行时间均大于第一阈值,且任务负载节点在各个处理器中的运行时间和任务负载节点的传输时间的比值均大于第二阈值,则将该任务负载节点划分至高速任务负载节点队列,否则,将该任务负载节点划分至低速任务负载节点队列。
根据本发明的一些实施例,所述异构计算平台包括CPU、GPU、FPGA、ASIC等至少2种或2种以上处理器组成。
下面参照图2-图6以一个具体的实施例详细描述根据本发明实施例的面向异构计算平台的任务调度方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
本发明实施例的任务调度方法是面向异构计算平台所提出的,异构计算平台包括四种类型的处理器,每种类型的处理器均为一个,即异构计算平台CPU、GPU、FPGA、ASIC四种处理器。
本发明实施例的面向异构计算平台的任务调度方法,首先根据待运行应用的负载特点和各个负载之间的依赖关系,将待运行应用划分为多个待运行任务;然后针对多个待运行任务进行任务粒度调整,确定多个任务负载节点,并针对任务负载节点在不同异构硬件处理器中的性能开销、执行时间情况建立任务负载节点对应的DAG模型;最后借助任务负载节点调度过程,为每个任务负载及节点选择合适的处理器运行。
具体的,本发明实施例的面向异构计算平台的任务调度方法包括如下步骤:
步骤1:对需要在异构计算平台运行的应用(即待运行应用,以下简称为应用)进行分析,根据应用中负载的特点和各负载之间的依赖关系对应用进行任务划分,将需要在异构计算平台执行的大的应用划分成一系列小的待运行任务。
例如,如图2所示,采用上述步骤将应用划分为5类待运行任务,即待运行任务的类型数目为5,待运行任务的类型编号包括1、2、3、4、5。待运行任务的数目为8,待运行任务的编号包括1、2、3、4、5、6、7、8。待运行任务之间的依赖关系如图2所示。其中圆圈中的数字为待运行任务的编号,圆圈上方的数字为待运行任务的类型编号,圆圈间连接的边代表待运行任务间的依赖关系。
步骤2:对步骤1中划分得到的待运行任务按照第一规则(即合并规则)进行粒度调整,最终确定多个任务负载节点。任务粒度调整的第一规则是:如果待运行任务同时满足只有一个前驱任务、与前驱任务属于同一类型、该前驱任务也仅有一个后继任务这三个条件,则将该待运行任务可以与其前驱任务合并形成一个任务负载节点。
例如,采用上述步骤,对图2中的待运行任务进行任务粒度调整,以确定多个任务负载节点。图2中仅有待运行任务1和待运行任务2满足第一规则,因此将待运行任务1和待运行任务2合并。粒度调整后的任务划分情况如图3所示,图中的圆圈中的数字为任务负载节点的编号,圆圈上方的数字为任务负载节点的类型编号,圆圈间连接的边代表任务负载节点间的依赖关系。图3中包括5类任务负载节点,即任务负载节点的类型数目为5,任务负载节点的类型编号包括1、2、3、4、5。任务负载节点的数目为7,任务负载节点的编号包括1、3、4、5、6、7、8。
步骤3:对步骤2中粒度调整后获得的一系列任务负载节点,分别在各个处理器中运行,获得任务负载节点在不同异构硬件处理器中的运行情况,提供任务负载节点在异构硬件处理器运行的性能和能耗信息,建立负载-处理器性能映射模型。
所述的负载-处理器性能映射模型为:f(i,Pj)={fij,CPij,ECij,MAij},用于帮助我们分析不同任务负载节点在不同处理器下的运行情况。
其中,i为所述任务负载节点的类型编号,相同类型的任务负载节点的类型编号相同;Pj为所述处理器的类型编号,相同类型的处理器的类型编号相同;fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,在该频率下任务负载节点在类型编号为j的处理器上运行可以获得最高能效比;CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力;ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗;MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。f(i,Pj)可以为空值,代表类型编号为i的任务负载节点不能在类型编号为j的处理器中运行。
建立负载-处理器性能映射模型,包括如下步骤:
如果任务划分后的任务负载节点已经在负载-处理器性能映射模型中,则读取获得fij,CPij,ECij,MAij等信息。
如果任务划分后的任务负载节点不在负载-处理器性能映射模型中,则需要建立该任务负载节点与处理器之间的性能映射关系,并将该映射关系添加到负载-处理器性能映射模型中,具体的:添加类型编号为i的任务负载节点,该任务负载节点能够在类型编号为j的处理器中运行,类型编号为j的处理器支持频率调节的级数为K级(K一般小于16),将类型编号为i的任务负载节点在类型编号为j的处理器的全部K个频率级别中进行运行,得到在每个频率级别k(0<k<K+1)上运行的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk,则最优推荐运行频率fij=k。其中k使得取得最大值,α1和α2为权重系数,α1+α2=1。从而获得在fij下运行的CPij,ECij,MAij信息,以添加到负载-处理器性能映射模型中。
例如,采用上述步骤,基于图3中所示任务负载节点,建立负载-处理器性能映射模型,如图4所示。通过图4,给出任务负载节点的类型编号和处理器的类型编号,就可以通过运行负载-处理器性能映射模型得到对应的fij,CPij,ECij,MAij。针对任务负载节点1,其属于任务负载类型1,通过运行负载-处理器性能映射模型,可以得到f(1,P1)={f11,CP11,EC11,MA11},f(1,P2)={f12,CP12,EC12,MA12},f(1,P3)={f13,CP13,EC13,MA13}。其他任务负载节点依次类推。
假设任务负载节点类型5不在负载-处理器性能映射模型中,则将第5类任务负载节点在第2、3类处理器的全部3个频率级别中进行运行,得到在每个频率级别k,0<k<4上运行的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk,则最优推荐运行频率fij=k;其中0<k<K+1使得取得最大值。α1和α2为权重系数,α1+α2=1。从而获得在fij下运行的CPij,ECij,MAij信息。并将该映射关系添加到负载-处理器性能映射模型中,则增加后的任务负载类型5和4种硬件的性能映射关系为:f(5,P2)={f52,CP52,EC52,MA52},f(5,P3)={f53,CP53,EC53,MA53}。
步骤4:根据步骤3中获得的各任务负载节点在异构硬件处理器运行的性能和能耗信息,建立任务负载节点对应的DAG(Directed Acyclic Graph有向无环图)模型。
DAG的表达式为:DAG={V,P,T,C}。
其中,V={Vm},Vm表示第m个任务负载节点,V为任务负载节点集。
P={Pn},Pn表示第n个处理器,P为处理器集合。
T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,T为任务负载节点的处理时间集合。Tm,n=Zm*CPij,Zm为第m个任务负载节点的负载量。
C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,C为任务负载节点的传输时间集合。
第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。其中:
例如,针对图4所示的负载-处理器性能映射模型,建立对应的DAG模型:DAG={V,P,T,C}。V={V1,V3,V4,V5,V6,V7,V8},P={P1,P2,P3,P4},T={T11,T12,T13,T32,T33,T43,T52,T53,T64,T72,T73,T81,T82,T83},C={C11,C12,C13,C32,C33,C43,C52,C53,C64,C72,C73,C81,C82,C83},如图5所示。
步骤5:对步骤4中建立的DAG模型执行任务负载调度过程,根据第二规则将DAG模型中的任务负载节点分配到恰当的异构处理器中运行,得到在各个异构处理器中运行的任务负载队列。
第二规则主要目的是将任务模型中的任务负载节点分配到恰当的处理器中进行运行,得到在各个异构处理器中运行的任务负载队列。具体任务调度过程如下:
将DAG模型中各个任务负载节点划分到高速任务负载队列和低速任务负载队列。以广度优先算法遍历DAG模型,如果第m个任务负载节点在各类处理中的运行时间Tm,n均大于第一阈值,且第m个任务负载节点的在各类处理中的运行时间Tm,n和第m个任务负载节点的传输时间Cm,n比值大于第二阈值,则将第m个任务负载节点划分到高速任务负载队列,否则将第m个任务负载节点划分到低速任务负载队列。
将高速任务负载队列中的任务负载节点划分到处理时间最小的处理器中。将低速任务负载队列中的任务负载节点划分到不影响高速任务负载队列运行的空闲处理器中。直至高速和低速队列中的任务负载节点均为空,完成任务负载节点的任务调度过程。其中第一阈值和第二阈值可以通过经验获得,或由用户进行指定。
例如,遍历图5所示的DAG模型,将DAG模型中任务负载节点1、3、5、6划分到高速任务负载队列,将DAG模型中任务负载节点4、7、8划分到低速任务负载队列,然后将任务负载节点1、8加入到处理器P1中运行。任务负载节点3、7被加入到处理器P2中运行。任务负载节点4、5被加入到处理器P3中运行。任务负载节点6被加入到处理器P4中运行,如图6所示。
步骤6:运行分配到各个异构处理器的任务负载队列中的任务负载节点。
需要说明的是,本发明实施例中“异构硬件处理器”、“异构处理器”、“处理器”、“硬件”可以理解为同一概念。
采用本发明实施例的面向异构计算平台的任务调度方法,通过综合考虑任务负载的特征、异构硬件的性能和能特征,设计任务调度策略实现异构平台的任务调度和分配方法,根据任务负载的特点和依赖关系对任务进行划分,分析单位子任务下的异构硬件性能和能耗特点,通过任务调度方法将划分得到的子任务绑定到合适的异构计算资源上执行,可以充分考虑负载和异构硬件的各种因素,具有较高的灵活性和可操作性,有助于提高异构平台的任务调度效率,从而提升整个异构计算平台的能效。
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
如图7所示,根据本发明实施例的面向异构计算平台的任务调度设备1000,包括:存储器1010、处理器1020及存储在所述存储器1010上并可在所述处理器1020上运行的计算机程序,所述计算机程序被所述处理器1020执行时实现如下方法步骤:
S1,将异构计算平台的待运行应用划分为多个任务负载节点。
这里所提到的“待运行应用”可以理解为需要在异构计算平台运行的应用。
S2,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型。
可以理解的是,基于每个任务负载节点在各个处理器中的运行情况,建立负载-处理器性能映射模型。换言之,负载-处理器性能映射模型就是用于反映各个任务负载节点在各个处理器中运行情况的。
S3,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器。
可以理解的是,通过对负载-处理器性能映射模型的分析,将各个任务负载节点恰当的分配到面向异构计算平台的多个处理器,使得面向异构计算平台可以合理高效的工作。
采用本发明实施例,通过综合考虑任务负载的特征、异构平台处理器的性能特征,设计任务调度方法实现异构平台的高效运行,以获得更高的能效比。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,将异构计算平台的待运行应用划分为多个任务负载节点,包括:
将异构计算平台的待运行应用划分为多个待运行任务。
根据各个待运行任务的特点(如类型)以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点。
由此,可以减少任务负载节点数量,降低任务调度的复杂性。
在本发明的一些实施例中,根据各个待运行任务的特点以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点,包括:
基于合并规则,判断具有依赖关系的前驱任务和后继任务是否可以合并;
合并规则包括:
当前驱任务和后继任务一一对应、且前驱任务的类型和后继任务的类型相同,则合并前驱任务和后继任务为一个任务负载节点,否则,不合并前驱任务和后继任务。可以理解的是,具有依赖关系的两个待运行任务中的一个为前驱任务,则另一个为后继任务,如果后继任务只有一个前驱任务,而前驱任务也只有一个后继任务,则这两个待运行任务可以合并为一个任务负载节点,反之,则这两个待运行任务不进行合且两个待运行任务对应成为两个任务负载节点。
根据本发明的一些实施例,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型,包括:
根据公式1,建立负载-处理器性能映射模型,
f(i,Pj)={fij,CPij,ECij,MAij} 公式1,
其中,i为任务负载节点的类型编号,Pj为处理器的类型编号,fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力,ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗,MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。
在本发明的一些实施例中,fij根据如下方式确定:
确定类型编号为j的处理器支持频率调节的级别数;
将类型编号为i的任务负载节点在类型编号为j的处理器上以k级别的频率运行,以获取k级别的频率所对应的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk;
根据公式2,确定fij,
其中,α1和α2均为权重系数,且α1+α2=1。
根据本发明的一些实施例,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器,包括:
基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型;
将DAG模型中的各个任务负载节点划分到高速任务负载节点队列或低速任务负载节点队列;
将高速任务负载节点队列中的任务负载节点划分到第一类处理器,将低速任务负载节点队列中的任务负载节点划分到第二类处理器,第一类处理器的处理效率高于第二类处理器的处理效率。
在本发明的一些实施例中,基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型,包括:
基于负载-处理器性能映射模型,根据公式3,建立任务负载节点的有向无环图DAG模型,
DAG={V,P,T,C} 公式3,
其中,V={Vm},Vm表示第m个任务负载节点,P={Pn},Pn表示第n个处理器,T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。
需要说明的是,本发明实施例中,多个任务负载节点的类型可以均不同,也可以存在至少两个任务负载节点的类型是一致的。多个处理器的类型也可以均不同,或是存在至少两个处理器的类型是一致的。
进一步的,将DAG模型中的各个任务负载节点划分为高速任务负载节点队列或低速任务负载节点队列,包括:
以广度优先算法遍历DAG模型;
当任务负载节点在各个处理器中的运行时间均大于第一阈值,且任务负载节点在各个处理器中的运行时间和任务负载节点的传输时间的比值均大于第二阈值,则将该任务负载节点划分至高速任务负载节点队列,否则,将该任务负载节点划分至低速任务负载节点队列。
根据本发明的一些实施例,所述异构计算平台包括CPU、GPU、FPGA、ASIC等至少2种或2种以上处理器组成。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传输的实现程序,所述程序被处理器执行时实现如下方法步骤:
S1,将异构计算平台的待运行应用划分为多个任务负载节点。
这里所提到的“待运行应用”可以理解为需要在异构计算平台运行的应用。
S2,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型。
可以理解的是,基于每个任务负载节点在各个处理器中的运行情况,建立负载-处理器性能映射模型。换言之,负载-处理器性能映射模型就是用于反映各个任务负载节点在各个处理器中运行情况的。
S3,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器。
可以理解的是,通过对负载-处理器性能映射模型的分析,将各个任务负载节点恰当的分配到面向异构计算平台的多个处理器,使得面向异构计算平台可以合理高效的工作。
采用本发明实施例,通过综合考虑任务负载的特征、异构平台处理器的性能特征,设计任务调度方法实现异构平台的高效运行,以获得更高的能效比。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,将异构计算平台的待运行应用划分为多个任务负载节点,包括:
将异构计算平台的待运行应用划分为多个待运行任务。
根据各个待运行任务的特点(如类型)以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点。
由此,可以减少任务负载节点数量,降低任务调度的复杂性。
在本发明的一些实施例中,根据各个待运行任务的特点以及各个待运行任务之间的依赖关系,对多个待运行任务进行合并,以获得多个任务负载节点,包括:
基于合并规则,判断具有依赖关系的前驱任务和后继任务是否可以合并;
合并规则包括:
当前驱任务和后继任务一一对应、且前驱任务的类型和后继任务的类型相同,则合并前驱任务和后继任务为一个任务负载节点,否则,不合并前驱任务和后继任务。可以理解的是,具有依赖关系的两个待运行任务中的一个为前驱任务,则另一个为后继任务,如果后继任务只有一个前驱任务,而前驱任务也只有一个后继任务,则这两个待运行任务可以合并为一个任务负载节点,反之,则这两个待运行任务不进行合且两个待运行任务对应成为两个任务负载节点。
根据本发明的一些实施例,获取每个任务负载节点在各个处理器中的运行情况,并建立负载-处理器性能映射模型,包括:
根据公式1,建立负载-处理器性能映射模型,
f(i,Pj)={fij,CPij,ECij,MAij} 公式1,
其中,i为任务负载节点的类型编号,Pj为处理器的类型编号,fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力,ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗,MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。
在本发明的一些实施例中,fij根据如下方式确定:
确定类型编号为j的处理器支持频率调节的级别数;
将类型编号为i的任务负载节点在类型编号为j的处理器上以k级别的频率运行,以获取k级别的频率所对应的单位运算能力CPijk、单位能耗ECijk和单位访存时间MAijk;
根据公式2,确定fij,
其中,α1和α2均为权重系数,且α1+α2=1。
根据本发明的一些实施例,基于负载-处理器性能映射模型,将各个任务负载节点分配至各个处理器,包括:
基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型;
将DAG模型中的各个任务负载节点划分到高速任务负载节点队列或低速任务负载节点队列;
将高速任务负载节点队列中的任务负载节点划分到第一类处理器,将低速任务负载节点队列中的任务负载节点划分到第二类处理器,第一类处理器的处理效率高于第二类处理器的处理效率。
在本发明的一些实施例中,基于负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型,包括:
基于负载-处理器性能映射模型,根据公式3,建立任务负载节点的有向无环图DAG模型,
DAG={V,P,T,C} 公式3,
其中,V={Vm},Vm表示第m个任务负载节点,P={Pn},Pn表示第n个处理器,T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。
需要说明的是,本发明实施例中,多个任务负载节点的类型可以均不同,也可以存在至少两个任务负载节点的类型是一致的。多个处理器的类型也可以均不同,或是存在至少两个处理器的类型是一致的。
进一步的,将DAG模型中的各个任务负载节点划分为高速任务负载节点队列或低速任务负载节点队列,包括:
以广度优先算法遍历DAG模型;
当任务负载节点在各个处理器中的运行时间均大于第一阈值,且任务负载节点在各个处理器中的运行时间和任务负载节点的传输时间的比值均大于第二阈值,则将该任务负载节点划分至高速任务负载节点队列,否则,将该任务负载节点划分至低速任务负载节点队列。
根据本发明的一些实施例,所述异构计算平台包括CPU、GPU、FPGA、ASIC等至少2种或2种以上处理器组成。
本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
需要说明的是,在本说明书的描述中,在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。另外,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种面向异构计算平台的任务调度方法,所述异构计算平台包括多种/多个处理器,其特征在于,所述方法,包括:
将异构计算平台的待运行应用划分为多个任务负载节点;
获取每个所述任务负载节点在各个所述处理器中的运行情况,并建立负载-处理器性能映射模型;
基于所述负载-处理器性能映射模型,将各个所述任务负载节点分配至各个处理器。
2.如权利要求1所述的方法,其特征在于,所述将异构计算平台的待运行应用划分为多个任务负载节点,包括:
将异构计算平台的待运行应用划分为多个待运行任务;
根据各个所述待运行任务的特点以及各个所述待运行任务之间的依赖关系,对多个所述待运行任务进行合并,以获得多个任务负载节点。
3.如权利要求2所述的方法,其特征在于,所述根据各个所述待运行任务的特点以及各个所述待运行任务之间的依赖关系,对多个所述待运行任务进行合并,以获得多个任务负载节点,包括:
基于合并规则,判断具有依赖关系的前驱任务和后继任务是否可以合并;
所述合并规则包括:
当所述前驱任务和所述后继任务一一对应、且所述前驱任务的类型和所述后继任务的类型相同,则合并所述前驱任务和所述后继任务为一个任务负载节点,否则,不合并所述前驱任务和所述后继任务。
4.如权利要求1所述的方法,其特征在于,所述获取每个所述任务负载节点在各个所述处理器中的运行情况,并建立负载-处理器性能映射模型,包括:
根据公式1,建立负载-处理器性能映射模型,
f(i,Pj)={fij,CPij,ECij,MAij} 公式1,
其中,i为所述任务负载节点的类型编号,Pj为所述处理器的类型编号,fij为类型编号为i的任务负载节点在类型编号为j的处理器上运行的最优推荐运行频率,CPij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位运算能力,ECij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位能耗,MAij为类型编号为i的任务负载节点在类型编号为j的处理器上以最优推荐运行频率运行时的单位访存时间。
6.如权利要求1所述的方法,其特征在于,所述基于所述负载-处理器性能映射模型,将各个所述任务负载节点分配至各个处理器,包括:
基于所述负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型;
将所述DAG模型中的各个任务负载节点划分到高速任务负载节点队列或低速任务负载节点队列;
将所述高速任务负载节点队列中的任务负载节点划分到第一类处理器,将低速任务负载节点队列中的任务负载节点划分到第二类处理器,所述第一类处理器的处理效率高于所述第二类处理器的处理效率。
7.如权利要求6所述的方法,其特征在于,所述基于所述负载-处理器性能映射模型,建立任务负载节点的有向无环图DAG模型,包括:
基于所述负载-处理器性能映射模型,根据公式3,建立任务负载节点的有向无环图DAG模型,
DAG={V,P,T,C} 公式3,
其中,V={Vm},Vm表示第m个任务负载节点,P={Pn},Pn表示第n个处理器,T={Tm,n},Tm,n表示第m个任务负载节点在第n个处理器上的运行时间,C={Cm},Cm表示第m个任务负载节点在类型编号为j的处理器上单位访存时间与第m个任务负载节点的负载量的乘积,第m个任务负载节点属于第i类任务负载节点,第n个处理器属于第j类处理器。
8.如权利要求7所述的方法,其特征在于,所述将所述DAG模型中的各个任务负载节点划分为高速任务负载节点队列或低速任务负载节点队列,包括:
以广度优先算法遍历所述DAG模型;
当所述任务负载节点在各个处理器中的运行时间均大于第一阈值,且所述任务负载节点在各个处理器中的运行时间和所述任务负载节点的传输时间的比值均大于第二阈值,则将该任务负载节点划分至高速任务负载节点队列,否则,将该任务负载节点划分至低速任务负载节点队列。
9.一种面向异构计算平台的任务调度设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的面向异构计算平台的任务调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求1至8中任一项所述的面向异构计算平台的任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419034.XA CN111666152A (zh) | 2020-05-18 | 2020-05-18 | 面向异构计算平台的任务调度方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419034.XA CN111666152A (zh) | 2020-05-18 | 2020-05-18 | 面向异构计算平台的任务调度方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111666152A true CN111666152A (zh) | 2020-09-15 |
Family
ID=72383767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010419034.XA Pending CN111666152A (zh) | 2020-05-18 | 2020-05-18 | 面向异构计算平台的任务调度方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666152A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540836A (zh) * | 2020-12-11 | 2021-03-23 | 光大兴陇信托有限责任公司 | 一种业务调度管理方法和系统 |
CN113051080A (zh) * | 2021-04-22 | 2021-06-29 | 杭州海康威视数字技术股份有限公司 | 一种计算图执行方法、装置及异构平台 |
CN113568747A (zh) * | 2021-07-27 | 2021-10-29 | 上海交通大学 | 基于任务分类与时序预测的云机器人资源调度方法及系统 |
CN113626116A (zh) * | 2021-07-20 | 2021-11-09 | 中国电子科技集团公司电子科学研究院 | 智能学习系统及数据分析方法 |
CN116069152A (zh) * | 2023-03-06 | 2023-05-05 | 鹏城实验室 | 针对ai计算集群的运行频率控制方法、系统及相关设备 |
CN112540836B (zh) * | 2020-12-11 | 2024-05-31 | 光大兴陇信托有限责任公司 | 一种业务调度管理方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079298A1 (en) * | 2010-05-20 | 2012-03-29 | Nec Laboratories America, Inc. | Energy efficient heterogeneous systems |
CN105677486A (zh) * | 2016-01-08 | 2016-06-15 | 上海交通大学 | 数据并行处理方法及系统 |
US20170279703A1 (en) * | 2016-03-25 | 2017-09-28 | Advanced Micro Devices, Inc. | Managing variations among nodes in parallel system frameworks |
CN109582457A (zh) * | 2017-09-29 | 2019-04-05 | 魏莹 | 片上网络异构多核系统任务调度与映射 |
-
2020
- 2020-05-18 CN CN202010419034.XA patent/CN111666152A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079298A1 (en) * | 2010-05-20 | 2012-03-29 | Nec Laboratories America, Inc. | Energy efficient heterogeneous systems |
CN105677486A (zh) * | 2016-01-08 | 2016-06-15 | 上海交通大学 | 数据并行处理方法及系统 |
US20170279703A1 (en) * | 2016-03-25 | 2017-09-28 | Advanced Micro Devices, Inc. | Managing variations among nodes in parallel system frameworks |
CN109582457A (zh) * | 2017-09-29 | 2019-04-05 | 魏莹 | 片上网络异构多核系统任务调度与映射 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540836A (zh) * | 2020-12-11 | 2021-03-23 | 光大兴陇信托有限责任公司 | 一种业务调度管理方法和系统 |
CN112540836B (zh) * | 2020-12-11 | 2024-05-31 | 光大兴陇信托有限责任公司 | 一种业务调度管理方法和系统 |
CN113051080A (zh) * | 2021-04-22 | 2021-06-29 | 杭州海康威视数字技术股份有限公司 | 一种计算图执行方法、装置及异构平台 |
CN113626116A (zh) * | 2021-07-20 | 2021-11-09 | 中国电子科技集团公司电子科学研究院 | 智能学习系统及数据分析方法 |
CN113626116B (zh) * | 2021-07-20 | 2023-12-15 | 中国电子科技集团公司电子科学研究院 | 智能学习系统及数据分析方法 |
CN113568747A (zh) * | 2021-07-27 | 2021-10-29 | 上海交通大学 | 基于任务分类与时序预测的云机器人资源调度方法及系统 |
CN113568747B (zh) * | 2021-07-27 | 2024-04-12 | 上海交通大学 | 基于任务分类与时序预测的云机器人资源调度方法及系统 |
CN116069152A (zh) * | 2023-03-06 | 2023-05-05 | 鹏城实验室 | 针对ai计算集群的运行频率控制方法、系统及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666152A (zh) | 面向异构计算平台的任务调度方法、设备及存储介质 | |
CN107704922B (zh) | 人工神经网络处理装置 | |
CN107679621B (zh) | 人工神经网络处理装置 | |
CN107679620B (zh) | 人工神经网络处理装置 | |
Kang et al. | Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks | |
Di Nitto et al. | Applying self-aggregation to load balancing: experimental results | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN109918182A (zh) | 虚拟化技术下的多gpu任务调度方法 | |
CN114679451B (zh) | 面向边缘计算的服务调度系统及其调度方法 | |
CN113301151A (zh) | 基于云边协同的低时延容器化任务部署方法及设备 | |
Zhang et al. | Data-aware task scheduling for all-to-all comparison problems in heterogeneous distributed systems | |
CN105335236B (zh) | 一种分布式取证动态负载均衡调度方法和装置 | |
CN112860396A (zh) | 一种基于分布式深度学习的gpu调度方法及系统 | |
Wu et al. | Learning compact DNN models for behavior prediction from neural activity of calcium imaging | |
Ding et al. | Data locality-aware and QoS-aware dynamic cloud workflow scheduling in Hadoop for heterogeneous environment | |
Rim et al. | An efficient dynamic load balancing using the dimension exchange method for balancing of quantized loads on hypercube multiprocessors | |
Liu et al. | An effective task offloading method for separable complex mobile terminal tasks | |
Wang et al. | An approximate optimal solution to GPU workload scheduling | |
Carneiro et al. | SCAS-IS: Knowledge extraction and reuse in multiprocessor task scheduling based on cellular automata | |
Tantitharanukul et al. | Workflow-based composite job scheduling for decentralized distributed systems | |
US20240177019A1 (en) | Static scheduling and dynamic scheduling for compiler-hinted and self-scheduling multi-engine artificial intelligence (ai) processing unit system | |
Mhalla et al. | Exact Parallel Algorithm for the Knapsack Sharing Problem | |
Laskowski et al. | Extremal optimization applied to task scheduling of distributed Java programs | |
Xiang et al. | Proteus: Distributed machine learning task scheduling based on Lyapunov optimization | |
Patil et al. | Review on a comparative study of various task scheduling algorithm in cloud computing environment |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200915 |