数据处理方法及系统与流程

文档序号:23151954发布日期:2020-12-04 13:47阅读:140来源:国知局
数据处理方法及系统与流程

本申请涉及计算机技术领域,特别是涉及数据处理方法及系统。



背景技术:

当前,大数据应用方兴未艾,涌现出了以hadoop、spark、flink等为代表的开大数据处理框架,大体上它们致力于解决大数据量的存储、批量计算、传统机器学习、图计算等方面的问题。另一方面,以深度学习为代表的人工智能技术在图像、视频、语音、文本方面大显身手,涌现出了以tensorflow和pytorch等为代表的深度学习框架。

事实上,结构化数据的存储与计算普遍在以hadoop/spark为代表的大数据处理框架中完成,这些大数据处理框架与以tensoflow/pytorch为代表的深度学习框架,在数据融合上天然存在割裂,这是大数据与深度学习两个社区都面临的问题。

以hadoop/spark为代表的大数据处理框架具备大数据处理能力,可是还不具有深度学习的能力。而tensorflow/pytorch等深度学习框架只具有深度学习能力,对大数据的预处理能力弱。由于两类框架各自的优势与局限,在大数据智能领域中,如图1所示,搭建两套环境,一套在cpu环境中搭建大数据处理框架集群,另一套在gpu(graphicsprocessingunit,图形处理器)环境搭建深度学习框架集群。具体运行时,使用大数据处理框架集群完成所有样本数据的预处理,并将得到的全部预处理数据写入磁盘。然后将大数据处理框架集群磁盘中的全部预处理数据拷贝到深度学习框架集群的磁盘中。深度学习框架集群从本地环境磁盘读取数据,然后进行深度学习模型训练。将训练所得深度学习模型迁移到大数据处理框架集群,基于该深度学习模型完成后续的环节。

而然,发明人在研究中发现,采用上述方法虽然利用了大数据处理框架与深度学习框架各自的优点,但是仅是将两个框架做了简单的“相加”,深度学习模型的训练效率依旧较低。



技术实现要素:

本申请实施例的目的在于提供一种数据处理方法及系统,以实现增加深度学习模型的训练效率。具体技术方案如下:

第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:

基于cpu的分布式大数据处理框架集群为自身的各预处理进程分配待处理的样本数据,其中,针对每一预处理进程,该预处理进程分配的待处理的样本数据存储在该预处理进程对应的缓存分区上;

针对每一预处理进程,所述基于cpu的分布式大数据处理框架集群利用该预处理进程对其对应的缓存分区中的样本数据进行预处理;

当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,所述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向基于gpu的深度学习框架集群发送所述分区预处理数据;

所述基于gpu的深度学习框架集群在接收到所述分区预处理数据后,基于所述分区预处理数据对预设深度学习模型进行训练。

在一种可能的实施方式中,所述当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,所述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向基于gpu的深度学习框架集群发送所述分区预处理数据,包括:

当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,所述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,其中,所述分区预处理数据包括多个单元数据;并向基于gpu的深度学习框架集群发送所述分区预处理数据的各单元数据。

在一种可能的实施方式中,所述基于gpu的深度学习框架集群在接收到所述分区预处理数据后,基于所述分区预处理数据对预设深度学习模型进行训练,包括:

所述基于gpu的深度学习框架集群利用多线程方式将接收的单元数据存储到共享内存中,同时利用所述共享内存中的单元数据对预设深度学习模型进行训练。

在一种可能的实施方式中,所述预设格式为apachearrow格式,所述单元数据为arrowrecordbatch单元数据;

所述向基于gpu的深度学习框架集群发送所述分区预处理数据的各单元数据,包括:利用socket客户端向基于gpu的深度学习框架集群中的socket服务端发送所述分区预处理数据的各arrowrecordbatch单元数据;

所述基于gpu的深度学习框架集群利用多线程方式将接收的单元数据存储到共享内存中,包括:所述基于gpu的深度学习框架集群利用多线程方式将自身的socket服务端接收的arrowrecordbatch单元数据存储到共享内存中。

在一种可能的实施方式中,所述基于cpu的分布式大数据处理框架集群为基于cpu的apachespark框架集群,所述基于gpu的深度学习框架集群为基于gpu的tensorflow框架集群。

第二方面,本申请实施例提供了一种数据处理系统,所述系统包括:

基于cpu的分布式大数据处理框架集群及基于gpu的深度学习框架集群,所述基于cpu的分布式大数据处理框架集群包括多个预处理进程;

所述基于cpu的分布式大数据处理框架集群,用于获取样本数据,为各所述预处理进程分配待处理的样本数据,其中,针对每一预处理进程,为该预处理进程分配的样本数据存储在该预处理进程对应的缓存分区上;利用各所述预处理进程分别对各自对应的缓存分区中的样本数据进行处理;当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向所述基于gpu的深度学习框架集群发送所述分区预处理数据;

所述基于gpu的深度学习框架集群,用于在接收到所述分区预处理数据后,基于所述分区预处理数据对预设深度学习模型进行训练。

在一种可能的实施方式中,所述基于cpu的分布式大数据处理框架集群,具体用于:当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,其中,所述分区预处理数据包括多个单元数据;并向基于gpu的深度学习框架集群发送所述分区预处理数据的各单元数据。

在一种可能的实施方式中,所述基于gpu的深度学习框架集群,具体用于:利用多线程方式将接收的单元数据存储到共享内存中,同时利用所述共享内存中的单元数据对预设深度学习模型进行训练。

在一种可能的实施方式中,所述预设格式为apachearrow格式,所述单元数据为arrowrecordbatch单元数据;

所述基于cpu的分布式大数据处理框架集群,具体用于:利用自身的socket客户端向所述基于gpu的深度学习框架集群中的socket服务端发送所述分区预处理数据的各arrowrecordbatch单元数据;

所述基于gpu的深度学习框架集群,具体用于:利用多线程方式将自身的socket服务端接收的arrowrecordbatch单元数据存储到共享内存中。

在一种可能的实施方式中,所述基于cpu的分布式大数据处理框架集群为基于cpu的apachespark框架集群,所述基于gpu的深度学习框架集群为基于gpu的tensorflow框架集群。

本申请实施例提供的数据处理方法及系统,基于cpu的分布式大数据处理框架集群包括多个预处理进程,每个预处理进程分别对自身对应的缓存分区中的样本数据进行处理,当任一缓存分区的样本数据处理完成后,将预处理处理该一缓存分区中的样本数据得到的分区预处理数据发送给基于gpu的深度学习框架集群,基于gpu的深度学习框架集群在接收到分区预处理数据后即时对深度学习模型进行训练。相比于所有样本数据全部预处理完成后在拷贝到基于gpu的深度学习框架集群中,可以实现以单个缓存分区为基本单位的数据传输,减少了基于cpu的大数据处理框架集群因将分布在各个预处理进程中的数据统一收集而造成的性能耗时,同时先预处理完成的分区预处理数据可以先传输给基于gpu的深度学习框架集群进行训练,能够增加深度学习模型的训练效率。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中基于大数据的深度学习模型训练方法的一种示意图;

图2为本申请实施例的数据处理方法的第一种示意图;

图3a为本申请实施例的数据处理方法中深度学习模型训练总时长的一种示意图;

图3b现有技术中深度学习模型训练总时长的一种示意图;

图4为本申请实施例的数据处理方法的第二种示意图;

图5为本申请实施例的数据处理方法的第三种示意图;

图6为本申请实施例的数据处理方法中分区预处理数据传输方式的一种示意图;

图7为本申请实施例的数据处理系统的一种示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,对本申请中的专业术语进行解释。

异构:本申请中指异构计算,就是指cpu+gpu协同计算。

分布式:本申请中指分布式计算,是一套建立在网络上的软件系统,它研究如何把一个需要巨大计算能力才能解决的问题分成许多小的部分,然后将这些小的部分分配给很多计算机处理,最后把这些计算结果综合起来得到最终结果。

大数据处理框架:以hadoop/spark为代表,旨在以分布式方式完成大数据的分析,处理软件。

深度学习框架:以tensorflow/pytorch为代表,旨在围绕深度学习算法模型实现的软件。

apachespark:一种大数据处理框架,是加州伯克利分校开源的类hadoopmapreduce的分布式计算框架,提供了包括sql,ml,graphx等功能。

apachearrow:一种基于内存的列式存储格式,由于其在统一数据存储的功能,大大减少了上层计算框架之间的数据拷贝与转化。

tensorflow:一种采用了数据流图的深度学习框架,由谷歌大脑开发,维护并开源。

现有技术中基于大数据的深度学习模型的训练方法如图1所示,使用大数据处理框架集群完成所有样本数据的预处理,并将得到的全部预处理数据写入磁盘。然后将大数据处理框架集群磁盘中的全部预处理数据拷贝到深度学习框架集群的磁盘中。深度学习框架集群从本地环境磁盘读取数据,然后进行深度学习模型训练。将训练所得深度学习模型迁移到大数据处理框架集群,基于该深度学习模型完成后续的环节。而然,基于大数据本身的特征,需要预处理的数据的数据量非常巨大,数据预处理本身会耗费大量的时间,当数据预处理逻辑全部完成后再进行深度学习模型的训练,非常耗时,造成基于大数据的深度学习模型的训练效率较低。

有鉴于此,本申请实施例提供了一种数据处理方法,该方法包括:

基于cpu的分布式大数据处理框架集群为自身的各预处理进程分配待处理的样本数据,其中,针对每一预处理进程,该预处理进程分配的待处理的样本数据存储在该预处理进程对应的缓存分区上;

针对每一预处理进程,上述基于cpu的分布式大数据处理框架集群利用该预处理进程对其对应的缓存分区中的样本数据进行预处理;

当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,上述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向基于gpu的深度学习框架集群发送上述分区预处理数据;

上述基于gpu的深度学习框架集群在接收到上述分区预处理数据后,基于上述分区预处理数据对预设深度学习模型进行训练。

在本申请实施例中,基于cpu的分布式大数据处理框架集群包括多个预处理进程,每个预处理进程分别对自身对应的缓存分区中的样本数据进行处理,当任一缓存分区的样本数据处理完成后,将预处理处理该一缓存分区中的样本数据得到的分区预处理数据发送给基于gpu的深度学习框架集群,基于gpu的深度学习框架集群在接收到分区预处理数据后即时对深度学习模型进行训练。相比于所有样本数据全部预处理完成后在拷贝到基于gpu的深度学习框架集群中,可以实现以单个缓存分区为基本单位的数据传输,减少了基于cpu的大数据处理框架集群因将分布在各个预处理进程中的数据统一收集而造成的性能耗时,同时先预处理完成的分区预处理数据可以先传输给基于gpu的深度学习框架集群进行训练,能够增加深度学习模型的训练效率。

下面进行具体说明,参见图2,图2为本申请实施例的数据处理方法的一种示意图,包括:

s11,基于cpu的分布式大数据处理框架集群为自身的各预处理进程分配待处理的样本数据,其中,针对每一预处理进程,该预处理进程分配的待处理的样本数据存储在该预处理进程对应的缓存分区上。

本申请实施例中的基于cpu的分布式大数据处理框架集群可以为基于cpu搭建的任意分布式大数据处理架构的集群,除了cpu外,分布式大数据处理框架集群还可以包括存储器、网卡等硬件,分布式大数据处理框架集群的具体构建过程可以参见相关技术中的构建过程。在一种可能的实施方式中,上述基于cpu的分布式大数据处理框架集群为基于cpu的apachespark框架集群。

基于cpu的分布式大数据处理框架集群包括多个预处理进程,预处理进程为基于cpu及存储器等硬件资源所允许的预处理程序,用于对样本数据进行预处理。缓存分区为存储器中的一块存储区域,可选的,每个预处理程序对应一个缓存分区,一个缓存分区仅对应一个预处理程序。基于cpu的分布式大数据处理框架集群为每个预处理进程分配全量样本数据中的一部分,针对任一预处理进程,为该预处理进程分配的待处理的样本数据存储在该预处理进程对应的缓存分区上。

s12,针对每一预处理进程,上述基于cpu的分布式大数据处理框架集群利用该预处理进程对其对应的缓存分区中的样本数据进行预处理。

分别利用各预处理进程对其自身的缓存分区中的样本数据进行预处理。此处预处理的形式可以按照实际情况自行设置,例如,可以利用据数挖掘算法等算法,对样本数据进行抽取、清洗及转化等形式的预处理操作。

s13,当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,上述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向基于gpu的深度学习框架集群发送上述分区预处理数据。

各预处理进程分别对自身对应的缓存分区中的样本数据进行预处理,当任一预处理进程完成自身的一缓存分区中样本数据的预处理时,将该预处理进程预处理该一缓存分区中的样本数据所得到的数据转化为预设格式,将转化为预设格式后数据称为分区预处理数据。基于cpu的分布式大数据处理框架集群向基于gpu的深度学习框架集群发送该分区预处理数据。预设格式可以为通过格式,需要保证基于gpu的深度学习框架集群可以识别及利用该格式的数据对深度学习模型进行训练。

基于分配的样本数据的数据量的不同,不同样本数据预处理速度不同,预处理进程自身的处理速度不同等原因,不同预处理进程处理完自身对应的样本数据的时间也可能不同。以预处理进程为数据发送的基本单位,每当一预处理进程完成自身样本数据的预处理时,便将该预处理进程预处理得到的数据转化为预设格式,并发送给基于gpu的深度学习框架集群。

s14,上述基于gpu的深度学习框架集群在接收到上述分区预处理数据后,基于上述分区预处理数据对预设深度学习模型进行训练。

本申请实施例中的基于gpu的深度学习框架集群可以为基于gpu搭建的任意深度学习框架的集群,除了gpu外,深度学习框架集群还可以包括存储器、网卡等硬件,深度学习框架集群的具体构建过程可以参见相关技术中的构建过程。在一种可能的实施方式中,上述基于gpu的深度学习框架集群为基于gpu的tensorflow框架集群。预设深度学习模型为需要训练的深度学习模型,可以根据实际要求自定义设置。

当基于gpu的深度学习框架集群收到第一份分区预处理数据后,便即时利用该分区预处理数据对预设深度学习模型进行训练。而此时基于cpu的分布式大数据处理框架集群中的一些预处理进程可能还在对样本数据进行预处理,因此本申请实施例的整体的深度学习模型训练时间如图3a所示,而利用现有技术的方式,在样本数据全部训练完成后在进行数据拷贝,在得到相同的深度学习模型的情况下,其深度学习模型训练时间如图3b所示。可见本申请实施例可以有效缩短深度学习模型的训练时间,增加深度学习模型的训练效率。

在本申请实施例中,基于cpu的分布式大数据处理框架集群包括多个预处理进程,每个预处理进程分别对自身对应的缓存分区中的样本数据进行处理,当任一缓存分区的样本数据处理完成后,将预处理处理该一缓存分区中的样本数据得到的分区预处理数据发送给基于gpu的深度学习框架集群,基于gpu的深度学习框架集群在接收到分区预处理数据后即时对深度学习模型进行训练。相比于所有样本数据全部预处理完成后在拷贝到基于gpu的深度学习框架集群中,可以实现以单个缓存分区为基本单位的数据传输,减少了基于cpu的大数据处理框架集群因将分布在各个预处理进程中的数据统一收集而造成的性能耗时,同时先预处理完成的分区预处理数据可以先传输给基于gpu的深度学习框架集群进行训练,能够增加深度学习模型的训练效率。

在一种可能的实施方式中,参见图4,上述s13,当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,上述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向基于gpu的深度学习框架集群发送上述分区预处理数据,包括:

s131,当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,上述基于cpu的分布式大数据处理框架集群将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,其中,上述分区预处理数据包括多个单元数据;并向基于gpu的深度学习框架集群发送上述分区预处理数据的各单元数据。

在本申请实施例中,分区预处理数据包括多个单元数据,分区预处理数据以单元数据的形式发送给基于gpu的深度学习框架集群,实现了数据以流水线的形式流动处理,能够提高深度学习模型的训练效率。

在一种可能的实施方式中,参见图4,上述s14,基于gpu的深度学习框架集群在接收到上述分区预处理数据后,基于上述分区预处理数据对预设深度学习模型进行训练,包括:

s141,上述基于gpu的深度学习框架集群利用多线程方式将接收的单元数据存储到共享内存中,同时利用上述共享内存中的单元数据对预设深度学习模型进行训练。

在本申请实施例中,在基于gpu的深度学习框架集群的共享内存存储单元数据的同时就开始训练深度学习模型了,而不是等数据全部放入共享内存后才开始训练。

在本申请实施例中,基于gpu的深度学习框架集群利用多线程方式将接收的单元数据存储到共享内存中,数据以流水线的形式流动处理,同时利用共享内存中的单元数据对深度学习模型进行训练,可以增加深度学习模型训练的即时性,提高深度学习模型的训练效率。

在一种可能的实施方式中,上述预设格式为apachearrow格式,上述单元数据为arrowrecordbatch单元数据;

上述向基于gpu的深度学习框架集群发送上述分区预处理数据的各单元数据,包括:利用socket客户端向基于gpu的深度学习框架集群中的socket服务端发送上述分区预处理数据的各arrowrecordbatch单元数据;

上述基于gpu的深度学习框架集群利用多线程方式将接收的单元数据存储到共享内存中,包括:上述基于gpu的深度学习框架集群利用多线程方式将自身的socket服务端接收的arrowrecordbatch单元数据存储到共享内存中。

apachearrow格式是一种主存中的数据列式存储格式。作为统一的存储格式,apachearrow可以减少上层计算引擎之间数据的相互拷贝和转化耗时。而且,由于apachearrow格式还对原数据做了一定的数据压缩,因此apachearrow格式的网络传输通信量也有一定的减少。arrowrecordbatch是apachearrow格式存储中的一个逻辑单元,它包含特定行数以及所有列的数据,称为arrowrecordbatch单元数据,其中每列以列式形式存储。

在本申请实施例中,利用apachearrow格式实现了数据的分区及份单元发送,并且apachearrow格式对原数据做了一定的数据压缩,能够进一步减少整个深度学习模型的训练时间,从而提高深度学习模型的训练效率。

参见图5,下面以基于cpu的分布式大数据处理框架集群为基于cpu的apachespark框架集群,基于gpu的深度学习框架集群为基于gpu的tensorflow框架集群为例,进行举例说明:

s21,基于cpu的apachespark框架集群为自身的各预处理进程(executor)分配待处理的样本数据,其中,针对每一executor,该executor分配的待处理的样本数据存储在该executor对应的缓存分区(partition)上。

executor是apachespark框架中实现分布式计算的进程,它包含cpu和主存资源,例如图6所示,executor对应有至少一个partition,可以在partition中缓存数据,接受并计算partition上的计算任务。

s22,针对每一executor,基于cpu的apachespark框架集群利用该executor对其对应的partition中的样本数据进行预处理。

executor可以运行据数挖掘算法等,对自身partition中的样本数据进行抽取、清洗及转化等形式的预处理操作。

s23,当任一executor完成自身对应的一缓存分区中的样本数据的预处理时,基于cpu的apachespark框架集群将针对该一缓存分区预处理得到的数据转化为apachearrow格式得到分区预处理数据,其中,分区预处理数据包括多个arrowrecordbatch单元数据;同时基于cpu的apachespark框架集群利用自身的socket客户端向基于gpu的tensorflow框架集群中的socket服务端发送分区预处理数据的各arrowrecordbatch单元数据。

在每个executor进程中,以partition为单位,将各partition的数据转化成arrowrecordbatch单元数据。针对每个partition,创建socket客户端向socket服务端发送arrowrecordbatch单元数据。

s24,基于gpu的tensorflow框架集群利用多线程方式将自身的socket服务端接收的arrowrecordbatch单元数据存储到共享内存中,并利用共享内存中的数据对预设深度学习模型进行训练。

基于gpu的tensorflow框架集群启动socket服务端,指定ip和端口,同时接收socket服务端的网络数据,生成tensorflowdataset,完成深度学习算法训练。可以使用多线程方式读取apachespark框架集群的partition发送过来的socket数据并存储于共享内存中。同时,开启子进程读取共享内存数据,推进深度学习模型的训练。如此,当apachespark框架集群中的部分partition还在预处理环节时,另一部分partition还在基于socket发送数据时,tensorflow框架集群已经能根据先行到达的socket数据推进深度学习模型的batch算法训练了。形成了一个流水线式的数据传输与深度学习模型训练同步操作,提升了整体的性能。针对batch算法训练深度学习模型,只在第一个epoch数据采用这样的流水训练,这是因为从第二个epoch开始,基于gpu的tensorflow框架集群中的数据已经完整收齐了,数据缓存在gpu中,无需再通过网络传输获取。

本申请实施例还提供了一种数据处理系统,参见图7,该系统包括:

基于cpu的分布式大数据处理框架集群701及基于gpu的深度学习框架集群702,上述基于cpu的分布式大数据处理框架集群包括多个预处理进程7011;

上述基于cpu的分布式大数据处理框架集群701,用于获取样本数据,为各上述预处理进程7011分配待处理的样本数据,其中,针对每一预处理进程7011,为该预处理进程7011分配的样本数据存储在该预处理进程7011对应的缓存分区上;利用各上述预处理进程7011分别对各自对应的缓存分区中的样本数据进行处理;当任一预处理进程7011完成自身对应的一缓存分区中的样本数据的预处理时,将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,并向上述基于gpu的深度学习框架集群702发送上述分区预处理数据;

上述基于gpu的深度学习框架集群702,用于在接收到上述分区预处理数据后,基于上述分区预处理数据对预设深度学习模型进行训练。

在一种可能的实施方式中,上述基于cpu的分布式大数据处理框架集群701,具体用于:当任一预处理进程完成自身对应的一缓存分区中的样本数据的预处理时,将针对该一缓存分区预处理得到的数据转化为预设格式得到分区预处理数据,其中,上述分区预处理数据包括多个单元数据;并向基于gpu的深度学习框架集群发送上述分区预处理数据的各单元数据。

在一种可能的实施方式中,上述基于gpu的深度学习框架集群702,具体用于:利用多线程方式将接收的单元数据存储到共享内存中,同时利用上述共享内存中的单元数据对预设深度学习模型进行训练。

在一种可能的实施方式中,上述预设格式为apachearrow格式,上述单元数据为arrowrecordbatch单元数据;

上述基于cpu的分布式大数据处理框架集群701,具体用于:利用自身的socket客户端向上述基于gpu的深度学习框架集群中的socket服务端发送上述分区预处理数据的各arrowrecordbatch单元数据;

上述基于gpu的深度学习框架集群702,具体用于:利用多线程方式将自身的socket服务端接收的arrowrecordbatch单元数据存储到共享内存中。

在一种可能的实施方式中,上述基于cpu的分布式大数据处理框架集群701为基于cpu的apachespark框架集群,上述基于gpu的深度学习框架集群702为基于gpu的tensorflow框架集群。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

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