一种基于申威异构众核处理器的数据处理方法和系统转让专利

申请号 : CN201910098373.X

文献号 : CN109828790B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢超郭人通易小萌陈婉琴

申请人 : 上海赜睿信息科技有限公司

摘要 :

本发明公开了一种基于申威异构众核处理器的数据处理方法,包括:对用户请求进行分析,将用户请求分解为多个数据处理任务;对数据处理任务进行分类;确定运算核心和存储介质的使用情况;以及根据运算核心和存储介质的使用情况及数据处理任务的分类,将数据处理任务与运算核心及存储介质进行匹配。

权利要求 :

1.一种基于申威异构众核处理器的数据处理方法,包括:

对用户请求进行分析,将用户请求分解为多个数据处理任务;

对数据处理任务进行分类;

确定运算核心和存储介质的使用情况;以及

根据运算核心和存储介质的使用情况及数据处理任务的分类,将数据处理任务与运算核心及存储介质进行匹配。

2.如权利要求1所述的数据处理方法,其特征在于,所述对数据处理任务进行分类包括:根据数据处理任务的并行性将数据处理任务分为A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务,其中A类数据处理任务指的是既能够进行任务并行又能够进行数据并行的任务,B类数据处理任务指的是能够进行任务并行但不能够进行数据并行的任务,C类数据处理任务指的是能够进行数据并行但不能够进行任务并行的任务,D类数据处理任务指的是不能够进行任务并行且不能够进行数据并行的数据任务。

3.如权利要求2所述的数据处理方法,其特征在于,将数据处理任务与运算核心及存储介质进行匹配还包括:对于A类数据处理任务,判断数据处理过程中空间开销是否小于局部数据存储LDM,其中LDM是申威异构众核处理器的从核的局部数据存储;

如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;

如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。

4.如权利要求3所述的数据处理方法,其特征在于,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由主核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于主核的一级缓存。

5.如权利要求3所述的数据处理方法,其特征在于,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由从核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于LDM。

6.如权利要求2所述的数据处理方法,其特征在于,将数据处理任务与运算核心及存储介质进行匹配还包括:对于B类数据处理任务,判断数据处理过程中空间开销是否小于LDM,其中LDM是申威异构众核处理器的从核的局部数据存储;

如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;以及如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。

7.如权利要求2所述的数据处理方法,其特征在于,将数据处理任务与运算核心及存储介质进行匹配还包括:对于C类数据处理任务,判断数据处理过程中空间开销是否小于LDM,其中LDM是申威异构众核处理器的从核的局部数据存储;

如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;

如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。

8.如权利要求7所述的数据处理方法,其特征在于,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由主核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于主核的一级缓存。

9.如权利要求7所述的数据处理方法,其特征在于,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由从核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于LDM。

10.如权利要求2所述的数据处理方法,其特征在于,将数据处理任务与运算核心及存储介质进行匹配还包括:对于D类数据处理任务,将数据放在主存中,由主核对该数据进行处理。

11.如权利要求2所述的数据处理方法,其特征在于,对于可以匹配多种执行模式的数据处理任务,根据系统在执行数据分析任务时各个运算核心的使用情况对数据处理任务进行动态调整。

12.一种用于执行如权利要求1至11中任一项所述的基于申威异构众核处理器的数据处理方法的系统,包括:请求分析模块,用于对用户请求进行分析,将用户请求分解为多个数据处理任务;

任务分类模块,用于将请求分析模块分解出的数据处理任务进行分类;

资源管理模块,用于管理运算核心和存储介质;

任务匹配模块,用于根据数据处理任务的分类以及运算核心和存储介质的使用情况,将任务与运算核心及存储介质进行匹配;以及任务执行模块,根据任务匹配模块的匹配结果,在合适的运算核心和存储介质上执行数据处理任务,并返回用户请求的执行结果。

说明书 :

一种基于申威异构众核处理器的数据处理方法和系统

技术领域

[0001] 本发明涉及数据处理领域,尤其涉及一种基于申威异构众核处理器的数据处理方法和系统。

背景技术

[0002] 申威异构众核处理器是我国自主研制的计算平台,采用片上计算阵列集群和分布式共享存储相结合的异构众核体系结构,通常使用64位自主申威指令系统。
[0003] 申威异构众核处理器具有多种类型、不同数量的运算核心和存储硬件,而数据处理任务又具有多种类型。例如,“申威26010”异构众核处理器集成了4个运算核组共260个运算核心,核组间支持缓存一致性。每个核组包含一个主核和一个从核阵列。从核阵列由64个从核、阵列控制器、二级指令缓存构成。4个核组的物理空间统一编址。处理器还集成了四路128位DDR存储控制器、8通道PCIe、千兆以太网接口和JTAG接口。主核和从核的存储器访问性能、运算能力均不相同。从核阵列的整体运算性能高于主核。
[0004] 因此,在数据处理过程中,需要结合运算核心和存储设备的类型以及数据分析逻辑的特性为执行模式和任务做最佳匹配,提高处理器的系统分析性能。

发明内容

[0005] 本发明旨在针对申威异构众核处理器提出一种数据处理方法。
[0006] 根据本发明的一个方面,提供一种基于申威异构众核处理器的数据处理方法,包括:
[0007] 对用户请求进行分析,将用户请求分解为多个数据处理任务;
[0008] 对数据处理任务进行分类;
[0009] 确定运算核心和存储介质的使用情况;以及
[0010] 根据运算核心和存储介质的使用情况及数据处理任务的分类,将数据处理任务与运算核心及存储介质进行匹配。
[0011] 在本发明的一个实施例中,所述对数据处理任务进行分类包括:根据数据处理任务的并行性将数据处理任务分为A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务,其中A类数据处理任务指的是既能够进行任务并行又能够进行数据并行的任务,B类数据处理任务指的是能够进行任务并行但不能够进行数据并行的任务,C类数据处理任务指的是能够进行数据并行但不能够进行任务并行的任务,D类数据处理任务指的是不能够进行任务并行且不能够进行数据并行的数据任务。
[0012] 在本发明的一个实施例中,将数据处理任务与运算核心及存储介质进行匹配还包括:对于A类数据处理任务,
[0013] 判断数据处理过程中空间开销是否小于局部数据存储LDM;
[0014] 如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;
[0015] 如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。
[0016] 在本发明的一个实施例中,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由主核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于主核的一级缓存。
[0017] 在本发明的一个实施例中,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由从核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于LDM。
[0018] 在本发明的一个实施例中,将数据处理任务与运算核心及存储介质进行匹配还包括:对于B类数据处理任务,
[0019] 判断数据处理过程中空间开销是否小于LDM;
[0020] 如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;以及
[0021] 如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。
[0022] 在本发明的一个实施例中,将数据处理任务与运算核心及存储介质进行匹配还包括:对于C类数据处理任务,
[0023] 判断数据处理过程中空间开销是否小于LDM;
[0024] 如果数据处理过程中空间开销小于LDM,则将数据存放在LDM中,由从核对该数据进行处理;
[0025] 如果数据处理过程中空间开销大于LDM,则将数据存放在主存中,由主核或从核对该数据进行处理。
[0026] 在本发明的一个实施例中,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由主核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于主核的一级缓存。
[0027] 在本发明的一个实施例中,当数据处理过程中空间开销大于LDM时,将数据存放在主存中,由从核对该数据进行处理,将数据分片,数据分片后子数据集的处理过程中空间开销小于LDM。
[0028] 在本发明的一个实施例中,将数据处理任务与运算核心及存储介质进行匹配还包括:对于D类数据处理任务,将数据放在主存中,由主核对该数据进行处理。
[0029] 在本发明的一个实施例中,对于可以匹配多种执行模式的数据处理任务,根据系统在执行数据分析任务时各个运算核心的使用情况对数据处理任务进行动态调整。
[0030] 根据本发明的另一个方面,提供一种用于执行基于申威异构众核处理器的数据处理方法的系统,包括:
[0031] 请求分析模块,用于对用户请求进行分析,将用户请求分解为多个数据处理任务;
[0032] 任务分类模块,用于将请求分析模块分解出的数据处理任务进行分类;
[0033] 资源管理模块,用于管理运算核心和存储介质;
[0034] 任务匹配模块,用于根据数据处理任务的分类以及运算核心和存储介质的使用情况,将任务与运算核心及存储介质进行匹配;以及
[0035] 任务执行模块,根据任务匹配模块的匹配结果,在合适的运算核心和存储介质上执行数据处理任务,并返回用户请求的执行结果。
[0036] 本发明结合了运算核心和存储设备的类型以及数据分析逻辑的特性,对任务执行模式和数据处理任务进行了合理匹配,提高了数据处理性能。

附图说明

[0037] 为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
[0038] 图1示出根据本发明的一个实施例的基于申威异构众核处理器的数据处理方法的流程图。
[0039] 图2示出根据本发明的一个实施例的将A类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0040] 图3示出根据本发明的一个实施例的将B类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0041] 图4示出根据本发明的一个实施例的将C类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0042] 图5示出根据本发明的一个实施例的基于申威异构众核处理器的数据处理系统的框图。

具体实施方式

[0043] 在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。
[0044] 在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
[0045] 本发明旨在针对申威异构众核处理器提出一种数据处理方法,由于申威异构众核处理器具有多种类型、不同数量的运算核心和存储硬件,而数据处理任务又具有多种类型,因此,需要结合运算核心和存储设备的类型以及数据分析逻辑的特性为执行模式和任务做最佳匹配,提高处理器的系统分析性能。
[0046] 申威异构众核处理器集成了若干个运算核组,每个核组包含1个主核和由多个从核构成的从核阵列。主核是运算控制核心,从核阵列是运算核心阵列。从核阵列的整体运算性能高于主核。存储系统包括主存和每个从核的LDM(LOCAL DATA MEMORY,局部数据存储)。主存的存储空间远大于从核的LDM。由于主核和从核均可以访问主存和LDM,因此,可根据运算核心和存储设备的类型对申威众核芯片的任务执行模式进行分类。
[0047] 申威异构众核处理器的任务执行模式可以分为4种:主核处理主存数据,主核处理LDM数据,从核处理主存数据,从核处理LDM数据。这四种执行模式具有不同的存储空间大小、存储访问性能以及运算能力,因此对数据的处理能力也不同。
[0048] 另一方面,需要结合数据分析逻辑的特性为数据处理任务进行分类。可从任务并行性和数据并行性两个方面进行分类。任务并行指的是多个运算核心可以并行对同一数据进行处理,从而加速数据处理过程。数据并行指的是可将待分析数据进行分片。分片后的每个数据片可以由单个运算核心进行处理,从而可以通过多个核心并行处理数据分片的方式对任务执行进行并行加速。对于同一个数据分析任务,其可能既能够数据并行又能够任务并行。所以,可将数据处理任务按照任务是否可并行和数据是否可并行分为四类。为了方便后面的说明,规定A类数据处理任务,指的是既可以进行任务并行又可以进行数据并行的任务,B类数据处理任务,指的是可以进行任务并行但不可以进行数据并行的任务,C类数据处理任务,指的是可以进行数据并行但不可以进行任务并行的任务,D类数据处理任务,指的是不可以进行任务并行且不可以进行数据并行的数据任务。如表1所示。
[0049]
[0050]
[0051] 表1数据处理任务分类
[0052] 在明确了处理器的任务执行模式和数据处理任务的特征之后,可完成对出数据处理任务进行分配。
[0053] 图1示出根据本发明的一个实施例的基于申威异构众核处理器的数据处理方法的流程图。首先,在步骤110,对用户请求进行分析,将用户请求分解为多个数据处理任务。
[0054] 接下来,在步骤120对数据处理任务进行分类。具体而言,根据数据处理任务的并行性将数据处理任务分为A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务。A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务的具体含义可参照上文的描述。
[0055] 在步骤130,确定运算核心和存储介质的使用情况。资源管理模块负责管理运算核心和存储介质。因此,可从资源管理模块获取运算核心和存储介质的使用情况。
[0056] 在步骤140,根据运算核心和存储介质的使用情况及数据处理任务的分类,将数据处理任务与运算核心及存储介质进行匹配。
[0057] 具体而言,图2示出根据本发明的一个实施例的将A类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0058] 首先,在步骤210,判断数据处理过程中空间开销是否小于LDM。如果数据处理过程中空间开销小于LDM,则在步骤220,将数据存放在LDM中,由从核对该数据进行处理。由于A类数据处理任务可以进行任务并行,所以可以选择由多个从核并行处理A类数据处理任务。
[0059] 如果数据处理过程中空间开销大于LDM,则在步骤230,将数据存放在主存中。可以由主核或从核对该数据进行处理。在由主核对该数据进行处理的情况下,在步骤240,将数据分片,数据分片后子数据集的处理过程中空间开销要小于主核的一级缓存。
[0060] 在由从核对该数据进行处理的情况下,在步骤250,将数据分片,数据分片后子数据集的处理过程中的空间开销小于LDM。
[0061] 在本发明的一个实施例中,在资源允许的情况下,优先选择从核阵列对数据进行处理。
[0062] 图3示出根据本发明的一个实施例的将B类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0063] 首先,在步骤310,判断数据处理过程中空间开销是否小于LDM。如果数据处理过程中空间开销小于LDM,则在步骤320,将数据存放在LDM中,由从核对该数据进行处理。由于B类数据处理任务可以进行任务并行,所以可以选择由多个从核并行处理B类数据处理任务。
[0064] 如果数据处理过程中空间开销大于LDM,则在步骤330,将数据存放在主存中。可以由主核或从核对该数据进行处理。
[0065] 在本发明的一个实施例中,在资源允许的情况下,优先选择从核对数据进行处理。
[0066] 图4示出根据本发明的一个实施例的将C类数据处理任务与运算核心及存储介质进行匹配的方法的流程图。
[0067] 首先,在步骤410,判断数据处理过程中空间开销是否小于LDM。如果数据处理过程中空间开销小于LDM,则在步骤420,将数据存放在LDM中,由从核对该数据进行处理。C类数据处理任务虽然不可以进行任务并行但是可以进行数据并行。简单的来说,可以将整个数据集合拆分为多个小的数据分片,通过对每个数据分片进行单独的处理就可以完成对整个数据集合的处理任务。所以,C类数据处理任务可以由一个或多个从核完成。每个从核依次完成一个或者多个数据片的处理操作。
[0068] 如果数据处理过程中空间开销大于LDM,则在步骤430,将数据存放在主存中。可以由主核或从核对该数据进行处理。在由主核对该数据进行处理的情况下,在步骤440,将数据分片,数据分片后子数据集的处理过程中空间开销要小于主核的一级缓存。
[0069] 在由从核对该数据进行处理的情况下,在步骤450,将数据分片,需要适当的选择数据分片大小,数据分片后子数据集的处理过程中的空间开销小于LDM。
[0070] 在本发明的一个实施例中,在资源允许的情况下,优先选择从核对数据进行处理。
[0071] 对于D类数据处理任务,将数据放在主存中,由主核对该数据进行处理。
[0072] 在上述匹配方法的基础之上,对于可以匹配多种执行模式的数据处理任务,可以根据系统在执行数据分析任务时各个运算核心的使用情况对数据处理任务进行动态调整。在资源允许的情况下,根据上述对应关系优先选择执行性能高的执行模式,例如优选选择从核完成数据处理任务;否则,根据运算核心的使用情况,选择未被使用或使用率低的硬件组合执行任务。
[0073] 通过上述的匹配方法,能够充分发挥出处理器的计算能力,提高国产众核处理器应用水平。
[0074] 返回图1,在步骤150,在合适的运算核心和存储介质上执行数据处理任务,并返回用户请求的执行结果。
[0075] 可以把上述各实施例提供为可包括其上存储有机器可执行指令的一个或多个机器可读介质的计算机程序产品,这些指令在由诸如计算机、计算机网络或其他电子设备等的一个或多个机器执行时,可以引起一个或多个机器执行根据本发明的各实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(紧致盘只读存储器)和磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪速存储器或适用于存储机器可执行指令的其他类型的介质/机器可读介质。
[0076] 此外,可以作为计算机程序产品下载各实施例,其中,可以经由通信链路(例如,调制解调器和/或网络连接)由载波或其他传播介质实现和/或调制的一种或多种数据信号把程序从远程计算机(例如,服务器)传输给请求计算机(例如,客户机)。因此,在此所使用的机器可读介质可以包括这样的载波,但对此不作要求。
[0077] 图5示出根据本发明的一个实施例的基于申威异构众核处理器的数据处理系统的框图。
[0078] 如图5所示,请求分析模块510对用户请求进行分析,将用户请求分解为多个数据处理任务。任务分类模块520将请求分析模块分解出的数据处理任务进行分类,根据数据处理任务的并行性将数据处理任务分为A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务。A类数据处理任务、B类数据处理任务、C类数据处理任务或D类数据处理任务的具体含义可参照上文的描述。资源管理模块530用于管理运算核心和存储介质,根据运算核心和存储介质的使用情况在任务匹配模块540中对任务进行调度。任务匹配模块540根据数据处理任务的分类以及运算核心和存储介质的使用情况,将任务与运算核心及存储介质进行匹配。具体匹配方法可参照上文的描述。任务执行模块550根据任务匹配模块540的匹配结果,在合适的运算核心和存储介质上执行数据处理任务,并返回用户请求的执行结果。
[0079] 本发明公开的基于申威异构众核处理器的数据处理方法和系统结合了运算核心和存储设备的类型以及数据分析逻辑的特性,对任务执行模式和数据处理任务进行了合理匹配,能够充分发挥出处理器的计算能力,提高了数据处理性能。
[0080] 尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。