数据处理方法、装置、计算机设备及存储介质与流程

文档序号:18884586发布日期:2019-10-15 20:41阅读:132来源:国知局
数据处理方法、装置、计算机设备及存储介质与流程

本发明实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。



背景技术:

在进行计算量较大的数据处理时,现有的同构处理器,诸如使用intelxeonhaswell架构的计算集群,针对数据量大,需要多次少量从内存读取数据的算法有无法抗拒的硬件瓶颈;而使用intelxeonphi处理器的计算集群又先天缺失对高主频计算的支持;core系列处理器则存在生命周期短,系统缺乏稳定性的短板。因此,同构处理器无法满足数据量大的处理任务。

由于使用同种架构的处理器,采用相同的编译器,由于处理器自身的局限,系统处理效率和性能低,灵活性与扩展性不足,且系统维护成本高



技术实现要素:

本发明提供一种数据处理方法、装置、计算机设备及存储介质,基于异构处理器平台以实现计算量较大的任务的自适应调度和处理。

第一方面,本发明实施例提供了一种数据处理方法,该数据处理方法包括:

获取数据处理系统的待处理数据,其中,所述数据处理系统包括至少两种架构的处理器;根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,得到待处理子数据;将所述待处理子数据发送给至少一个所述处理器进行处理。

第二方面,本发明实施例还提供了一种数据处理装置,该数据处理装置包括:待处理数据获取模块,用于获取数据处理系统的待处理数据,其中,所述数据处理系统中包括至少两种架构的处理器;数据划分模块,用于根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,得到待处理子数据;数据处理模块,用于将所述待处理子数据发送给至少一个所述处理器进行处理。

第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如本发明任意实施例所提供的数据处理方法。

第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所提供的数据处理方法。

本发明实施例的技术方案,基于异构处理器系统,通过分析待处理数据信息以及各个处理器的特性,对待处理数据进行合理地划分,将划分后的各个子数据发送至优选的处理器进行处理,实现了大任务量的数据负载的自适应调整和分配,数据处理能力强、效率高;且基于异构处理器进行数据处理,系统稳定性、灵活性强。

附图说明

图1a是本发明实施例一中的一种数据处理方法的流程图;

图1b是本发明实施例一中的一种数据处理过程的示意图;

图2a是本发明实施例二中的一种数据处理方法的流程图;

图2b是本发明实施例二中的一种数据处理系统的示意图;

图3是本发明实施例三中的一种数据处理装置的结构示意图;

图4是本发明实施例四中的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于进行数据处理的情况,该方法可以由数据处理装置来执行,具体包括如下步骤:

步骤110、获取数据处理系统的待处理数据,其中,所述数据处理系统包括至少两种架构的处理器。

其中,数据处理系统指的是用于进行数据处理的系统,该系统至少包括两种不同架构的处理器,数据处理系统也可以是异构处理器系统或者异构处理器平台。该系统的异构处理器可以包括intelxeonphi处理器、core系列处理器、intelxeonhaswell处理器或intelxeonscalable处理器中的至少两种,还可以包括fpga(现场可编程门阵列,fieldprogrammablegatearray)。待处理数据可以是医疗影像采集装置的数据,也可以是航空、赛车大数据中心的数据,当然,也可以是任意设备采集的任意行业的数据,本发明实施例对待处理数据的来源不进行限定。

可选的,获取待处理数据可以是通过无线或有线的方式进行获取,可以是通过接口输入,也可以是通过wifi进行获取,本发明实施例对获取的实现方式不进行限定。

采用异构处理器进行数据处理,使得数据处理系统的灵活性高、处理能力强,系统稳定性好。

步骤120、根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,得到待处理子数据。

其中,待处理数据的属性信息可以是待处理数据的类型、维度、计算量等。处理器的特性可以包括处理器的敏感类型,如内存敏感、计算敏感。处理器的特性还可以是处理器的主频率、核心数、内存和带宽等。

可选的,根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,包括:根据所述待处理数据的数据信息,确定所述待处理数据的数据处理类型,其中,所述数据信息包括数据类型、数据维度、所需要计算的数据量、数据备注信息和数据标识信息中的至少一项;根据所述数据处理类型以及各个所述处理器的特性,对所述待处理数据进行划分。

示例性的,可以根据待处理数据的数据类型、维度和计算量,确定待处理数据的处理类型,如是计算敏感还是内存敏感。其中,待处理数据的类型可以根据待处理数据的备注信息或标识信息进行确定,标识信息可以是待处理数据的命名信息。

示例性的,对于图像处理领域,常见的数据类型有图像分割、图像边缘检测、图像域的转换、几何变换以及图像压缩等。待处理数据的数据类型主要用于表征数据处理要实现的功能或者要进行的运算。

其中,待处理数据可以包括多种处理类型或者多个处理节点,每个节点对应一种运算或者处理方式,通过划分后,便可以得到多个待处理子数据。根据待处理数据的处理类型以及各个处理器的特性,将待处理数据划分,将划分后的数据,即待处理子数据分配至与之匹配的处理器进行处理。

可选的,根据所述数据处理类型以及各个所述处理器的特性,对所述待处理数据进行划分,包括:获取所述数据处理类型与各个架构的所述处理器的对应关系;根据所述对应关系及所述数据处理类型,对所述待处理数据进行划分。

其中,获取所述数据处理类型与各个架构的所述处理器的对应关系,包括:通过在各种架构的处理器上分别运行各种数据处理类型的数据,确定各个架构的所述处理器与数据处理类型之间的对应关系。

其中,对应关系可以由用户进行设定或修改。也可以是系统通过学习大量运行在各种架构处理器上的数据的模式或者处理类型,来确定各种架构的处理器匹配的数据处理类型,并建立处理器架构与数据处理类型的对应关系。具体的,可以生成一个查询参数,用以表征数据处理类型和处理器架构的对应关系。还可以是根据经验来进行设置。

其中,对所述待处理数据进行划分,指的是将所述待处理数据按照数据处理类型进行划分,并将划分后每一部分,即每一个待处理子数据,对应至相应的处理器。

步骤130、将所述待处理子数据发送给至少一个所述处理器进行处理。

将划分后的待处理子数据,发送至与之匹配的处理器进行处理。

其中,每个待处理子数据经过划分的步骤,都按照其类型及处理器的特性,将每个待处理子数据与相应的处理器进行了匹配。需要了解的是,一个待处理子数据可以匹配一个、两个或者更多处理器进行处理。当待处理数据仅包括一个待处理子数据时,则将其分配至适合处理该类型数据的处理器,或者将其分配至与之匹配的处理器,进行处理。当存在多个处理器与该数据处理类型的数据匹配时,可以选择任意一个或进行处理,也可以平均分配至所有处理器进行处理,也可以由指定个数的处理器进行处理。

当待处理数据包括多个待处理子数据时,则将每个待处理子数据分配至与之匹配的处理器进行处理,当某个待处理子数据存在多种匹配的处理器时,则可以选择任意一个或进行处理,也可以平均分配至所有处理器进行处理,也可以由指定个数的处理器进行处理。

示例性的,图1b为本发明实施例一中的一种数据处理过程的示意图,如图1b所示,数据处理系统包括推理单元和计算单元。计算单元可以包括四种架构的处理器,分别为:intelxeonhaswell处理器、intelcore处理器、intelxeonscalable处理器及intelxeonphi处理器。这些不同架构的处理器构成了异构处理器平台,且共享同一数据源,即上述的待处理数据。推理单元用于分析待处理数据的数据处理类型并根据数据处理类型对待处理数据进行划分。在进行数据处理之前,推理单元通过深度学习算法确定系统各个架构处理器的数据处理类型,并建立两者的对应关系。

当数据处理系统接收到待处理数据时,首先推理单元识别待处理数据所要进行的处理,即数据类型,如边缘检测、图像分割、几何变换等,再读取待处理数据的维度和计算数据量等信息,根据数据类型、维度和计算数据量等信息来分析该待处理数据各个部分的数据处理类型。根据待处理数据的数据处理类型,对待处理数据进行划分,将划分后的每一部分发送至与之匹配的处理器进行处理。假设待处理数据的为计算敏感类型,则选择高主频的处理器进行处理,如intelxeonhaswell处理器;若为内存敏感类型,则选择高内存带宽、多核心数的处理器进行处理,如intelxeonphi处理器。若待处理数据的第一部分为计算敏感类型,而第二部分为内存敏感类型,则根据类型对待处理数据进行划分,将划分后的待处理子数据按照其类型分配至相应的处理器进行处理。

本发明实施例的技术方案,基于异构处理器系统,通过分析待处理数据信息以及各个处理器的特性,对待处理数据进行合理地划分,将划分后的各个子数据发送至优选的处理器进行处理,实现了大任务量的数据负载的自适应调整和分配,数据处理能力强、效率高;且基于异构处理器进行数据处理,系统稳定性、灵活性强。

实施例二

图2a为本发明实施例二提供的一种数据处理方法的流程图,本实施例的技术方案在上述技术方案的基础上进一步细化和补充,可选的,在将所述待处理子数据发送给至少一个所述处理器进行处理之后,还包括:当所述数据处理系统中的当前处理器的负载超过设定阈值时,将超出所述当前处理器的负载的部分发送至目标处理器进行处理。

如图2a所示,本实施例方法包括:

步骤210、获取数据处理系统的待处理数据,其中,所述数据处理系统包括至少两种架构的处理器。

步骤220、通过所述待处理数据的设定部分数据的预运行,得到所述待处理数据的数据处理类型。

其中,预运行是与数据处理算法运行相对的一种运行,其并不是运行数据的全部,而是对数据的设定部分进行运行。设定部分可以是数据的头部,或者数据各个算法的函数调用的部分,也可是用户规定的部分,或者是默认的部分。

步骤230、根据所述数据处理类型及各个所述处理器的特性,对所述待处理数据进行划分。

步骤240、将所述待处理子数据发送给至少一个所述处理器。

步骤250、根据所述至少一个处理器的特性,对所述待处理子数据的计算粒度进行划分,并根据划分结果进行数据处理。

其中,处理器的特性包括主频率、核心数、内存和带宽等。计算粒度指在处理器中数据的并行度、计算宽度和内存访问模式。

当处理器接收到待处理子数据时,根据处理器自身的特性,对待处理子数据进行计算粒度的进一步划分,并根据划分结果进行数据处理。

示例性的,若处理器为高主频少核心数的处理器,如单核或者双核,则需要将该处理器所处理的待处理子数据的计算粒度划分的高一些,减小数据的并行度,增加计算宽度,使得在处理待处理子数据时,一次可以加载更多的数据,提高处理器每个核心的计算负载,从而提高数据的处理效率。而当处理器为低主频多核心数,如四核甚至更多核时,则需要将该处理器的计算粒度划分的小一些或者说低一些,从而使得每个计算核心的负载减小,提高数据的并行度,加快数据的处理速度。

通过进一步根据处理器的特性,对待处理子数据进行合理的划分,提高了数据处理的速度和效率。

步骤260、当所述数据处理系统中的当前处理器的负载超过设定阈值时,将超出所述当前处理器的负载的部分发送至目标处理器进行处理。

其中,设定阈值可以是根据处理器自身的特性确定的,也可以是由人为设定的,或者是系统默认的。设定阈值可以是固定不变的,也可以是根据处理器的状态或者系统各个处理器目标的负载量进行动态变化的。

当系统中某个处理器的负载超过了设定阈值时,说明该处理器目标所处理的任务量超过了其正常范围或者相对于系统其它处理器来说较多,那么,此时,便需要对其负载进行调整。

可选的,可以将该处理器超出预设的部分发送至其他处理器进行处理,也可以根据各个处理器的负载情况来确定需要调整的部分,或者由用户确定所需要调整的部分。

可选的,目标处理器可以是空闲的处理器或者负载最小的处理器;也可以发送至用户指定的处理器;也可以是与当前处理器架构相同的处理器,进一步的,可以是架构相同的处理器中负载最小的处理器;还可以是性能最为接近的处理器。可选的,目标处理器可以是一个、两个或者多个。本发明实施例对发送至几个处理器或者发送至哪个处理器不进行限定。

示例性的,数据处理系统包括四种架构的处理器,分别为:intelxeonhaswell处理器、intelcore处理器、intelxeonscalable处理器及intelxeonphi处理器。这些不同架构的处理器构成了异构处理器平台,且共享同一数据源,即上述的待处理数据。通过研究这四种处理器的特性,可以获取每个架构处理器的数据处理类型,如intelxeonhaswell处理器为内存敏感型,intelxeonphi处理器为计算敏感型,当然,还可以更为详细地为每个架构的处理器的敏感类型进行评级,如intelxeonhaswell处理器为内存敏感型(4级)、计算敏感型(1级),等级越高,则说明敏感度越高。对于intelxeonhaswell处理器由于其对内存敏感度高,那么其更适合处理数据量小的数据。

明确了各个处理器的处理类型后,当有待处理数据发送至数据处理系统时,可选的,待处理数据可以经数据入口发送至数据处理系统的各个处理器中。数据入口可以是单独指定的一台计算机,也可以是数据处理系统中每台计算机或者处理模块的入口模块。该数据入口包括一个查询参数,用于将各个架构的处理器与数据处理类型映射起来。数据入口可以对待处理数据进行预运行,如运行数据的头文件,通过预运行可以获取待处理数据各个部分的处理类型,再经过查询参数,将待处理数据自适应分配至各个处理器进行处理。

处理器接收到待处理子数据后,还需要根据自身特性对待处理子数据进行进一步划分。若本身为高主频少核心数,则将数据的计算粒度划分的更高,方便一次加载更多数据,提高处理器计算负载。若本身为低主频多核心数,则将数据粒度划分的更细,以此降低每个计算核心的负载。

图2b是本发明实施例二中的一种数据处理系统的示意图,可选的,如图2b所示,可按照架构将处理器分为不同的节点,每个节点为相同架构的处理器,可以是一个或者多个,当待处理数据通过源节点进入每个节点时,各个节点可根据处理器自身的特性为每个处理器分配相应的任务量。当该节点某一处理器的负载超过设定阈值时,即该处理器进行超负荷运行时,可优先将超出的部分发送至该节点其他处理器进行处理。

本发明实施例的技术方案,通过预运行来获取数据处理类型,准确而有针对性地根据数据处理类型对待处理数据进行划分;再根据处理器的特性,进一步对待处理子数据进行合理划分,加快了数据处理的速度;通过对超出设定部分负载的调整,使得系统中处理器不会出现超负荷运行的现象,保障了处理器的使用寿命的同时,合理分配系统各个处理器的任务量,提高了数据处理的效率。

实施例三

图3为本发明实施例三中的一种数据处理装置的结构示意图,如图3所示,数据处理装置包括:待处理数据获取模块310、数据划分模块320和数据处理模块330。

其中,待处理数据获取模块310,用于获取数据处理系统的待处理数据,其中,所述数据处理系统中包括至少两种架构的处理器;数据划分模块320,用于根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,得到待处理子数据;数据处理模块330,用于将所述待处理子数据发送给至少一个所述处理器进行处理。

本发明实施例的技术方案,基于异构处理器系统,通过分析待处理数据信息以及各个处理器的特性,对待处理数据进行合理地划分,将划分后的各个子数据发送至优选的处理器进行处理,实现了大任务量的数据负载的自适应调整和分配,数据处理能力强、效率高;且基于异构处理器进行数据处理,系统稳定性、灵活性强。

可选的,数据划分模块320,包括:

处理类型确定单元,用于根据所述待处理数据的数据信息,确定所述待处理数据的数据处理类型,其中,所述数据信息包括数据类型、数据维度、所需要计算的数据量、数据备注信息和数据标识信息中的至少一项;

数据划分单元,用于根据所述数据处理类型以及各个所述处理器的特性,对所述待处理数据进行划分。

可选的,数据划分单元,包括:

对应关系获取子单元,用于获取所述数据处理类型与各个架构的所述处理器的对应关系;

数据划分子单元,用于根据所述对应关系及所述数据处理类型,对所述待处理数据进行划分。

可选的,对应关系获取子单元,具体用于:

通过在各种架构的处理器上分别运行各种数据处理类型的数据,确定各个架构的所述处理器与数据处理类型之间的对应关系。

可选的,数据划分模块320,具体用于:

通过所述待处理数据的设定部分数据的预运行,得到所述待处理数据的数据处理类型;

根据所述数据处理类型及各个所述处理器的特性,对所述待处理数据进行划分。

可选的,数据处理模块330,具体用于:

将所述待处理子数据发送给至少一个所述处理器;

根据所述至少一个处理器的频率和/或核心数,对所述待处理子数据的计算粒度进行划分,并根据划分结果进行数据处理。

可选的,该数据处理装置,还包括:

负载调整模块,用于在将所述待处理子数据发送给至少一个所述处理器进行处理之后,当所述数据处理系统中的当前处理器的负载超过设定阈值时,将超出所述当前处理器的负载的部分发送至目标处理器进行处理。

本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该设备包括处理器410、存储器420、输入装置430和输出装置440;该设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块(例如,数据处理装置中的待处理数据获取模块310、数据划分模块320和数据处理模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的数据处理方法。

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于接收输入的待处理数据,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备或者用于进行信号传输的接口等,输出装置440用于将划分后的待处理子数据发送至各个用于后续数据处理的异构处理器。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,该方法包括:

获取数据处理系统的待处理数据,其中,所述数据处理系统包括至少两种架构的处理器;

根据所述待处理数据的属性信息以及各个所述处理器的特性,对所述待处理数据进行划分,得到待处理子数据;

将所述待处理子数据发送给至少一个所述处理器进行处理。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述数据处理装置的实施例中,所包括的各个单元、子单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1