CN116700934B - 一种多元异构算力设备调度方法、装置、设备及存储介质 - Google Patents
一种多元异构算力设备调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116700934B CN116700934B CN202310974724.5A CN202310974724A CN116700934B CN 116700934 B CN116700934 B CN 116700934B CN 202310974724 A CN202310974724 A CN 202310974724A CN 116700934 B CN116700934 B CN 116700934B
- Authority
- CN
- China
- Prior art keywords
- operator
- equipment
- computing
- operators
- data processing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 192
- 238000013507 mapping Methods 0.000 claims abstract description 148
- 238000004364 calculation method Methods 0.000 claims description 55
- 230000014509 gene expression Effects 0.000 claims description 29
- 230000008093 supporting effect Effects 0.000 claims description 26
- 238000005457 optimization Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 14
- 238000005538 encapsulation Methods 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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
-
- 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)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种多元异构算力设备调度方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。能够最大限度的利用各底层硬件资源,能够有效提升高通量数据处理模型的处理效率,提升数据处理的性能。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种多元异构算力设备调度方法、装置、设备及存储介质。
背景技术
目前,随着百TB(太字节,Terabyte)级高通量数据处理应用的需求激增,以CPU(中央处理器,CentralProcessingUnit)为中心的计算架构即使不断加入多元异构算力设备,但由于其存算资源紧耦合,算力设备、内存扩展性受限,导致多节点组成的分布式计算系统性能低下。相关技术中,分布式调度系统无法匹配数据处理模型的动态算力需求,因此,如何解决多元异构算力设备调度问题,实现高通量数据处理是亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种多元异构算力设备调度方法、装置、设备及存储介质,能够最大限度的利用各底层硬件资源,提升高通量数据处理模型的处理效率。其具体方案如下:
第一方面,本发明公开了一种多元异构算力设备调度方法,包括:
获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;
根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;
根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
可选的,所述获取多元异构算力设备对应的算子级算力表,包括:
根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表;所述算子池为所述多元异构算力设备对应的算子池;
在所述设备算子映射表的基础上,根据算子在算力设备上的性能构建算子级算力表。
可选的,所述根据算子在算力设备上的性能构建算子级算力表,包括:
通过仿真模拟单秒内算子在相应的算力设备上的最多执行个数,确定算子在相应的算力设备上的性能;其中,算力设备不支持的算子的性能为0。
可选的,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表,包括:
针对算力设备不支持的复杂算子,判断通过该算力设备支持的算子是否能够组合得到所述复杂算子;
若能够组合得到所述复杂算子,则构建该算力设备与所述复杂算子的映射关系。
可选的,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表之前,还包括:
获取多元异构算力设备对应的算子大集合;
对所述算子大集合中的每个算子进行统一的接口封装,得到由统一接口后的算子组成的所述算子池。
可选的,所述对所述算子大集合中的每个算子进行统一的接口封装,包括:
通过定义所述算子大集合中的每个算子的输入、输出和名称,实现对算子的统一接口封装。
可选的,所述获取多元异构算力设备对应的算子大集合,包括:
统计使用的多元异构算力设备中不同类型算力设备对应的算子库支持的算子,得到每类算力设备对应的算子集合;
根据不同类型算力设备对应的算子集合,取并集得到所述多元异构算力设备对应的所述算子大集合。
可选的,所述根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系之前,还包括:
通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,以便根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
可选的,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式之后,还包括:
根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子。
可选的,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还包括:
根据算子耗时情况从所述数据处理模型相关的算子中筛选出耗时较高的目标算子。
可选的,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还包括:
通过比较算子池中的算子与所述数据处理模型相关的算子,从所述数据处理模型相关的算子中筛选出不被多元异构算力设备支持的目标算子。
可选的,所述将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子,包括:
通过预设操作将所述目标算子转换成所述算子池中的算子;所述预设操作包括拆分、变形、替换操作中的一种或几种。
可选的,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,包括:
通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图。
可选的,所述通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图之后,还包括:
通过目标优化方式对所述有向无环图进行性能优化。
可选的,所述根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系,包括:
根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果;
在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系。
可选的,所述根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果,包括:
根据算子间语义关系对数据处理模型中的算子进行算子间的聚簇划分,得到N种划分方式,每种划分方式划分后均得到S个算子簇;
根据算力设备对算子的支持情况对所述多元异构算力设备进行划分,得到M种划分方式,每种划分方式划分后均得到S个设备组;S大于等于2;
根据所述算子的划分方式、所述算力设备的划分方式以及所述算子簇和所述设备组,通过动态规划方法筛选出算子簇与设备组的最优映射关系。
可选的,所述通过动态规划方法筛选出算子簇与设备组的最优映射关系,包括:
通过依次组合算子的每种划分方式和算力设备的每种划分方式,并在每个划分方式组合的基础上依次将不同算子簇分别映射到不同设备组上;
利用代价模型计算每种组合的每个映射关系下的时间开销,根据时间开销最少的组合的映射关系,得到算子簇与设备组的最优映射关系。
可选的,所述在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系,包括:
在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系。
可选的,所述在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系,包括:
在所述最优映射关系的基础上,对所述算子簇进行拆分得到多个单独的算子;
根据所述算子级算力表,从所述算子簇对应的设备组中为每个所述单独的算子分配最优的算力设备,得到算子与算力设备的最优映射关系;
根据所述算子簇与设备组的最优映射关系以及所述算子与算力设备的最优映射关系,确定数据处理模型与异构设备的映射关系。
第二方面,本发明公开了一种多元异构算力设备调度装置,包括:
算子级算力表获取模块,用于获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;
部署模块,用于根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;
调度模块,用于根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
第三方面,本发明公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的多元异构算力设备调度方法。
第四方面,本发明公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的多元异构算力设备调度方法。
本发明中,获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
可见,根据多元异构算力设备对应的算子级算力表进行算子到算力设备的部署,能够实现针对多元异构设备的细粒度算力调度,并通过两级聚簇方式实现算子到算力设备的精确部署,最大限度的利用各底层硬件资源,能够有效提升高通量数据处理模型的处理效率,提升数据处理的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种多元异构算力设备调度方法流程图;
图2为本发明提供的一种具体的多元异构算力设备调度方法流程图;
图3为本发明提供的一种具体的多元异构算力设备下数据处理模型流程图;
图4为本发明提供的一种具体的多元异构算力设备调度方法流程图;
图5为本发明提供的一种具体的一级聚簇示意图;
图6为本发明提供的一种具体的二级聚簇示意图;
图7为本发明提供的一种多元异构算力设备调度装置结构示意图;
图8为本发明提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,分布式调度系统无法匹配数据处理模型的动态算力需求,为克服上述技术问题,本发明提出一种多元异构算力设备调度方法,能够最大限度的利用各底层硬件资源,提升高通量数据处理模型的处理效率。
本发明实施例公开了一种多元异构算力设备调度方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低。
本实施例中,首先获取多元异构算力设备对应的算子级算力表,该算子级算力表用于表征算子在不同类型的算力设备上的性能高低,由此后续根据该算子级算力表进行算子在算力设备上的部署能够实现算子级精确部署。
本实施例中,所述获取多元异构算力设备对应的算子级算力表,可以包括:根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表;所述算子池为所述多元异构算力设备对应的算子池;在所述设备算子映射表的基础上,根据算子在算力设备上的性能构建算子级算力表。所述设备算子映射表中包含算力设备与算子的映射关系,所述设备算子映射表用于表征算力设备支持的算子种类。
可以理解的是,计算侧、存储侧、通信侧多样化算力在计算性能、计算特性、拓扑位置等具有明显差异性,导致由不同侧算力处理相同数据对数据处理模型的执行效率不同。通过归纳总结不同数据处理模型的共性,在不同侧算力上实现具有相同功能的算子以充分利用多侧算力,同时也根据不同侧算力在数据流向中的拓扑位置设计具有差异化算力的算子,最终基于现有算力驱动封装构建标准化、多样化算子池。
本实施例中,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表之前,还可以包括:获取多元异构算力设备对应的算子大集合;对所述算子大集合中的每个算子进行统一的接口封装,得到由统一接口后的算子组成的所述算子池。本实施例中,所述获取多元异构算力设备对应的算子大集合,可以包括:统计使用的多元异构算力设备中不同类型算力设备对应的算子库支持的算子,得到每类算力设备对应的算子集合;根据不同类型算力设备对应的算子集合,取并集得到所述多元异构算力设备对应的所述算子大集合。
可以理解的是,以三种异构算力(MLU(寒武纪加速设备),XPU(昆仑加速设备),DTU(燧原加速设备))设备为例,说明如何构建硬件设备的细粒度算力表达。通常每种算力设备都会提供对应的高性能算子库,比如MLU设备提供cnnl高性能算子库,XPU设备会提供xdnn算子库,DTU设备会提供TopsDnn算子库。每一种算子库会提供相应设备的高性能算子。但是各种设备上的算子实现各不相同,算子的性能差距也十分明显,如何用这些算子来表达设备的算力,构建算子级算力表达方法。主要流程如下:
(1)分别统计多元异构设备上高性能算子库的算子支持情况,MLU设备算子支持集合记为M:{op_1,op_2,…,op_n};XPU设备算子支持集合记为X:{op_1,op_2,op_3,…,op_m};DTU设备算子支持集合记为D:{op_1,…,op_k};各算力设备对应的算子库的算子支持情况如下表1所示:
表1
(2)将不同设备上算子支持集合进行合并,取所有集合的并集记为大集合O:{op_1,op_2,…,op_t}=M∪X∪D。
(3)算子的统一表达封装,将集合O中的算子进行统一的接口封装,统一算子对外接口,得到统一算子池。
具体的,本实施例中,所述对所述算子大集合中的每个算子进行统一的接口封装,可以包括:通过定义所述算子大集合中的每个算子的输入、输出和名称,实现对算子的统一接口封装。即统一算子的输入输出,以便后续调用。
(4)构建多元设备的算子池,集合O中的算子经过统一之后构成标准的算子池,根据不同设备对算子池中的算子支持情况建立设备算子映射表,具体的,可以将设备上支持的算子标记为1,不支持的算子标记为0,如下表2所示:
表2
(5)构建多元设备算子级算力表,分别统计算子池中所有算子在不同的设备上执行性能,通过仿真模拟方式得到每个设备上每秒执行多少个算子,最终构建出多元设备算子级算力表,如下表3所示:
表3
本实施例中,所述根据算子在算力设备上的性能构建算子级算力表,可以包括:通过仿真模拟单秒内算子在相应的算力设备上的最多执行个数,确定算子在相应的算力设备上的性能;其中,算力设备不支持的算子的性能为0。即各设备之间的算子统一表示之后,分别统计这些算子在设备上的性能,统一之后的算子输入输出保持一致;性能具体用每秒执行多少个算子表示,不支持的算子性能为0,最后会得到各个设备上所有算子的算子级算力表。最终基于现有算力驱动封装构建标准化、多样化算子池。
本实施例中,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表,可以包括:针对算力设备不支持的复杂算子,判断通过该算力设备支持的算子是否能够组合得到所述复杂算子;若能够组合得到所述复杂算子,则构建该算力设备与所述复杂算子的映射关系。即对于一些设备上不支持的统一算子,可以首先尝试使用设备上算子的组合,若不支持则标记该算子在设备上不支持。
步骤S12:根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
本实施例中,在得到封装后的统一算子池之后,对于不同的数据处理模型,需要将模型映射到异构设备上执行。可以理解的是,数据处理模型可以表示为不同的算子节点的组合,一个模型由多个算子组合而成,如何把这些算子节点部署映射到异构多元设备上是十分困难的问题。本实施例中,通过两级聚簇的部署策略,确定数据处理模型内各算子与多元异构设备内各设备的映射关系,提高算子到设备部署的精确度和适配度,从而进一步提高数据处理模型的处理效率。两级聚簇可以为先进行一级聚簇,再在第一级聚簇的基础上进行二级聚簇,且二级聚簇的细粒度高于一级聚簇,具体的,一级聚簇可以是多个算子形成的算子组到多个算力设备组成的设备组的部署,二级聚簇则为具体某个算子到某个算力设备的部署,其中,一级聚簇可以是根据子间语义关系以及算力设备对算子的支持情况进行的,二级聚簇可以是根据算子级算力表进行的。即第一级聚簇可以进行算子间聚簇和设备分组,将簇和组进行一一映射,并通过动态规划算法寻找最优的映射。第二级聚簇进行簇内算子和组内设备的部署分配,通过将簇内的算子进行划分合并,并通过多元异构设备的算子级算力表判断设备对算子的支持优先级,把算子分配给优先级最高的设备。
步骤S13:根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
本实施例中,得到数据处理模型与多元异构设备的映射关系后,根据数据处理模型内各算子与多元异构设备内各设备的映射关系,进行多元异构算力设备调度。
本实施例从算力设备的算子池化、算子级部署策略出发,提出多元异构设备的算力调度,解决多元算力硬件调度问题,提升高通量数据处理应用的处理效率。在服务器中部署AI(人工智能,Artificial Intelligence)数据处理模型时采用本实施例的方案,能够充分的利用集群中多类型的设备,有效的提升AI数据处理模型的执行性能,通过在AI服务器上高效利用多种类型的设备资源来支撑深度学习巨大计算力的需求。
由上可见,本实施例中获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
可见,根据多元异构算力设备对应的算子级算力表进行算子到算力设备的部署,能够实现针对多元异构设备的细粒度算力调度,并通过两级聚簇方式实现算子到算力设备的精确部署,最大限度的利用各底层硬件资源,能够有效提升高通量数据处理模型的处理效率,提升数据处理的性能。
本发明实施例公开了一种具体的多元异构算力设备调度方法,参见图2所示,该方法可以包括以下步骤:
步骤S21:获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低。
步骤S22:通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式。
本实施例中,通过对当前使用的数据处理模型进行分析,将数据处理模型转换为统一的目标表达形式;即通过转换模块支持不同的数据模型,转换模块可以将不同的数据模型转换成统一的表达,以便对统一后的表达进行统一的算子融合,算子变换等优化,避免不同的数据处理模型单独的优化,提高了优化效率。
本实施例中,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式之后,还可以包括:根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子。即将模型中的算子进行等价变形变换,根据设备算子映射表中的算子支持情况,将模型中的算子进行拆分变形替换等操作转换成可以利用算子池中算子进行表示。
本实施例中,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还可以包括:根据算子耗时情况从所述数据处理模型相关的算子中筛选出耗时较高的目标算子。即目标算子可以是数据处理模型中耗时较高的算子,通过替换等操作转换成简单算子的组合,以便提高算子计算效率。
本实施例中,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还可以包括:通过比较算子池中的算子与所述数据处理模型相关的算子,从所述数据处理模型相关的算子中筛选出不被多元异构算力设备支持的目标算子。即目标算子可以是数据处理模型中不被多元异构算力设备支持的算子,通过替换等操作转换成可以利用算子池中算子进行表示。
本实施例中,所述将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子,可以包括:通过预设操作将所述目标算子转换成所述算子池中的算子;所述预设操作包括拆分、变形、替换操作中的一种或几种。即具体通过拆分、变形、替换操作中的一种或几种将目标算子转换成算子池中的算子。
本实施例中,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,可以包括:通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图。即上述目标表达形式可以为有向无环图(DAG,DirectedAcyclicGraph),有向无环有较好的框架支持效果,当然也可以是其他形式的数据流图。即本实施例中采用DAG图形式化描述不同数据处理模型的执行调用过程,将整个过程划分为输入节点,计算节点,输出节点等,调度的整个过程也就是数据从输入到计算再到输出的过程。
本实施例中,所述通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图之后,还可以包括:通过目标优化方式对所述有向无环图进行性能优化。如内存优化以及循环融合等优化方法。
步骤S23:根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
例如图3所示,从三个方面对整个调度系统进行改进优化。针对多元异构设备的异质性,构建统一算子池,提出用算子级算力进行设备算力的表达,形成算子级算力表。针对算子聚簇和部署,提出两级聚簇策略来实现算子的聚簇划分,然后通过算子级算力表进行设备的映射。最后对于不同的数据处理模型,设计了桥接转换模块,对于不同框架下的数据处理模型,不同表达形式的数据处理模型,数据转换模块都可以将其转换成统一的DAG图,进一步提高数据处理模型的处理效率。
步骤S24:根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
其中,关于上述步骤S21、S23、S24的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式;根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。通过转换模块支持不同的数据模型,转换模块可以将不同的数据模型转换成统一的表达,以便对统一后的表达进行统一的算子融合,算子变换等优化,避免不同的数据处理模型单独的优化,提高了优化效率。
本发明实施例公开了一种具体的多元异构算力设备调度方法,参见图4所示,该方法可以包括以下步骤:
步骤S31:获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低。
步骤S32:根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果。
本实施例中,所述根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果,可以包括:根据算子间语义关系对数据处理模型中的算子进行算子间的聚簇划分,得到N种划分方式,每种划分方式划分后均得到S个算子簇;根据算力设备对算子的支持情况对所述多元异构算力设备进行划分,得到M种划分方式,每种划分方式划分后均得到S个设备组;S大于等于2;根据所述算子的划分方式、所述算力设备的划分方式以及所述算子簇和所述设备组,通过动态规划方法筛选出算子簇与设备组的最优映射关系。
例如,将异构多元设备组成二维阵列,并进行随机的分组划分,每组包含不同的设备,这样的划分由多种划分可能,记为(mesh1,mesh2,…meshM)。将数据处理模型中的算子进行算子间的聚簇划分,将模型划分成多个不同的阶段,每个阶段包含不同的算子,这样的划分也会由多种组合,记为(stage1,stage2,…stageN)。其中,划分的算子簇的数量与设备组的数量相同,例如图5所示为一种具体的聚簇划分方式,算子划分为3个簇,则设备划分为3个设备组,算力设备包括Ⅰ、Ⅱ、Ⅲ三种类型。
本实施例中,所述通过动态规划方法筛选出算子簇与设备组的最优映射关系,可以包括:通过依次组合算子的每种划分方式和算力设备的每种划分方式,并在每个划分方式组合的基础上依次将不同算子簇分别映射到不同设备组上;利用代价模型计算每种组合的每个映射关系下的时间开销,根据时间开销最少的组合的映射关系,得到算子簇与设备组的最优映射关系。将划分好的簇一一映射到设备的分组上,模型的每一种划分都对应设备的每一种划分,同时,划分确定后还需要依次将不同算子簇分别映射到不同设备组上,例如图5所示,若3个簇3个设备组,则将不同算子簇分别映射到不同设备组上,会有6种情况,通过代价模型计算时间开销,开销=计算时间+通信时间,分别记录每种情况对应的时间开销,然后利用动态规划方法在空间中计算最小的开销,即最优的分配。
步骤S33:在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系。
本实施例中,所述在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系,包括:在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系。即在确定簇与设备组的映射关系基础上,进一步确定具体的算子与具体的算力设备的映射关系。
本实施例中,所述在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系,包括:在所述最优映射关系的基础上,对所述算子簇进行拆分得到多个单独的算子;根据所述算子级算力表,从所述算子簇对应的设备组中为每个所述单独的算子分配最优的算力设备,得到算子与算力设备的最优映射关系;根据所述算子簇与设备组的最优映射关系以及所述算子与算力设备的最优映射关系,确定数据处理模型与异构设备的映射关系。例如图6所示,通过第一级划分可以得到最优的算子聚簇和设备分组的唯一映射,第二级将簇n中的算子进行拆分,表达为统一算子池中的算子形式,判断拆分后的算子在设备组n中各设备上算子支持情况,根据算子级算力表选择性能最高的设备,最后更新设备算子算力。可见,针对多元异构算力隔离问题,本实施例中针对不同数据处理模型,以算子间的语义关系和设备对算子的支持情况,将算子根据功能关联聚簇为独立可分配命名空间,根据应用的功能性和性能需求构建本地命名空间和多区命名空间,实现数据处理模型内算子到多元异构设备内算力设备的映射,实现针对延迟敏感性应用和吞吐量敏感性应用等不同需求的应用提供定制命名空间的目标。
步骤S34:根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
其中,关于上述步骤S31、S34的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果;在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。实现根据设备性能等条件对数据处理模型内算子到多元异构设备内算力设备的映射。
相应的,本发明实施例还公开了一种多元异构算力设备调度装置,参见图7所示,该装置包括:
算子级算力表获取模块11,用于获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;
部署模块12,用于根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;
调度模块13,用于根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
由上可见,本实施例中获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度。
可见,根据多元异构算力设备对应的算子级算力表进行算子到算力设备的部署,能够实现针对多元异构设备的细粒度算力调度,并通过两级聚簇方式实现算子到算力设备的精确部署,最大限度的利用各底层硬件资源,能够有效提升高通量数据处理模型的处理效率,提升数据处理的性能。
在一些具体实施例中,所述算子级算力表获取模块11具体可以包括:
设备算子映射表构建单元,用于根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表;所述算子池为所述多元异构算力设备对应的算子池;
算子级算力表构建单元,用于在所述设备算子映射表的基础上,根据算子在算力设备上的性能构建算子级算力表。
在一些具体实施例中,所述算子级算力表构建单元具体可以包括:
性能计算单元,用于通过仿真模拟单秒内算子在相应的算力设备上的最多执行个数,确定算子在相应的算力设备上的性能;其中,算力设备不支持的算子的性能为0。
在一些具体实施例中,所述设备算子映射表构建单元具体可以包括:
判断单元,用于针对算力设备不支持的复杂算子,判断通过该算力设备支持的算子是否能够组合得到所述复杂算子;
映射关系构建单元,用于若能够组合得到所述复杂算子,则构建该算力设备与所述复杂算子的映射关系。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
算子大集合获取单元,用于获取多元异构算力设备对应的算子大集合;
封装单元,用于对所述算子大集合中的每个算子进行统一的接口封装,得到由统一接口后的算子组成的所述算子池。
在一些具体实施例中,所述封装单元具体可以包括:
定义单元,用于通过定义所述算子大集合中的每个算子的输入、输出和名称,实现对算子的统一接口封装。
在一些具体实施例中,所述算子大集合获取单元具体可以包括:
统计单元,用于统计使用的多元异构算力设备中不同类型算力设备对应的算子库支持的算子,得到每类算力设备对应的算子集合;
算子大集合确定单元,用于根据不同类型算力设备对应的算子集合,取并集得到所述多元异构算力设备对应的所述算子大集合。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
分析单元,用于通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,以便根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
转换单元,用于根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
第一目标算子筛选单元,用于根据算子耗时情况从所述数据处理模型相关的算子中筛选出耗时较高的目标算子。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
第二目标算子筛选单元,用于通过比较算子池中的算子与所述数据处理模型相关的算子,从所述数据处理模型相关的算子中筛选出不被多元异构算力设备支持的目标算子。
在一些具体实施例中,所述转换单元具体可以包括:
操作单元,用于通过预设操作将所述目标算子转换成所述算子池中的算子;所述预设操作包括拆分、变形、替换操作中的一种或几种。
在一些具体实施例中,所述分析单元具体可以包括:
有向无环图生成单元,用于通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图。
在一些具体实施例中,所述多元异构算力设备调度装置具体可以包括:
优化单元,用于通过目标优化方式对所述有向无环图进行性能优化。
在一些具体实施例中,所述部署模块12具体可以包括:
一级聚簇单元,用于根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果;
二级聚簇单元,用于在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系。
在一些具体实施例中,所述一级聚簇单元具体可以包括:
算子划分单元,用于根据算子间语义关系对数据处理模型中的算子进行算子间的聚簇划分,得到N种划分方式,每种划分方式划分后均得到S个算子簇;
设备划分单元,用于根据算力设备对算子的支持情况对所述多元异构算力设备进行划分,得到M种划分方式,每种划分方式划分后均得到S个设备组;S大于等于2;
筛选单元,用于根据所述算子的划分方式、所述算力设备的划分方式以及所述算子簇和所述设备组,通过动态规划方法筛选出算子簇与设备组的最优映射关系。
在一些具体实施例中,所述筛选单元具体可以包括:
映射单元,用于通过依次组合算子的每种划分方式和算力设备的每种划分方式,并在每个划分方式组合的基础上依次将不同算子簇分别映射到不同设备组上;
计算单元,用于利用代价模型计算每种组合的每个映射关系下的时间开销,根据时间开销最少的组合的映射关系,得到算子簇与设备组的最优映射关系。
在一些具体实施例中,所述二级聚簇单元具体可以包括:
分配单元,用于在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系。
在一些具体实施例中,所述分配单元具体可以包括:
拆分单元,用于在所述最优映射关系的基础上,对所述算子簇进行拆分得到多个单独的算子;
最优映射关系确定单元,用于根据所述算子级算力表,从所述算子簇对应的设备组中为每个所述单独的算子分配最优的算力设备,得到算子与算力设备的最优映射关系;
数据处理模型与异构设备的映射关系确定单元,用于根据所述算子簇与设备组的最优映射关系以及所述算子与算力设备的最优映射关系,确定数据处理模型与异构设备的映射关系。
进一步的,本发明实施例还公开了一种电子设备,参见图8所示,图中的内容不能被认为是对本发明的使用范围的任何限制。
图8为本发明实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的多元异构算力设备调度方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括算子级算力表在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的多元异构算力设备调度方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本发明实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的多元异构算力设备调度方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种多元异构算力设备调度方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (21)
1.一种多元异构算力设备调度方法,其特征在于,包括:
获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;
根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;
根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度;
其中,所述根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系之前,还包括:通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,以便根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
2.根据权利要求1所述的多元异构算力设备调度方法,其特征在于,所述获取多元异构算力设备对应的算子级算力表,包括:
根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表;所述算子池为所述多元异构算力设备对应的算子池;
在所述设备算子映射表的基础上,根据算子在算力设备上的性能构建算子级算力表。
3.根据权利要求2所述的多元异构算力设备调度方法,其特征在于,所述根据算子在算力设备上的性能构建算子级算力表,包括:
通过仿真模拟单秒内算子在相应的算力设备上的最多执行个数,确定算子在相应的算力设备上的性能;其中,算力设备不支持的算子的性能为0。
4.根据权利要求2所述的多元异构算力设备调度方法,其特征在于,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表,包括:
针对算力设备不支持的复杂算子,判断通过该算力设备支持的算子是否能够组合得到所述复杂算子;
若能够组合得到所述复杂算子,则构建该算力设备与所述复杂算子的映射关系。
5.根据权利要求2所述的多元异构算力设备调度方法,其特征在于,所述根据多元异构算力设备中不同算力设备对算子池中每种算子的支持情况,构建所述多元异构算力设备对应的设备算子映射表之前,还包括:
获取多元异构算力设备对应的算子大集合;
对所述算子大集合中的每个算子进行统一的接口封装,得到由统一接口后的算子组成的所述算子池。
6.根据权利要求5所述的多元异构算力设备调度方法,其特征在于,所述对所述算子大集合中的每个算子进行统一的接口封装,包括:
通过定义所述算子大集合中的每个算子的输入、输出和名称,实现对算子的统一接口封装。
7.根据权利要求5所述的多元异构算力设备调度方法,其特征在于,所述获取多元异构算力设备对应的算子大集合,包括:
统计使用的多元异构算力设备中不同类型算力设备对应的算子库支持的算子,得到每类算力设备对应的算子集合;
根据不同类型算力设备对应的算子集合,取并集得到所述多元异构算力设备对应的所述算子大集合。
8.根据权利要求1所述的多元异构算力设备调度方法,其特征在于,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式之后,还包括:
根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子。
9.根据权利要求8所述的多元异构算力设备调度方法,其特征在于,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还包括:
根据算子耗时情况从所述数据处理模型相关的算子中筛选出耗时较高的目标算子。
10.根据权利要求8所述的多元异构算力设备调度方法,其特征在于,所述根据所述多元异构算力设备对应的设备算子映射表,将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子之前,还包括:
通过比较算子池中的算子与所述数据处理模型相关的算子,从所述数据处理模型相关的算子中筛选出不被多元异构算力设备支持的目标算子。
11.根据权利要求8所述的多元异构算力设备调度方法,其特征在于,所述将数据处理模型中的目标算子转换成所述多元异构算力设备对应的算子池中的算子,包括:
通过预设操作将所述目标算子转换成所述算子池中的算子;所述预设操作包括拆分、变形、替换操作中的一种或几种。
12.根据权利要求1所述的多元异构算力设备调度方法,其特征在于,所述通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,包括:
通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图。
13.根据权利要求12所述的多元异构算力设备调度方法,其特征在于,所述通过对使用的数据处理模型进行分析构建数据流图,将所述数据处理模型均转换为有向无环图之后,还包括:
通过目标优化方式对所述有向无环图进行性能优化。
14.根据权利要求1-13任一项所述的多元异构算力设备调度方法,其特征在于,所述根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系,包括:
根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果;
在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系。
15.根据权利要求14所述的多元异构算力设备调度方法,其特征在于,所述根据算子间语义关系以及算力设备对算子的支持情况,对算子到算力设备的部署进行一级聚簇划分,得到一级聚簇划分结果,包括:
根据算子间语义关系对数据处理模型中的算子进行算子间的聚簇划分,得到N种划分方式,每种划分方式划分后均得到S个算子簇;
根据算力设备对算子的支持情况对所述多元异构算力设备进行划分,得到M种划分方式,每种划分方式划分后均得到S个设备组;S大于等于2;
根据所述算子的划分方式、所述算力设备的划分方式以及所述算子簇和所述设备组,通过动态规划方法筛选出算子簇与设备组的最优映射关系。
16.根据权利要求15所述的多元异构算力设备调度方法,其特征在于,所述通过动态规划方法筛选出算子簇与设备组的最优映射关系,包括:
通过依次组合算子的每种划分方式和算力设备的每种划分方式,并在每个划分方式组合的基础上依次将不同算子簇分别映射到不同设备组上;
利用代价模型计算每种组合的每个映射关系下的时间开销,根据时间开销最少的组合的映射关系,得到算子簇与设备组的最优映射关系。
17.根据权利要求15所述的多元异构算力设备调度方法,其特征在于,所述在所述一级聚簇划分结果基础上,根据所述算子级算力表对算子到算力设备的部署进行二级聚簇划分,以得到数据处理模型与多元异构设备的映射关系,包括:
在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系。
18.根据权利要求17所述的多元异构算力设备调度方法,其特征在于,所述在所述最优映射关系的基础上,根据所述算子级算力表从所述设备组中为所述算子簇中的算子分配最优的算力设备,以确定所述数据处理模型与多元异构设备的映射关系,包括:
在所述最优映射关系的基础上,对所述算子簇进行拆分得到多个单独的算子;
根据所述算子级算力表,从所述算子簇对应的设备组中为每个所述单独的算子分配最优的算力设备,得到算子与算力设备的最优映射关系;
根据所述算子簇与设备组的最优映射关系以及所述算子与算力设备的最优映射关系,确定数据处理模型与异构设备的映射关系。
19.一种多元异构算力设备调度装置,其特征在于,包括:
算子级算力表获取模块,用于获取多元异构算力设备对应的算子级算力表;所述算子级算力表用于表征算子在不同类型的算力设备上的性能高低;
部署模块,用于根据所述算子级算力表通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系;
调度模块,用于根据所述数据处理模型与多元异构设备的映射关系进行多元异构算力设备调度;
所述装置,还用于通过对使用的数据处理模型进行分析,将所述数据处理模型转换为统一的目标表达形式,以便根据所述目标表达形式和所述算子级算力表,通过两级聚簇方式将数据处理模型相关的算子部署到相应的算力设备上,以得到数据处理模型与多元异构设备的映射关系。
20.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至18任一项所述的多元异构算力设备调度方法。
21.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至18任一项所述的多元异构算力设备调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974724.5A CN116700934B (zh) | 2023-08-04 | 2023-08-04 | 一种多元异构算力设备调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310974724.5A CN116700934B (zh) | 2023-08-04 | 2023-08-04 | 一种多元异构算力设备调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700934A CN116700934A (zh) | 2023-09-05 |
CN116700934B true CN116700934B (zh) | 2023-11-07 |
Family
ID=87843650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310974724.5A Active CN116700934B (zh) | 2023-08-04 | 2023-08-04 | 一种多元异构算力设备调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700934B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084140A (zh) * | 2020-09-03 | 2020-12-15 | 中国人民大学 | 一种异构系统中细粒度流数据处理方法和系统 |
WO2022171082A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国移动通信有限公司研究院 | 信息处理方法、装置、系统、电子设备及存储介质 |
CN115202868A (zh) * | 2022-06-09 | 2022-10-18 | 中国电子科技集团公司第十五研究所 | 一种自主可控异构智能计算服务平台及智能场景匹配方法 |
CN115237581A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种面向异构算力的多策略智能调度方法和装置 |
CN115794359A (zh) * | 2021-09-09 | 2023-03-14 | 深圳致星科技有限公司 | 用于联邦学习的异构系统及处理方法 |
CN115983359A (zh) * | 2023-02-03 | 2023-04-18 | 展讯通信(上海)有限公司 | 异构计算调度方法及装置、计算机可读存储介质 |
CN116166405A (zh) * | 2023-04-21 | 2023-05-26 | 北京燧原智能科技有限公司 | 异构场景下的神经网络任务调度策略确定方法及装置 |
-
2023
- 2023-08-04 CN CN202310974724.5A patent/CN116700934B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084140A (zh) * | 2020-09-03 | 2020-12-15 | 中国人民大学 | 一种异构系统中细粒度流数据处理方法和系统 |
WO2022171082A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国移动通信有限公司研究院 | 信息处理方法、装置、系统、电子设备及存储介质 |
CN115794359A (zh) * | 2021-09-09 | 2023-03-14 | 深圳致星科技有限公司 | 用于联邦学习的异构系统及处理方法 |
CN115202868A (zh) * | 2022-06-09 | 2022-10-18 | 中国电子科技集团公司第十五研究所 | 一种自主可控异构智能计算服务平台及智能场景匹配方法 |
CN115237581A (zh) * | 2022-09-21 | 2022-10-25 | 之江实验室 | 一种面向异构算力的多策略智能调度方法和装置 |
CN115983359A (zh) * | 2023-02-03 | 2023-04-18 | 展讯通信(上海)有限公司 | 异构计算调度方法及装置、计算机可读存储介质 |
CN116166405A (zh) * | 2023-04-21 | 2023-05-26 | 北京燧原智能科技有限公司 | 异构场景下的神经网络任务调度策略确定方法及装置 |
Non-Patent Citations (3)
Title |
---|
A_Method_of_Estimating_Transmission_Line_Parameters_Using_Cloud_Computing_Based_on_Distributed_Intelligence;Yuefeng Sun Etc.;2018 IEEE 17th International Conference on Cognitive Informatics & Cognitive Computing (ICCI*CC);全文 * |
分布式训练系统及其优化算法综述;王恩东 等;计算机学报;全文 * |
异构云环境下基于分簇的云资源感知任务调度方案;江务学;魏文国;丁度坤;李菲;;计算机应用研究(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116700934A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122490B (zh) | 一种分组查询中聚合函数的数据处理方法及系统 | |
CN111654416B (zh) | 一种物联网测试云平台和方法 | |
JP2014525640A (ja) | 並列処理開発環境の拡張 | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN113177034A (zh) | 一种跨平台统一的分布式图数据处理方法 | |
CN115457226A (zh) | 矢量地图生成方法、装置、电子设备和可读存储介质 | |
CN106462585A (zh) | 用于特定列物化调度的系统和方法 | |
CN116700920A (zh) | 云原生混合部署集群资源调度方法及装置 | |
CN104166701A (zh) | 机器学习方法及系统 | |
CN103164476A (zh) | 一种bi应用元数据描述文件的执行方法和装置 | |
CN116956756B (zh) | 模型部署方法、任务处理方法、装置、设备及存储介质 | |
CN113010296B (zh) | 基于形式化模型的任务解析与资源分配方法及系统 | |
CN116700934B (zh) | 一种多元异构算力设备调度方法、装置、设备及存储介质 | |
CN112416588B (zh) | 一种基于随机森林算法的资源分配方法 | |
CN109343947A (zh) | 一种资源调度方法及装置 | |
JP2009545043A (ja) | バス接続されたコンシューマとプロデューサとの間でのメッセージ・フローを削減するためのシステム、方法、およびコンピュータ・プログラム | |
CN115952385B (zh) | 用于大规模稀疏方程组求解的并行超节点排序方法及系统 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
CN110958666B (zh) | 基于强化学习的网络切片资源映射方法 | |
CN102253837A (zh) | 基于对象树的软件框架设计技术 | |
CN107168795A (zh) | 基于cpu‑gpu异构复合式并行计算框架的密码子偏差系数模型方法 | |
Yao et al. | Genetic scheduling on minimal processing elements in the grid | |
Bosse | Structural monitoring with distributed-regional and event-based NN-decision tree learning using mobile multi-agent systems and common java script platforms | |
CN110415162B (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 |