CN116402673A - 数据处理方法、系统、计算设备和存储介质 - Google Patents

数据处理方法、系统、计算设备和存储介质 Download PDF

Info

Publication number
CN116402673A
CN116402673A CN202310247889.2A CN202310247889A CN116402673A CN 116402673 A CN116402673 A CN 116402673A CN 202310247889 A CN202310247889 A CN 202310247889A CN 116402673 A CN116402673 A CN 116402673A
Authority
CN
China
Prior art keywords
data processing
data
gpu
processed
computing device
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.)
Pending
Application number
CN202310247889.2A
Other languages
English (en)
Inventor
李强
陈路路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310247889.2A priority Critical patent/CN116402673A/zh
Publication of CN116402673A publication Critical patent/CN116402673A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书一个或多个实施例提供一种数据处理方法、系统、计算设备和存储介质,所述方法应用于计算设备上搭载的数据处理单元;所述方法包括:响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据;进一步将存储的所述待处理数据转存到所述GPU的存储空间中,以由所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。

Description

数据处理方法、系统、计算设备和存储介质
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种数据处理方法、系统、计算设备和存储介质。
背景技术
现如今,计算设备上通常不仅搭载了CPU(Central Processing Unit,中央处理器),还搭载了GPU(Graphics Processing Unit,图形处理器)。GPU是一种微处理器,通常用于执行与图像和图形相关的计算工作。相对于CPU而言,GPU具有更多的ALU(Arithmeticand Logic Unit,算术逻辑单元),因此计算量较大、计算速度较快,但是通常只能执行较为简单的计算工作。
在实际的数据处理任务中,通常需要基于数据进行特定的计算,以实现对该数据的特定的处理。因此,大部分数据处理任务会被交给CPU来完成。然而,对于诸如机器学习中的模型训练等数据处理任务而言,这类数据处理任务所包含的计算工作通常规模较大、相似度较高,与GPU的计算能力的适配度较高。因此,具体如何将这类数据处理任务交给GPU来完成,以减轻CPU的压力,从而提高数据处理效率,也就成为了备受关注的问题。
发明内容
本说明书一个或多个实施例提供技术方案如下:
本说明书提供一种数据处理方法,所述方法应用于计算设备上搭载的数据处理单元;所述方法包括:
响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据;
进一步将存储的所述待处理数据转存到所述GPU的存储空间中,以由所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。
本说明书还提供一种数据处理系统,包括:
与存储设备对接的计算设备,所述计算设备包括GPU和数据处理单元,所述数据处理单元用于执行如上述任一项所述方法的步骤。
本说明书还提供一种计算设备,所述计算设备对接存储设备,包括:
GPU和数据处理单元,所述数据处理单元用于执行如上述任一项所述方法的步骤。
本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,计算设备上可以搭载数据处理单元,由该数据处理单元响应于触发的由该计算设备的GPU执行的数据处理任务,与该计算设备对接的存储设备进行通信,以从该存储设备中获取与该数据处理任务相关的待处理数据,并存储获取到的该待处理数据,后续可以进一步将存储的该待处理数据转存到该计算设备的GPU的存储空间中,以由该计算设备的GPU基于该GPU的存储空间中存储的该待处理数据执行与该数据处理任务对应的数据处理。
采用上述方式,通过在计算设备中增加数据处理单元,由该数据处理单元从与该计算设备对接的存储设备中获取待处理数据,并将该待处理数据转存到该计算设备上搭载的GPU的存储空间中,以由该GPU基于该存储空间中存储的该待处理数据执行对应的数据处理,可以在由计算设备的GPU基于远程设备中存储的数据执行数据处理的情况下,避免该数据在该计算设备的网卡与CPU之间、CPU与GPU之间的转存,从而降低CPU的消耗,减少内存和PCIe总线的占用。此外,由于可以通过该数据处理单元和该GPU之间的交互,实现由该GPU执行数据处理,使得可以降低计算设备的CPU和与CPU对应的内存的配置,减少计算设备的搭建成本。
附图说明
图1是本说明书一示例性实施例示出的一种数据处理系统的示意图。
图2是相关技术中存储设备与计算设备之间的交互示意图。
图3是本说明书一示例性实施例示出的一种数据处理方法的流程图。
图4是本说明书一示例性实施例示出的一种存储设备与计算设备之间的交互示意图。
图5是本说明书一示例性实施例示出的一种计算设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
请参考图1,图1是本说明书一示例性实施例示出的一种数据处理系统的示意图。
如图1所示,上述数据处理系统可以包括至少一个计算设备(Computation Sever)或者由多个互相独立的计算设备构成的计算集群(Computation Cluster),以及至少一个存储设备(Storage Sever)或者由多个互相独立的存储设备构成的存储集群(StorageCluster)。
其中,存储设备可以用于存储数据,具体可以是具备持久化存储介质(例如:硬盘等)等的电子设备;而计算设备则可以用于获取存储设备中存储的数据,并对这些数据进行特定的处理,具体可以是具备CPU、作为与CPU对应的内存的RAM(Random Access Memory,随机存取存储器)、GPU等的电子设备。进一步地,电子设备具体可以是服务器、计算机、智能手机、平板电脑、笔记本电脑等。
除此之外,计算设备与存储设备之间可以通过各种类型的有线和/或无线通信网络建立通信连接,使得计算设备和存储设备可以通过该通信连接进行通信。具体地,计算设备和存储设备都可以具备网卡,以使用网卡建立通信连接。
结合如图1所示的数据处理系统,对于任一诸如机器学习中的模型训练等数据处理任务而言,与该数据处理任务相关的数据可以被存储在存储设备中,而该数据处理任务本身则可以由计算设备执行。具体地,为了减轻计算设备的CPU的压力,从而提高数据处理效率,可以由计算设备的GPU执行该数据处理任务。在这种情况下,计算设备的GPU可以获取存储设备中存储的与该数据处理任务相关的数据,并基于这些数据执行与该数据处理任务对应的数据处理,以完成该数据处理任务。
请参考图2,图2是相关技术中存储设备与计算设备之间的交互示意图。
相关技术中,计算设备和存储设备都可以具备CPU、与CPU对应的内存,以及网卡。此外,存储设备还可以具备硬盘;计算设备还可以具备GPU。在实际应用中,GPU通常具有自己的存储空间,该存储空间通常被称为显存(例如:Video RAM)。
存储设备的CPU需要先获取硬盘中存储的与数据处理任务相关的数据,并将这些数据从用户态内存复制到内核态内存,再在内核态内存中基于一系列多层网络协议对这些数据进行封装,这些网络协议可以包括TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)、IP(Internet Protocol,网际互连协议)、ICMP(Internet Control Message Protocol,互联网控制消息协议)等,最后将封装后的这些数据从内核态内存复制到存储设备的网卡(Network Interface Card,NIC)的buffer(缓冲存储区域),以由该网卡将封装后的这些数据发送给计算设备。
计算设备的网卡在接收到来自存储设备的封装后的上述数据时,需要先由计算设备的CPU将封装后的这些数据从该网卡的buffer复制到内核态内存,再在内核态内存中基于一系列多层网络协议对封装后的这些数据进行解封装,最后将通过解封装得到的这些数据本身从内核态内存复制到用户态内存。进一步地,计算设备的CPU需要将这些数据从用户态内存中转存到计算设备的GPU的显存中,以由计算设备的GPU基于这些数据执行与上述数据处理任务对应的数据处理。
与之相应地,数据处理结果需要从计算设备的GPU的显存中被转存到计算设备的用户态内存中,由计算设备的CPU先将该数据处理结果从用户态内存复制到内核态内存,再在内核态内存中基于一系列多层网络协议对该数据处理结果进行封装,最后将封装后的该数据处理结果从内核态内存复制到计算设备的网卡的buffer,以由该网卡针对封装后的该数据处理结果进行传输。
由此可见,在由计算设备的GPU基于远程的存储设备中存储的数据执行数据处理时,该数据需要在网卡与CPU之间、CPU与GPU之间进行转存,因此导致CPU的消耗较高,且会占用较大部分的内存和PCIe总线。
本说明书旨在提供一种用于数据处理的技术方案,以对将数据处理任务交给GPU来完成的过程进行优化。在该技术方案中,计算设备上可以搭载数据处理单元,由该数据处理单元响应于触发的由该计算设备的GPU执行的数据处理任务,与该计算设备对接的存储设备进行通信,以从该存储设备中获取与该数据处理任务相关的待处理数据,并存储获取到的该待处理数据,后续可以进一步将存储的该待处理数据转存到该计算设备的GPU的存储空间中,以由该计算设备的GPU基于该GPU的存储空间中存储的该待处理数据执行与该数据处理任务对应的数据处理。
在具体实现时,对于需要由上述计算设备的GPU执行的数据处理任务而言,该计算设备可以获取到被触发的该数据处理任务,以启动由该GPU执行该数据处理任务的流程。
而上述计算设备上搭载的上述数据处理单元则可以响应于上述数据处理任务,与该计算设备对接的存储设备进行通信,从而可以从该存储设备中获取与该数据处理任务相关的待处理数据,并存储获取到的这些待处理数据。
上述数据处理单元可以进一步地将存储的上述待处理数据转存到上述计算设备的GPU的存储空间中。在这种情况下,该计算设备的GPU可以基于该GPU的存储空间中存储的待处理数据,执行与上述数据处理任务对应数据处理。
采用上述方式,通过在计算设备中增加数据处理单元,由该数据处理单元从与该计算设备对接的存储设备中获取待处理数据,并将该待处理数据转存到该计算设备上搭载的GPU的存储空间中,以由该GPU基于该存储空间中存储的该待处理数据执行对应的数据处理,可以在由计算设备的GPU基于远程设备中存储的数据执行数据处理的情况下,避免该数据在该计算设备的网卡与CPU之间、CPU与GPU之间的转存,从而降低CPU的消耗,减少内存和PCIe总线的占用。此外,由于可以通过该数据处理单元和该GPU之间的交互,实现由该GPU执行数据处理,使得可以降低计算设备的CPU和与CPU对应的内存的配置,减少计算设备的搭建成本。
请参考图3,图3是本说明书一示例性实施例示出的一种数据处理方法的流程图。
如图3所示的数据处理方法可以应用于如图1所示的计算设备。
在本实施例中,上述计算设备上可以搭载数据处理单元。此外,该计算设备还可以具备GPU。
上述数据处理方法具体可以应用于上述计算设备中的上述数据处理单元;该方法可以包括以下步骤:
步骤302:响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据。
在本实施例中,对于需要由上述计算设备的GPU执行的数据处理任务而言,该计算设备可以获取到被触发的该数据处理任务,以启动由该GPU执行该数据处理任务的流程。
而上述计算设备上搭载的上述数据处理单元则可以响应于上述数据处理任务,与该计算设备对接的存储设备进行通信,从而可以从该存储设备中获取与该数据处理任务相关的待处理数据,并存储获取到的这些待处理数据。
具体地,上述数据处理单元可以包括用于与其他设备进行通信的网络通信子单元,以及用于存储数据的存储空间。其中,该网络通信子单元可以是硬件实现的,也可以是软件实现的,例如:网卡。该存储空间具体可以包括RAM;需要说明的是,该RAM是作为该数据处理单元的内存的RAM,而不是作为与该计算设备的CPU对应的内存的RAM。在这种情况下,该数据处理单元可以通过该网络通信子单元,与上述存储设备进行通信,从而可以从该存储设备中获取与该数据处理任务相关的待处理数据,并将获取到的这些待处理数据暂存到该数据处理单元的存储空间中。
步骤304:进一步将存储的所述待处理数据转存到所述GPU的存储空间中,以由所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。
在本实施例中,上述数据处理单元可以进一步地将存储的上述待处理数据转存到上述计算设备的GPU的存储空间中。在这种情况下,该计算设备的GPU可以基于该GPU的存储空间中存储的待处理数据,执行与上述数据处理任务对应数据处理。
具体地,上述数据处理单元可以将该数据处理单元的存储空间中暂存的上述待处理数据,从该数据处理单元的存储空间中转存到上述计算设备的GPU的存储空间中。
在一些实施例中,上述数据处理任务具体可以包括与机器学习相关的训练计算任务。这类数据处理任务所包含的计算工作通常规模较大、相似度较高,与GPU的计算能力的适配度较高。因此,为了减轻计算设备的CPU的压力,从而提高数据处理效率,可以由计算设备的GPU执行该数据处理任务。
在一些实施例中,对于具备CPU的计算设备而言,上述数据处理单元可以是独立于该CPU的硬件单元。这样,就使得计算设备的GPU获取远程的存储设备中存储的数据,并基于这些数据执行数据处理的过程,无需计算设备的CPU参与,即可以旁路计算设备的CPU,减轻计算设备的CPU的压力,从而提高数据处理效率。
在一些实施例中,上述数据处理单元具体可以包括DPU(Data Processing Unit,中央处理器分散处理单元)。DPU可以作为专用处理器,为高带宽、低延迟、数据密集的计算场景提供计算引擎。
在一些实施例中,GPU通常具有自己的存储空间,该存储空间通常被称为显存。因此,上述计算设备的GPU的存储空间具体可以包括显存。
在一些实施例中,GPU的计算量较大、计算速度较快,但是通常只能执行较为简单的计算工作,因此GPU对用于计算的数据也有一定的要求,这些要求通常体现在数据格式和数据质量方面。GPU在执行与机器学习相关的训练计算时,只能读取已处理好的、能够直接训练的数据,而无法读取比较宽泛的原始数据。
在上述情况下,上述数据处理单元在将存储的上述待处理数据转存到上述计算设备的GPU的存储空间中之前,可以先对存储的这些待处理数据进行与上述数据处理任务对应的预处理。这样,可以使预处理后的这些待处理数据匹配GPU的数据处理能力,即满足GPU的计算能力的要求,保证GPU能够读取预处理后的这些待处理数据。
在一些实施例中,上述数据处理单元可以包括用于与其他设备进行通信的网络通信子单元。其中,该网络通信子单元具体可以包括RDMA(Remote Direct Memory Access,远程直接内存访问)网卡(RDMA NIC,RNIC)。相应地,存储设备也可以具备RDMA网卡。
RDMA是一种直接存储器访问技术,可以将数据直接从一台设备的内存传输到另一台设备的内存,而不需要双方操作系统的介入,也不需要消耗太多设备的性能,由此可以实现高通量、低延时的数据传输。对于RDMA而言,可以通过RDMA网卡,绕过内核,直接从用户态内存访问RDMA网卡。具体地,本地设备可以直接将数据从用户态内存推送至RDMA网卡的buffer,通过RDMA网卡将这些数据发送给远程设备的RDMA网卡,由远程设备将这些数据从RDMA网卡的buffer中存储到用户态内存中。由此,即可实现将数据从本地设备的内存写入至远程设备的内存,同时可以减少数据复制次数。
在上述情况下,上述数据处理单元在与上述计算设备对接的存储设备进行通信,以从该存储设备中获取与上述数据处理任务相关的待处理数据,并存储获取到的这些待处理数据时,具体可以通过该网络通信子单元中的RDMA网卡与该存储设备的RDMA网卡进行通信,以执行RDMA读操作,从该存储设备的内存中读取这些待处理数据。这样,可以减少待处理数据在存储设备和计算设备中的复制次数,提高待处理数据的传输效率,并且可以降低CPU的消耗,减少与CPU对应的内存占用。
请参考图4,图4是本说明书一示例性实施例示出的一种存储设备与计算设备之间的交互示意图。
如图4所示,存储设备可以具备硬盘、CPU、与CPU对应的内存、RDMA网卡。计算设备可以具备GPU、CPU、与CPU对应的内存,以及独立于CPU的DPU。其中,该DPU中可以包含RDMA网卡,以及该DPU的内存。
存储设备的CPU可以先获取硬盘中存储的与数据处理任务相关的数据,并将这些数据从用户态内存推送到存储设备的RDMA网卡的buffer,以由该RDMA网卡将这些数据发送给计算设备。
计算设备的RDMA网卡在接收到来自存储设备的上述数据时,可以直接将这些数据从计算设备的RDMA写入至用户态内存。进一步地,计算设备的CPU需要将这些数据从用户态内存中转存到计算设备的GPU的显存中,以由计算设备的GPU基于这些数据执行与上述数据处理任务对应的数据处理。
与之相应地,数据处理结果需可以从计算设备的GPU的显存中被转存到计算设备的用户态内存中,并将该数据处理结果从内核态内存推送到计算设备上搭载的上述DPU的RDMA网卡的buffer,以由该RDMA网卡针对该数据处理结果进行传输。
在一些实施例中,上述数据处理单元在将存储的上述待处理数据转存到上述计算设备的GPU的存储空间中时,具体可以将存储的这些待处理数据,通过该数据处理单元与该GPU之间的PCIe(Peripheral Component Interconnect Express,PCI-Express)总线,发送到该GPU的存储空间中进行存储。
其中,PCIe是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,具有数据传输速率高、潜力大的特点。
在一些实施例中,与之相应地,在上述CPU针对上述待处理数据的数据处理完成之后,上述数据处理单元可以通过该数据处理单元与该GPU之间的PCIe总线,获取该GPU针对这些待处理数据的数据处理结果。
具体地,在一些实施例中,上述GPU上可以预配置用于对上述数据处理结果进行数据推送的GPU中断。在这种情况下,该GPU可以实时检测与该中断对应的中断触发信号,如果检测到将该中断触发信号,则说明该中断被触发,该GPU就可以对该数据处理结果进行数据推送。也即,上述数据处理单元在通过该数据处理单元与该GPU之间的PCIe总线,获取该GPU针对上述待处理数据的数据处理结果时,具体可以获取该GPU响应于检测到的与该中断对应的中断触发信号,通过该数据处理单元与该GPU之间的PCIe总线,推送的针对这些待处理数据的数据处理结果。
在另一些实施例中,上述数据处理单元在通过该数据处理单元与上述GPU之间的PCIe总线,获取该GPU针对上述待处理数据的数据处理结果时,具体可以通过该数据处理单元与该GPU之间的PCIe总线,向该GPU发送轮询请求;而该GPU在接收到该轮询请求的情况下,可以响应于该轮询请求,通过该数据处理单元与该GPU之间的PCIe总线,向该数据处理单元返回针对这些待处理数据的数据处理结果。
在上述技术方案中,计算设备上可以搭载数据处理单元,由该数据处理单元响应于触发的由该计算设备的GPU执行的数据处理任务,与该计算设备对接的存储设备进行通信,以从该存储设备中获取与该数据处理任务相关的待处理数据,并存储获取到的该待处理数据,后续可以进一步将存储的该待处理数据转存到该计算设备的GPU的存储空间中,以由该计算设备的GPU基于该GPU的存储空间中存储的该待处理数据执行与该数据处理任务对应的数据处理。
采用上述方式,通过在计算设备中增加数据处理单元,由该数据处理单元从与该计算设备对接的存储设备中获取待处理数据,并将该待处理数据转存到该计算设备上搭载的GPU的存储空间中,以由该GPU基于该存储空间中存储的该待处理数据执行对应的数据处理,可以在由计算设备的GPU基于远程设备中存储的数据执行数据处理的情况下,避免该数据在该计算设备的网卡与CPU之间、CPU与GPU之间的转存,从而降低CPU的消耗,减少内存和PCIe总线的占用。此外,由于可以通过该数据处理单元和该GPU之间的交互,实现由该GPU执行数据处理,使得可以降低计算设备的CPU和与CPU对应的内存的配置,减少计算设备的搭建成本。
请继续参考图1,本说明书一示例性实施例示出一种数据处理系统,该数据处理系统可以包括与存储设备对接的计算设备,所述计算设备包括GPU和数据处理单元;
其中:
所述数据处理单元响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据;
所述数据处理单元进一步将存储的所述待处理数据转存到所述GPU的存储空间中,以由所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。
具体地,所述数据处理单元可以用于执行如前所述的数据处理方法。
对于系统实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
本说明书一示例性实施例示出一种计算设备,所述计算设备对接存储设备,包括:
GPU和数据处理单元;
其中:
所述数据处理单元响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据;
所述数据处理单元进一步将存储的所述待处理数据转存到所述GPU的存储空间中;
所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。
具体地,所述数据处理单元可以用于执行如前所述的数据处理方法。
对于设备实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
图5是本说明书一示例性实施例示出的一种计算设备的结构示意图。请参考图5,在硬件层面,该计算设备可以包括处理器502、内部总线504、网络接口506、内存508、非易失性存储器510、GPU512,以及独立于CPU的数据处理单元514,当然还可能包括所需要的其他硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器702从非易失性存储器710中读取对应的计算机程序到内存708中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑模块,也可以是硬件或逻辑器件。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

Claims (14)

1.一种数据处理方法,所述方法应用于计算设备上搭载的数据处理单元;所述方法包括:
响应于触发的由所述计算设备的GPU执行的数据处理任务,与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据;
进一步将存储的所述待处理数据转存到所述GPU的存储空间中,以由所述GPU基于所述存储空间中存储的所述待处理数据执行与所述数据处理任务对应的数据处理。
2.根据权利要求1所述的方法,所述数据处理任务包括与机器学习相关的训练计算任务。
3.根据权利要求1所述的方法,所述数据处理单元为独立于所述计算设备的CPU的硬件单元。
4.根据权利要求3所述的方法,所述数据处理单元包括中央处理器分散处理单元DPU。
5.根据权利要求1所述的方法,所述存储空间包括显存。
6.根据权利要求5所述的方法,所述数据处理单元包括用于与其他设备进行通信的网络通信子单元;所述网络通信子单元包括RDMA网卡;
所述与所述计算设备对接的存储设备进行通信,以从所述存储设备中获取与所述数据处理任务相关的待处理数据,并存储获取到的所述待处理数据,包括:
通过所述网络通信子单元中的RDMA网卡与所述计算设备对接的存储设备的RDMA网卡进行通信,以执行RDMA读操作,从所述存储设备的内存中读取与所述数据处理任务相关的待处理数据。
7.根据权利要求1所述的方法,在将存储的所述待处理数据转存到所述GPU的存储空间中之前,所述方法还包括:
对存储的所述待处理数据进行与所述数据处理任务对应的预处理,以将所述待处理数据处理成匹配所述GPU的数据处理能力的数据。
8.根据权利要求1所述的方法,所述将存储的所述待处理数据转存到所述GPU的存储空间中,包括:
将存储的所述待处理数据,通过所述数据处理单元与所述GPU之间的PCIe总线,发送到所述GPU的第二存储空间中进行存储。
9.根据权利要求8所述的方法,所述方法还包括:
通过所述数据处理单元与所述GPU之间的PCIe总线,获取所述GPU针对所述待处理数据的数据处理结果。
10.根据权利要求9所述的方法,所述GPU上预配置了用于对所述数据处理结果进行数据推送的中断;
所述通过所述数据处理单元与所述GPU之间的PCIe总线,获取所述GPU针对所述待处理数据的数据处理结果,包括:
获取所述GPU响应于检测到的与所述中断对应的中断触发信号,通过所述数据处理单元与所述GPU之间的PCIe总线,推送的针对所述待处理数据的数据处理结果。
11.根据权利要求9所述的方法,所述通过所述数据处理单元与所述GPU之间的PCIe总线,获取所述GPU针对所述待处理数据的数据处理结果,包括:
通过所述数据处理单元与所述GPU之间的PCIe总线,向所述GPU发送轮询请求,并接收所述GPU响应于所述轮询请求,通过所述数据处理单元与所述GPU之间的PCIe总线,返回的针对所述待处理数据的数据处理结果。
12.一种数据处理系统,包括:
与存储设备对接的计算设备,所述计算设备包括GPU和数据处理单元,所述数据处理单元用于执行如权利要求1-11中任一项所述的方法。
13.一种计算设备,所述计算设备对接存储设备,包括:
GPU和数据处理单元,所述数据处理单元用于执行如权利要求1-11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至11中任一项所述的方法。
CN202310247889.2A 2023-03-10 2023-03-10 数据处理方法、系统、计算设备和存储介质 Pending CN116402673A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310247889.2A CN116402673A (zh) 2023-03-10 2023-03-10 数据处理方法、系统、计算设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310247889.2A CN116402673A (zh) 2023-03-10 2023-03-10 数据处理方法、系统、计算设备和存储介质

Publications (1)

Publication Number Publication Date
CN116402673A true CN116402673A (zh) 2023-07-07

Family

ID=87006615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310247889.2A Pending CN116402673A (zh) 2023-03-10 2023-03-10 数据处理方法、系统、计算设备和存储介质

Country Status (1)

Country Link
CN (1) CN116402673A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627888A (zh) * 2023-07-25 2023-08-22 苏州浪潮智能科技有限公司 硬件计算模块、设备、方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627888A (zh) * 2023-07-25 2023-08-22 苏州浪潮智能科技有限公司 硬件计算模块、设备、方法、电子设备及存储介质
CN116627888B (zh) * 2023-07-25 2023-10-03 苏州浪潮智能科技有限公司 硬件计算模块、设备、方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111897639B (zh) 图像增广方法、装置、计算机设备及存储介质
JP6974270B2 (ja) 知能型高帯域幅メモリシステム及びそのための論理ダイ
US10176018B2 (en) Virtual core abstraction for cloud computing
CN108268328B (zh) 数据处理装置及计算机
US10116746B2 (en) Data storage method and network interface card
US20200117525A1 (en) Novel method for nvme ssd based storage service using rpc and grpc tunneling over pcie +
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
CN112532585A (zh) 一种进程间报文传输的方法、设备及介质
WO2013154541A1 (en) Remote direct memory access with reduced latency
CN116402673A (zh) 数据处理方法、系统、计算设备和存储介质
US20230120934A1 (en) Gpu networking using an integrated command processor
CN114780465B (zh) 可共享远程直接数据存取链接的创建方法及装置
CN113971138A (zh) 一种数据访问方法及相关设备
CN113422669B (zh) 数据传输方法、装置和系统、电子设备以及存储介质
CN115334134A (zh) 数据处理方法及系统
WO2013154540A1 (en) Continuous information transfer with reduced latency
CN110659143B (zh) 一种容器间的通讯方法、装置及电子设备
JP2024024607A (ja) メモリーアクセスのための集積回路、処理方法、電子機器及び媒体
Nguyen et al. Reducing data copies between gpus and nics
CN111274176B (zh) 一种信息处理方法、电子设备、系统及存储介质
WO2020108124A1 (zh) 数据备份方法及装置
CN110083463B (zh) 一种3d图像引擎与数值处理软件间实时数据通信方法
CN112073505A (zh) 在云服务器上进行卸载的方法、控制装置、存储介质
US11847316B2 (en) System and method for managing data storage in network interface controllers
US11971834B2 (en) Interconnect for direct memory access controllers

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