数据处理方法、系统及存储介质技术方案

技术编号:34935984 阅读:9 留言:0更新日期:2022-09-15 07:33
本申请实施例提供一种数据处理方法、系统及存储介质。在本申请实施例中,一方面,通过将数据处理设备映射为主机的存储设备,并通过映射出的存储设备将主机侧的网络协议卸载至数据处理设备,由数据处理设备对网络数据包进行响应和处理,可降低主机CPU的网络处理压力,有助于防止CPU出现吞吐瓶颈;另一方面,数据处理设备将从网络存储系统获取的数据以直接内存访问(DMA)方式存储至并行处理单元中,实现数据直通并行处理单元,绕开了主机的CPU,可避免CPU对数据的二次复制,降低CPU的数据处理压力,有助于进一步防止CPU出现吞吐瓶颈。有助于进一步防止CPU出现吞吐瓶颈。有助于进一步防止CPU出现吞吐瓶颈。

【技术实现步骤摘要】
数据处理方法、系统及存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据处理方法、系统及存储介质。

技术介绍

[0002]网络存储系统,是一种网上在线存储模式,即把数据存放在服务端(如云服务端)。网络存储一般具有弹性存储空间、高容量和高带宽的优势,逐渐成为人们主要的存储数据渠道。在本地使用数据时,将云上数据下载到本地进行数据处理。
[0003]这种数据处理方式需要本地计算机的通用处理器,如中央处理器(CPU)先从网络存储系统下载到本地磁盘,再将本地磁盘中的数据复制至计算机的系统内存,之后,从系统内存中读取数据进行数据处理。但是,随着数据处理技术的发展,CPU需要处理的数据越来越多,也越快越复杂,极易造成CPU的吞吐瓶颈,从而影响数据处理性能。

技术实现思路

[0004]本申请的多个方面提供一种数据处理方法、系统及存储介质,有助于解决CPU吞吐瓶颈的问题,提高后续数据处理效率。
[0005]本申请实施例提供一种数据处理系统,包括:主机、数据处理设备、并行处理单元及网络存储系统;所述主机分别与所述数据处理设备及所述并行处理单元通信连接;所述数据处理设备与所述网络存储系统网络连接;所述主机用于通过虚拟化技术将所述数据处理设备映射为所述主机的存储设备;并通过映射出的存储设备将所述主机的网络协议卸载至所述数据处理设备;所述数据处理设备与所述网络存储系统网络连接,用于通过所述网络协议访问所述网络存储系统,以获取所述网络存储系统的数据;采用直接内存访问方式将获取的数据存储至所述并行处理单元中。
[0006]本申请实施例还提供一种数据处理方法,包括:通过虚拟化技术将与主机通信连接的数据处理设备映射为所述主机的存储设备;通过映射出的存储设备将所述主机的网络协议卸载至所述数据处理设备;采用直接内存访问方式,将所述数据处理设备通过所述网络协议从网络存储系统获取的数据,存储至所述主机通信连接的并行处理单元中。
[0007]本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据处理方法中的步骤。
[0008]在本申请实施例中,一方面,通过将数据处理设备映射为主机的存储设备,并通过映射出的存储设备将主机侧的网络协议卸载至数据处理设备,由数据处理设备对网络数据包进行响应和处理,可降低主机CPU的网络处理压力,有助于防止CPU出现吞吐瓶颈;另一方面,数据处理设备将从网络存储系统获取的数据以直接内存访问(DMA)方式存储至并行处理单元中,实现数据直通并行处理单元,绕开了主机的CPU,可避免CPU对数据的二次复制,
降低CPU的数据处理压力,有助于进一步防止CPU出现吞吐瓶颈。
附图说明
[0009]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为传统方案中模型训练的数据复制过程示意图;图2为传统方案提供的FUSE架构的网络存储系统访问的过程示意图;图3为本申请实施例提供的数据处理系统的结构示意图;图4为本申请实施例提供的数据处理设备虚拟化过程示意图;图5为本申请实施例提供的数据处理系统的数据处理过程示意图;图6为本申请实施例提供的数据映射关系示意图;图7为本申请实施例提供的文件与数据块之间的关系示意图;图8为本申请实施例提供的数据读取方式示意图;图9为本申请实施例提供的数据直通并行处理单元的IO链路示意图;图10为本申请实施例提供的数据处理系统的工作原理示意图;图11为本申请实施例提供的数据处理方法的流程示意图;图12为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
[0010]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0011]随着数据处理技术的发展,CPU需要处理的数据越来越多,也越快越复杂,极易造成CPU的吞吐瓶颈,从而影响数据处理性能。在一些应用场景中,由于数据处理的数据量规模较大,一般用于数据处理的硬件设备包括:通用处理单元和并行处理单元。通用处理单元一般是进行常规串行处理操作的计算单元,例如,CPU等。并行处理单元常具有较大的并行处理能力,一般用于处理大规模数据流,例如,图像计算或图计算等。并行处理单元的示例可以是图形处理单元(GPU)、人工智能加速单元等具有高速并行计算能力的计算单元,并广泛应用于数据处理中。例如,对神经网络模型训练的场景中,用于神经网络训练的数据规模很大,一般用于神经网络模型训练的硬件设备包括通用处理单元和并行处理单元。
[0012]网络存储具有弹性存储空间、高容量和高带宽的优势,大量的数据处理的数据一般存储于网络存储系统中。在本申请实施例中,不限定网络存储系统的实现形式。在一些实施例中,网络存储系统可包括:云存储系统和其它网络存储系统。云存储系统可为对象存储服务(Object Storage Service,OSS)系统或文件存储系统等。其它网络存储系统可为:网络附属存储(Network Attached Storage,NAS)系统或存储区域网络(Storage Area Network,SAN)存储等。
[0013]在数据处理过程中,主机的中央处理器(CPU)先从网络存储系统下载到本地磁盘,再将本地磁盘中的数据复制至计算机的系统内存或并行处理单元中,但是由于CPU吞吐性
能限制,大规模的数据下载和复制极易造成CPU吞吐瓶颈。
[0014]例如,在复杂的数据处理技术中,考虑到并行处理单元的内存相对较小但并行计算能力强,而通用处理单元的内存相对较大但并行计算能力相对弱,如图1所示,需要主机的CPU先将数据从网络存储系统下载到本地磁盘,再将本地磁盘中的数据复制至CPU内存中,由CPU对规模大的原始数据进行数据预处理(如采样等)得到规模较小的数据;采用并行处理单元(如GPU)对规模较小的数据进行模型训练,得到神经网络模型。具体地,在使用GPU进行模型训练的应用场景中,传统方案在加载数据到GPU的过程中需要在内存中开辟弹性缓存(Bounce Buffer)。CPU需要将数据从网络存储系统读取到弹性缓存,再从弹性缓存复制到GPU中进行模型训练,造成CPU对数据的二次复制。但由于神经网络模型所需的样本数据规模较大,导致CPU需要处理的数据越来越多,造成CPU吞吐瓶颈。因此,如何对CPU进行数据减压防止CPU吞吐瓶颈成为本领域技术人员亟待解决的技术问题。
[0015]本案研究者调研发现在一些传统方案中,使用用户空间的文件系统(File System in User Space)架构将网络存储系统挂载到物理机本地,将对网络存储系统的读取和处理放在单独的用户进程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:通过虚拟化技术将与主机通信连接的数据处理设备映射为所述主机的存储设备;通过映射出的存储设备将所述主机的网络协议卸载至所述数据处理设备;采用直接内存访问方式,将所述数据处理设备通过所述网络协议从网络存储系统获取的数据,存储至所述主机通信连接的并行处理单元中。2.根据权利要求1所述的方法,所述通过虚拟化技术将所述数据处理设备映射为所述主机的存储设备,包括:对所述数据处理设备进行初始化;在对所述数据处理设备初始化过程中,配置所述数据处理设备的身份标识,以将所述数据处理设备映射为所述主机的总线上的虚拟块设备;所述数据处理设备的身份标识中的功能号包括存储介质和网卡的标识;在设备枚举过程中,从所述虚拟块设备的寄存器中获取所述虚拟块设备的功能为存储介质和网卡;加载所述虚拟块设备的功能对应的虚拟块设备驱动,以将所述数据处理设备映射为所述主机的存储设备。3.根据权利要求1所述的方法,所述采用直接内存访问方式,将所述数据处理设备通过所述网络协议从网络存储系统获取的数据,存储至所述主机通信连接的并行处理单元中,包括:所述主机中的网络存储驱动组件回调所述主机的内核驱动程序;所述内核驱动程序将所述并行处理单元的虚拟地址转换为物理地址,并启动所述主机的直接内存访问机制;所述主机中的直接内存访问引擎将所述获取的数据从所述数据处理设备直接写入所述并行处理单元的物理地址。4.根据权利要求3所述的方法,所述通过映射出的存储设备将所述主机的网络协议卸载至所述数据处理设备,包括:将针对所述网络存储系统的访问请求提供给所述映射出的存储设备,以供所述数据处理设备从所述映射出的存储设备获取所述访问请求;并基于所述访问请求,通过所述网络协议访问所述网络存储系统,以获取所述访问请求的待读取数据,作为所述获取的数据。5.根据权利要求4所述的方法,所述将针对所述网络存储系统的访问请求提供给所述映射出的存储设备,包括:所述主机的内核驱动组件接收所述访问请求,并调用所述主机的虚拟文件系统的所述访问接口将所述访问请求传输给所述网络存储驱动组件;所述网络存储驱动组件将针对所述网络存储系统的访问请求提供给所述主机内核中的虚拟块设备驱动;所述虚拟块设备驱动将所述访问请求提供给映射出的存储设备。6.根据权利要求4所述的方法,所述映射出的存储设备为多个;所述将针对所述网络存储系统的访问请求提供给所述映射出的存储设备,包括:根据所述访问请求的待访问数据的文件路径,从多个存储设备中确定所述待访问数据的文件路径对应的目标存储设备;
将所述访问请求提供给所述目标存储设备。7.根据权利要求6所述的方法,所述基于所述访问请求,通过所述网络协议访问所述网络存储系统,以获取所述访问请求的待读取数据,包括:从所述目标存储设备读取所述访...

【专利技术属性】
技术研发人员:周翱梁明旭李强吴耀辉何振华
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1