CN116881191B - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116881191B CN116881191B CN202311141816.1A CN202311141816A CN116881191B CN 116881191 B CN116881191 B CN 116881191B CN 202311141816 A CN202311141816 A CN 202311141816A CN 116881191 B CN116881191 B CN 116881191B
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- space
- cache space
- address
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 225
- 230000015654 memory Effects 0.000 claims description 208
- 238000013500 data storage Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种数据处理方法、装置、设备及存储介质,应用于计算服务器,包括:通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算;当接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据;本发明可以可减少类似数据拷贝的操作,大幅提高数据传输效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种数据处理方法、装置、设备及存储介质。
背景技术
在人工智能的不断发展中,图形处理器算力资源已经成为人工智能计算不可或缺的基础设施。为了提高图形处理器的算力及灵活性,通常使用网络和其他辅助模块(比如现场可编程门阵列)连接主机和图形处理器,使图形处理器更加独立于主机存在,从而获得更好的可扩展性和灵活度。但如果将所有对图形处理器的操作都放在设备本身进行,一般需要在设备上放置一个中央处理器,然后在中央处理器上运行操作***。但此方案对图形处理器的性能要求比较高,且即使使用高性能图形处理器,也会由于主机对网络数据包的处理过程大幅增加数据传递过程中的延时,影响***的整体计算性能。
发明内容
有鉴于此,本发明提供了一种数据处理方法、装置、设备及存储介质,以解决现有主机和图形处理器之间数据传递速度较慢,从而影响***整体运算性能的问题。
第一方面,本发明提供了一种数据处理方法,该方法包括:
通过计算服务器向计算设备下发目标计算任务,所述目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;
基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算;
当接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。
通过上述过程,可以将计算服务器内的待计算源数据直接写入到计算设备的内存中,从而节省了一次类似数据拷贝的操作,且通过直接从计算设备的内存中读取计算结果数据到计算服务器的主机内存中,进而又节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,计算设备生成反馈信息,包括:
获取远程直接地址访问请求中的写请求及读请求;
基于资源占用信息为待计算源数据分配数据存储空间及结果存储空间;
基于远程直接地址访问请求中的写请求及数据存储空间的地址,生成第一存储地址;
基于远程直接地址访问请求中的读请求及结果存储空间的地址,生成第二存储地址;
基于第一存储地址及第二存储地址生成反馈信息。
在一些可选的实施方式中,计算服务器基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算,包括:
计算服务器获取用于存储待计算源数据的第一存储地址;
基于第一存储地址将待计算源数据写入计算设备所分配的数据存储空间内,并生成一计算指令,以使计算设备基于待计算源数据进行数据计算。
在一些可选的实施方式中,计算服务器基于反馈信息将待计算源数据存储于第一存储地址,还包括:
当待计算源数据在计算设备所分配的第一存储地址内未存储成功时,在计算服务器内为待计算源数据分配物理地址连续的第一内存区域;
将第一内存区域的第一地址信息下发至计算设备,以使计算设备基于第一地址信息从计算服务器的第一内存区域内读取待计算源数据,并进行计算。
在一些可选的实施方式中,计算设备还包括第一缓存空间,计算设备基于第一地址信息从计算服务器的第一内存区域内读取待计算源数据,包括:
计算设备基于第一地址信息生成读取请求,以请求将从计算服务器读取到的待计算源数据复制到第一缓存空间内;
基于第一存储地址,将第一缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,计算设备还包括第二缓存空间,将待计算源数据复制到第一缓存空间内,还包括:
当计算设备中第一缓存空间的空间容量不足时,将待计算源数据复制到第二缓存空间内;
基于第一存储地址,将计算设备中第二缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,计算服务器从第二存储地址中读取计算结果数据,包括
在预设时间内接收到计算设备上报的计算完成信息时,获取第二存储地址;
基于第二存储地址从计算设备所分配的结果存储空间内读取计算结果数据。
在一些可选的实施方式中,计算服务器从第二存储地址中读取计算结果数据,还包括
若计算服务器在预设时间内未接收到计算设备基于待计算源数据所上报的计算完成信息、或者无法读取计算结果数据,则在计算服务器内为计算结果数据分配物理地址连续的第二内存区域;
将第二内存区域的第二地址信息下发至计算设备,以使计算设备基于第二地址信息将计算结果数据写入计算服务器的第二内存区域。
在一些可选的实施方式中,计算设备基于第二地址信息将计算结果数据写入第二内存区域,包括:
计算设备基于第二地址信息生成的写入请求,以请求将从结果存储空间读取到的计算结果数据缓存于第一缓存空间内;
基于第二地址信息,将计算设备中第一缓存空间内的计算结果数据写入第二内存区域。
在一些可选的实施方式中,将从结果存储空间读取到的计算结果数据缓存于第一缓存空间内,还包括:
当计算设备中第一缓存空间的空间容量不足时,将计算结果数据缓存于第二缓存空间内;
基于第二地址信息,将计算设备中第二缓存空间内的计算结果数据写入计算服务器的第二内存区域。
在一些可选的实施方式中,基于第一存储地址,将计算设备中第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内,包括:
获取计算设备中第一缓存空间和/或第二缓存空间内待计算源数据的数据量;
当待计算源数据的数据量大于第一数据量阈值时,基于第一存储地址,将第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,基于第二地址信息,将计算设备中第一缓存空间和/或第二缓存空间内的计算结果数据写入第二内存区域内,包括:
获取计算设备中第一缓存空间和/或第二缓存空间内计算结果数据的数据量;
当计算结果数据的数据量大于第二数据量阈值时,基于第二地址信息,将第一缓存空间和/或第二缓存空间内的计算结果数据写入第二内存区域内。
在一些可选的实施方式中,该方法还包括:
基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态;请求类型包括写入请求及读取请求;
基于下一缓存状态,确定计算结果数据的结果写入路径以及待计算源数据的数据写出路径;
结果写入路径包括由结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由第一缓存空间和/或第二缓存空间到第二内存区域的第二结果写入路径;
数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径。
在一些可选的实施方式中,基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态,包括:
基于第一缓存空间及第二缓存空间的可写入空间及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为满状态;
基于第一缓存空间及第二缓存空间中可写出的待计算源数据、计算结果数据及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为空状态。
在一些可选的实施方式中,计算服务器向计算设备下发计算任务前,该方法还包括:
计算服务器接收计算设备所发起的连接请求,根据连接请求启动目标计算程序;
通过目标计算程序建立计算服务器与计算设备的连接。
在一些可选的实施方式中,计算服务器内存储有任务集群,计算服务器向计算设备下发目标计算任务,包括:
获取任务集群中各计算任务的计算状态;
基于计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务。
在一些可选的实施方式中,基于计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务,包括:
基于空闲资源状态信息,从计算状态为待计算的计算任务中选取目标计算任务;
获取目标计算任务中待计算源数据的资源占用信息;
基于资源占用信息向计算设备下发目标计算任务。
第二方面,本发明提供了一种数据处理装置,应用于计算服务器,该装置主要包括:任务下发模块、信息反馈模块、数据存储模块及数据读取模块;其中,
任务下发模块,用于通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
信息反馈模块,用于接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;
数据存储模块,用于基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算;
数据读取模块,用于当接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。
通过上述过程,可以将计算服务器内的待计算源数据直接写入到计算设备的内存中,从而节省了一次类似数据拷贝的操作,且通过直接从计算设备的内存中读取计算结果数据到计算服务器的主机内存中,进而又节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
第三方面,本发明提供了一种数据处理***,其特征在于,包括:计算服务器及计算设备;
计算服务器,用于向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
计算设备,用于基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;
计算服务器,还用于基于反馈信息将待计算源数据存储于第一存储地址中,并在接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。
通过上述过程,可以将计算服务器内的待计算源数据直接写入到计算设备的内存中,从而节省了一次类似数据拷贝的操作,且通过直接从计算设备的内存中读取计算结果数据到计算服务器的主机内存中,进而又节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,计算设备还包括:
自主转发模块,用于基于远程直接地址访问请求中所携带的链路信息将待计算源数据写入第一存储地址所对应的数据存储空间;
自主转发模块,还用于获取第二存储地址所对应的结果存储空间内的计算结果数据,并基于远程直接地址访问请求中所携带的链路信息将计算结果数据写入计算服务器。
第四方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的数据处理方法。
第五方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的数据处理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种应用环境的示意图;
图2是本发明实施例的数据处理方法的流程示意图;
图3是本发明实施例的另一数据处理方法的流程示意图;
图4是本发明实施例的又一数据处理方法的流程示意图;
图5是本发明实施例的再一数据处理方法的流程示意图;
图6是本发明实施例的数据流图;
图7是本发明实施例的另一数据流图;
图8是本发明实施例的数据处理装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本发明实施例不做限制。
请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,该示意图包括计算设备100中可以包含现场可编程门阵列101和图形处理器102;其中,图形处理器102用于进行数据的计算与存储,现场可编程门阵列用于进行计算数据的转发。计算设备100可以通过网络300与计算服务器200进行通信连接,可在计算服务器200上或独立于计算服务器200设置数据库201,用于为计算服务器200提供数据存储服务。此外,计算服务器200中可以运行有处理引擎202,该处理引擎202可以用于执行由计算服务器200所执行的步骤。
可选的,计算设备100可以但不限于为可以计算数据的终端,如移动终端(例如平板电脑)、笔记本电脑、PC(Personal Computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(Wireless Fidelity,无线保真)、远程直接地址访问及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、服务器集群。上述计算服务器200可以包括但不限于任何可以进行计算的硬件设备。
此外,在本实施例中,上述数据处理方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述数据处理方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。
可选的,在本实施例中,上述数据处理方法可以由计算服务器200来执行,也可以由计算设备100来执行,还可以是由计算服务器200和计算设备100共同执行。其中,计算设备100执行本发明实施例的数据处理方法也可以是由安装在其上的客户端来执行。
根据本发明实施例,提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据处理方法,可用于上述的计算服务器,图2是根据本发明实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求。
如上,通过计算服务器向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问。其中,待计算源数据可以包括计算模型、数据量及计算次数。
在一些可选的实施方式中,计算服务器内存储有任务集群,可以先使计算服务器接收计算设备所发起的接收连接请求,根据连接请求启动目标计算程序;通过目标计算程序建立计算服务器与计算设备的连接;然后获取任务集群中各计算任务的计算状态;基于计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务。
举例来讲,首先计算服务器接套接字收到计算设备所发起的连接请求时,根据连接请求启动目标计算程序,如人工智能计算程序,然后通过让人工智能计算程序建立计算服务器与计算设备的网络连接;此时,计算服务器获取其内部存储各个计算任务的计算状态,并根据各计算任务的计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务。
在一些可选的实施方式中,基于计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务时,可以基于空闲资源状态信息,从计算状态为待计算的计算任务中选取目标计算任务;获取目标计算任务中待计算源数据的资源占用信息;基于资源占用信息向计算设备下发目标计算任务。
举例来讲,在向计算设备下发目标计算任务时,可以先获取空闲资源状态信息中所携带的空闲资源量;接着将计算状态为待计算的计算任务按照资源占用信息进行排序,然后基于空闲资源量遍历该资源占用信息,从而实现在计算状态为待计算的计算任务中选取出目标计算任务;最后基于目标计算任务中待计算源数据的资源占用信息向计算设备下发目标计算任务。
步骤S202,接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址。
如上,通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于对待计算源数据进行写入以及对计算结果数据进行直接读取。
在一些可选的实施方式中,计算设备在生成反馈信息时,可以先获取远程直接地址访问请求中的写请求及读请求;基于资源占用信息为待计算源数据分配数据存储空间及结果存储空间;基于远程直接地址访问请求中的写请求及数据存储空间的地址,生成第一存储地址;基于远程直接地址访问请求中的读请求及结果存储空间的地址,生成第二存储地址;基于第一存储地址及第二存储地址生成反馈信息。
具体的,计算设备在接收到计算服务器下发的计算任务时,首先根据待计算源数据的资源占用信息为待计算源数据分配对应的计算资源及对应的内存空间,如数据存储空间及结果存储空间。同时,根据远程直接地址访问请求中的写请求及数据存储空间的地址,生成第一存储地址,以便于计算服务器可以直接根据第一存储地址进行待计算源数据的写入;根据远程直接地址访问请求中的读请求及结果存储空间的地址,生成第二存储地址,以便于计算服务器可以根据第二存储地址直接将计算结果数据读取到自己的内存中,从而节省了数据拷贝的时间消耗。
步骤S203,基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算。
如上,通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算时,计算服务器首先根据反馈信息获取用于存储待计算源数据的数据存储空间的第一存储地址;然后通过远程地址直接访问第一存储地址,从而将待计算源数据写入数据存储空间内;同时,生成一计算指令以告知计算设备待计算源数据已写入,并使计算设备基于待计算源数据进行数据计算。
步骤S204,当接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。
如上,通过在接收到计算设备上报的计算完成信息时,从第二存储地址中读取计算结果数据,从而节省了一次类似数据拷贝的操作,可进一步大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,若预设时间内接收到计算设备基于待计算源数据所上报的计算完成信息时,则获取反馈信息中的第二存储地址;然后通过远程地址直接访问第二存储地址,从而直接从结果存储空间内读取计算结果数据。其中,在接收计算设备上报的计算完成信息前,计算服务设备可以处于忙等待状态。
本实施例提供的数据处理方法,首先通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问;通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于对待计算源数据进行写入以及对计算结果数据进行直接读取;通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能;通过在接收到计算设备上报的计算完成信息时,从第二存储地址中读取计算结果数据,从而节省了一次类似数据拷贝的操作,可进一步大幅提高数据传输效率,提升***整体的运算性能。
在本实施例中提供了一种数据处理方法,可用于上述的计算服务器,图3是根据本发明实施例的数据处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求。
如上,通过计算服务器向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问。其中,待计算源数据可以包括计算模型、数据量及计算次数。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S302,接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括用于基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址。
如上,通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于通过远程直接地址访问对待计算源数据进行写入以及对计算结果数据进行直接读取。
详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S303,基于反馈信息将待计算源数据存储于第一存储地址中。
如上,通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
详细请参见图2所示实施例的步骤S203,在此不再赘述。
步骤S304,当待计算源数据在计算设备所分配的第一存储地址内未存储成功时,在计算服务器内为待计算源数据分配物理地址连续的第一内存区域。
如上,若待计算源数据在计算设备所分配的第一存储地址内未存储成功时,则在计算服务器内为待计算源数据分配物理地址连续的第一内存区域,以使计算设备能够主动进行待计算源数据的读取,即直接进行计算服务器内存的访问。
在一些可选的实施方式中,当计算服务器基于第一存储地址将待计算源数据存储于数据存储空间时,对待计算源数据写入该数据存储空间的写入状态进行监测,当待计算源数据在阈值时间内未写入完成、写入数据不完整、或写入数据错误时,确定该待计算源数据在第一存储地址内未存储成功。此时,为了使目标计算任务能够正常运算,则在计算服务器上为待计算源数据分配物理地址连续的第一内存区域。可以理解的,该第一内存区域可以有多段物理地址连续的区域组成。
步骤S305,将第一内存区域的第一地址信息下发至计算设备,以使计算设备基于第一地址信息从所计算服务器的第一内存区域内读取待计算源数据,并进行计算。
如上,通过将第一内存区域的第一地址信息下发至计算设备,从而实现了计算设备在计算服务器写入待计算源数据失败的情况下,能够进行待计算源数据的主动读取与计算。
在一些可选的实施方式中,为了实现计算设备的图像处理器使用远程地址直接访问通过总线PCIe直接访问计算服务器的内存,或计算设备的图像处理器无法直接访问计算服务器的内存时,计算设备的现场可编程门阵列还配置有第一缓存空间及第二缓存空间,当待计算源数据在第一存储地址内未存储成功时,计算设备基于第一地址信息生成读取请求,以请求将从计算服务器读取到的待计算源数据复制到第一缓存空间内,然后基于第一存储地址,将第一缓存空间内的待计算源数据写入数据存储空间内,即实现待计算源数据的转发。
具体的,当计算设备接收到计算服务器所分配的物理地址连续的第一内存区域的第一地址信息时,基于第一内存区域的第一地址信息生成读取请求,该读取请求是用于将第一内存区域内的待计算源数据读取到计算设备中图形处理器的数据存储空间内,但由于计算设备中图形处理器与计算服务的数据存储空间之间无法通过远程地址直接访问或需要通过总线PCIe直接访问计算服务器的内存,此时为了避免待计算源数据直接写入现场可编辑门阵列的内存后再由软件转发到图形处理器。因此,在计算设备中的图形处理器针对第一地址信息所生成读取请求,且该读取请求的目标地址为第一内存区域时,现场可编辑门阵列对该读取请求进行截取,并基于该读取请求,将待计算源数据复制到第一缓存空间内;然后基于第一存储地址,将第一缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,当计算设备中第一缓存空间的空间容量不足时,将待计算源数据复制到第二缓存空间内;基于第一存储地址,将计算设备中第二缓存空间内的待计算源数据写入数据存储空间内。
具体的,基于第一存储地址,将计算设备中第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内时,可以获取计算设备中第一缓存空间和/或第二缓存空间内待计算源数据的数据量;当待计算源数据的数据量大于第一数据量阈值时,基于第一存储地址,将第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内。在其他实施例中,还可以每隔一段时间后将基于第一存储地址,将第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内。可以理解的,通过对待计算源数据集中读写,以减计算设备的开销,同时便于对读取的待计算源数据进行计算。
步骤S306,在预设时间内接收到计算设备上报的计算完成信息时,从第二存储地址中读取计算结果数据。
如上,若计算服务器在预设时间内接收到计算设备上报的计算完成信息时,从第二存储地址中读取计算结果数据,从而节省了一次类似数据拷贝的操作,可进一步大幅提高数据传输效率,提升***整体的运算性能。
详细请参见图2所示实施例的步骤S204,在此不再赘述。
本实施例提供的数据处理方法,首先通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问;通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于对待计算源数据进行写入以及对计算结果数据进行直接读取;通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能;若待计算源数据在第一存储地址内未存储成功时,为待计算源数据分配物理地址连续的第一内存区域,以使计算设备能够主动进行待计算源数据的读取,即直接进行计算服务器内存的访问;通过将第一内存区域的第一地址信息下发至计算设备,从而实现了计算设备在计算服务器写入待计算源数据失败的情况下,能够进行待计算源数据的主动读取;通过在预设时间内接收到计算设备上报的计算完成信息时,从第二存储地址中读取计算结果数据,从而节省了一次类似数据拷贝的操作,可进一步大幅提高数据传输效率,提升***整体的运算性能。
在本实施例中提供了一种数据处理方法,可用于上述的计算服务器,图4是根据本发明实施例的数据处理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求。
如上,通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问。其中,待计算源数据可以包括计算模型、数据量及计算次数。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S402,接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址。
如上,通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于对待计算源数据进行写入以及对计算结果数据进行直接读取。
详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S403,基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算。
如上,通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
详细请参见图2所示实施例的步骤S203,在此不再赘述。
步骤S404,若计算服务器在预设时间内未接收到计算设备基于待计算源数据所上报的计算完成信息、或者无法读取计算结果数据时,则在计算服务器内为计算结果数据分配物理地址连续的第二内存区域。
如上,若计算服务器在预设时间内未接收到计算设备基于待计算源数据所上报的计算完成信息、或者无法读取计算结果数据时,则在计算服务器内为计算结果数据分配物理地址连续的第二内存区域,以使计算设备能够主动进行待计算结果数据的写入,即直接进行计算服务器内存的访问,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,当计算服务器基于第二存储地址从结果存储空间中读取计算结果数据时,对计算完成信息及计算结果数据的读取状态进行监测,若在预设时间内未接收到计算设备上报的计算完成信息、或者无法读取计算结果数据时,确定该计算结果数据读取失败。此时,为了使目标计算任务的运算结果数据能够正常读取,则在计算服务器上为计算结果数据分配物理地址连续的第二内存区域。可以理解的,该第二内存区域可以有多段物理地址连续的区域组成。
步骤S405,将第二内存区域的第二地址信息下发至计算设备,以使计算设备基于第二地址信息将计算结果数据写入计算服务器的第二内存区域。
如上,计算服务器将第二内存区域的第二地址信息下发至计算设备,从而实现了计算设备在计算服务器读取计算结果数据失败的情况下,能够进行计算结果的主动写入。
在一些可选的实施方式中,计算设备基于第二地址信息将计算结果数据写入第二内存区域时,计算设备基于第二地址信息生成的写入请求,以请求将从结果存储空间读取到的计算结果数据缓存于第一缓存空间内,然后基于第二地址信息,将计算设备中第一缓存空间内的计算结果数据写入第二内存区域。当计算设备中第一缓存空间的空间容量不足时,将计算设备中计算结果数据缓存于第二缓存空间内;基于第二地址信息,将第二缓存空间内的计算结果数据写入计算服务器的第二内存区域。
具体的,当计算设备接收到计算服务器所分配的物理地址连续的第二内存区域的第二地址信息时,基于第二内存区域的第二地址信息生成写入请求,该写入请求是用于将结果存储空间中的计算结果数据写入到计算服务器的第二内存区域内,但由于计算设备中图形处理器与计算服务数据存储空间之间无法通过远程地址直接访问或需要通过总线PCIe直接访问计算服务器的内存,此时为了避免将图形处理器中的计算结果数据直接写入现场可编辑门阵列的内存后,再由软件转发到计算服务器。因此,在计算设备中的图形处理器针对第二地址信息所生成写入请求,且该写入请求的目标地址为第二内存区域时,现场可编辑门阵列对该写入请求进行截取,并基于写入取请求,将计算结果空间中的计算结果数据暂时缓存到第一缓存空间内;然后基于第二地址信息,将第一缓存空间内的计算结果数据写入第二内存区域内。
在一些可选的实施方式中,计算设备基于第二地址信息,将第一缓存空间和/或第二缓存空间内的计算结果数据写入第二内存区域内时,可以获取第一缓存空间和/或第二缓存空间内计算结果数据的数据量;当计算结果数据的数据量大于第二数据量阈值时,基于第二地址信息,将第一缓存空间和/或第二缓存空间内的计算结果数据写入计算服务器的第二内存区域内。在其他实施例中,还可以每隔一段时间后计算设备基于第一存储地址,将第一缓存空间和/或第二缓存空间内的计算结果数据写入第二存储区域内。可以理解的,通过计算结果数据的集中写入,以减计算设备的开销。
本实施例提供的数据处理方法,首先通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问;通过接收计算设备基于目标计算任务,上报的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址的反馈信息,以便于对待计算源数据进行写入以及对计算结果数据进行直接读取;通过基于反馈信息将待计算源数据存储于第一存储地址中,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能;若在预设时间内未接收到计算设备上报的计算完成信息、或者无法读取计算结果数据时,则为计算结果数据分配物理地址连续的第二内存区域,以使计算设备能够主动进行待计算结果数据的写入,即直接进行计算服务器内存的访问,从而再次节省了一次类似数据拷贝的操作;通过将第二内存区域的第二地址信息下发至计算设备,从而实现了计算设备在计算服务器读取计算结果数据失败的情况下,能够进行计算结果的主动写入。
在本实施例中提供了一种数据处理方法,可用于上述的计算服务器,图5是根据本发明实施例的数据处理方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,为待计算源数据分配物理地址连续的第一内存区域,为计算结果数据分配物理地址连续的第二内存区域。
如上,通过为待计算源数据分配物理地址连续的第一内存区域,以便于计算设备在接收到目标计算任务时,能够主动进行待计算源数据的获取;通过为计算结果数据分配物理地址连续的第二内存区域,以便于计算设备能够在计算完成时主动进行计算结果数据的上传。
步骤S502,向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求。
如上,通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问。其中,待计算源数据可以包括计算模型、数据量及计算次数。
详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S503,将第一内存区域的第一地址信息下发至计算设备,以使计算设备基于第一地址信息读取待计算源数据。
如上,通过将第一内存区域的第一地址信息下发至计算设备,从而实现了计算设备在计算服务器写入待计算源数据失败的情况下,能够进行待计算源数据的主动读取。
详细请参见图3所示实施例的步骤S304,在此不再赘述。
步骤S504,将第二内存区域的第二地址信息下发至计算设备,以使计算设备基于第二地址信息将计算结果数据写入第二内存区域。
如上,通过为计算结果数据分配物理地址连续的第二内存区域,以使计算设备能够主动进行待计算结果数据的写入,即直接进行计算服务器内存的访问,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在一些可选的实施方式中,在进行计算结果数据的结果写入路径以及待计算源数据的数据写出路径时,可以基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态;请求类型包括写入请求及读取请求;基于下一缓存状态,确定计算结果数据的结果写入路径以及待计算源数据的数据写出路径。其中,结果写入路径包括由结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由第一缓存空间和/或第二缓存空间到第二内存区域的第二结果写入路径;数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径。
在一些可选的实施方式中,基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态时,可以基于第一缓存空间及第二缓存空间的可写入空间及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为满状态;基于第一缓存空间及第二缓存空间中可写出的待计算源数据、计算结果数据及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为空状态。
举例来讲,当请求类型为写出请求时,确定第一缓存空间的下一缓存状态为非满状态;当请求类型为写入请求且可写入的计算结果数据或待计算源数据的数据量为1时,确定第一缓存空间的下一缓存状态为满状态;当未接收到写出请求也未接收到写入请求时,确定第一缓存空间的下一缓存状态不变。在进行空状态确定的过程中,当请求类型为写出请求时,确定第一缓存空间的下一缓存状态为非空状态;当请求类型为写出请求且可写出的计算结果数据或待计算源数据的数据量为1时,确定第一缓存空间的下一缓存状态为空状态;当未接收到写出请求也未接收到写入请求时,确定第一缓存空间的下一缓存状态不变。
本实施例提供的数据处理方法,首先通过为待计算源数据分配物理地址连续的第一内存区域,以便于计算设备在接收到目标计算任务时,能够主动进行待计算源数据的获取;通过为计算结果数据分配物理地址连续的第二内存区域,以便于计算设备能够在计算完成时主动进行计算结果数据的上传;通过向计算设备下发目标计算任务,以便于告知计算设备将要进行数据计算的待计算源数据的资源占用信息,同时基于远程直接地址访问请求建立计算设备与计算服务器之间内存的直接访问;通过将第一内存区域的第一地址信息下发至计算设备,从而实现了计算设备在计算服务器写入待计算源数据失败的情况下,能够进行待计算源数据的主动读取;通过为计算结果数据分配物理地址连续的第二内存区域,以使计算设备能够主动进行待计算结果数据的写入,即直接进行计算服务器内存的访问,从而节省了一次类似数据拷贝的操作,可大幅提高数据传输效率,提升***整体的运算性能。
在上述数据(待计算元数据及计算结果数据)传递的过程,都是由计算服务器通过远程地址直接访问将数据直接写入或读出,但在实际的工作中,也存在某些型号的现场可编程门阵列不支持外部模块或中央处理器直接访问现场可编程门阵列内的双端口内存的情况,此时现场可编程门阵列需要使用直接存储器访问通过总线直接访问***内存(对于分布式设备来说是现场可编程门阵列内存)。对于分布式计算设备,为了避免数据被写入现场可编程门阵列内存后再由软件控制远程地址直接访问模块转发到主机内存(因为这种场景性能较差),需要能够支持现场可编程门阵列通过直接存储器访问(加上其他新增逻辑,跳过软件,避免中央处理器介入)直接访问主机内存。对此场景,本实施例中还提供了一种数据处理***,如图6所示,包括计算服务器及计算设备,计算服务器,用于向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;计算设备,用于基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;计算服务器,还用于基于反馈信息将待计算源数据存储于第一存储地址中,并在接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。计算设备还包括:自主转发模块,用于基于远程直接地址访问请求中所携带的链路信息将待计算源数据写入第一存储地址所对应的数据存储空间;自主转发模块,还用于获取第二存储地址所对应的结果存储空间内的计算结果数据,并基于远程直接地址访问请求中所携带的链路信息将计算结果数据写入计算服务器。
具体的,该计算设备包括图形处理器及与其连接的现场可编程门阵列;计算服务器包括中央处理器,主机包括中央处理器、以及与中央处理器连接的主机内存及远程地址直接访问网卡;现场可编程门阵列包括自动转发模块,该自动转发模块可进行内部缓远程地址直接访问存(第一缓存空间),以及与自动转发模块连接的现场可编程门阵列内存(第二缓存空间)、远程地址直接访问模块,该远程地址直接访问模块与远程地址直接访问网卡连接;图形处理器包括双端口内存及计算单元,且图像处理器与现场可编程门阵列之间通过总线(PCIe模块)通信。
以支持图形处理器做直接存储器访问写操作为例,具体工作过程如下:
①计算服务器上的软件申请一块物理地址连续内存区域(第二内存区域),提供给图像处理器访问,并把这段内存的起始地址和长度通知到现场可编程门阵列软核上运行的软件。
②现场可编程门阵列软核上运行的软件将第①步中主机内存的地址配置给图像处理器和自动转发模块,图像处理器会把这块地址当作普通的主机内存进行访问。
③图像处理器开始通过直接存储器访问操作,向上述内存区域写入计算结果数据。
④自动转发模块捕捉到图像处理器(通过直接存储器访问方式)经总线发来的访问内存行为的(属于第②步中已经配置好的地址范围的)地址和数据信号。
⑤自动转发模块将计算结果数据暂时缓存到自己内部的缓存(第一缓存空间),当空间不足时,可使用现场可编程门阵列板上内存(第二缓存空间)。
⑥自动转发模块访问远程地址直接访问模块,将计算结果数据通过远程地址直接访问写操作写入主机内存(第二内存区域)的对应地址(第二地址信息)。
对于图像处理器通过直接存储器访问直接读取主机内存的场景,工作过程如下。
①主机上的软件申请一块物理地址连续内存区域(第一内存区域),提供给图像处理器访问,并把这段内存的起始地址和长度通知到现场可编程门阵列软核上运行的软件。
②现场可编程门阵列软核上运行的软件将第①步中主机内存的地址配置给图像处理器和自动转发模块,图像处理器会把这块地址当作普通的主机内存进行访问。
③图像处理器开始通过直接存储器访问读操作,从上述内存区域读取待计算源数据。
④自动转发模块捕捉到图像处理器(通过直接存储器访问方式)经过总线发来的读取内存行为的(属于第②步中已经配置好的地址范围的)地址信号,但暂时不给图像处理器任何回复。
⑤自动转发模块访问远程地址直接访问模块,将待计算源数据通过远程地址直接访问读操作从主机内存的对应地址复制到内部缓存(第一缓存空间),当空间不足时,可使用现场可编程门阵列板上内存(第二缓存空间)。
⑥自动转发模块开始通过发送总线消息回复图像处理器的直接存储器访问读取行为,同时将待计算源数据传递给图像处理器。
可以理解的,通过计算服务器和计算设备的应用程序间没有任何通知(即网络数据收发)行为,可以节省一定的计算时间。
请参阅图7,为数据处理***中计算设备与计算服务器的数据流图。计算服务器主机包括中央处理器、以及通过PCIe总线与中央处理器连接的第一现场可编程门阵列板,该第一现场可编程门阵列板支持以太网逻辑及远程地址直接访问逻辑;计算设备也包括第二现场可编程门阵列板以及通过PCIe总线连接的图像处理器,第二现场可编程门阵列板上支持太网逻辑及远程地址直接访问逻辑,即第二现场可编程门阵列板与第一现场可编程门阵列板通过太网逻辑及远程地址直接访问逻辑交互。其中,第二现场可编程门阵列板上还设置有相交互的软核及现场可编程门阵列板内存,且现场可编程门阵列板内存也支持采用太网逻辑及远程地址直接访问逻辑进行访问。
具体的,图像处理器和中央处理器通过总线PCIe连接。图像处理器一般至少提供两个基地址寄存器,供中央处理器访问自己。一个是VRAM Bar,中央处理器在对此Bar做地址映射后,即可通过地址访问的方式直接读写图像处理器上内存(称为VRAM,即VisibleRAM)的内容。另一个是寄存器Bar,中央处理器在对此Bar做地址映射后,可通过它读写图像处理器中的各种配置和操作各种功能,比如发起数据传输、读取中断状态、重新启动设备等。
在图像处理器内部,有多个模块。其中AI计算应用程序执行具体的AI计算,MailBox负责协助其它模块与中央处理器进行通信,MCU负责重新启动和电源管理等功能,DMA数据传输模块负责通过DMA的方式访问主机内存,地址转换单元负责帮助其它模块(比如AI计算单元或MCU)将虚拟地址转换为物理地址后访问现场可编程门阵列板上内存或主机内存。
中央处理器上运行的软件可以分为三大部分。内核模式驱动有***最高权限,它负责内存管理(包括对所有寄存器进行地址映射、为各种功能分配VRAM的地址段、创建页表并写入到VRAM用来协助图像处理器中的计算单元和MCU访问VRAM或主机内存等)、向图像处理器写入必需的固件、协助用户模式驱动进行地址映射、处理错误中断等。用户模式驱动作为中间层,负责向应用程序提供API(函数调用接口)、创建数据流(队列)、发起运算、分配和映射VRAM(需要内核模式驱动配合)等。应用程序位于最上层,直接调用普通glibc动态库和用户模式驱动供的API执行用户需要的计算任务。
在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据处理装置,应用于计算服务器,如图8所示,包括:
任务下发模块801,用于通过计算服务器向计算设备下发目标计算任务,目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
信息反馈模块802,用于接收计算设备基于目标计算任务上报的反馈信息,反馈信息包括基于远程直接地址访问请求及待计算源数据的资源占用信息,所分配的用于存储待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址;
数据存储模块803,用于基于反馈信息将待计算源数据存储于第一存储地址中,以使计算设备基于待计算源数据进行数据计算;
数据读取模块804,用于当接收到计算设备基于待计算源数据所上报的计算完成信息时,从第二存储地址中读取计算结果数据。
任务下发模块801包括:
连接建立单元,用于使计算服务器接收计算设备所发起的连接请求,根据连接请求启动目标计算程序;通过目标计算程序建立计算服务器与计算设备的连接,其中计算服务器内存储有任务集群。
任务下发单元,用于获取任务集群中各计算任务的计算状态;基于计算状态及连接请求中所携带的空闲资源状态信息,向计算设备下发目标计算任务。
可选的,任务下发单元包括:
任务选取子单元,用于基于空闲资源状态信息,从计算状态为待计算的计算任务中选取目标计算任务;
信息获取子单元,用于获取目标计算任务中待计算源数据的资源占用信息;
任务下发子单元,用于基于资源占用信息向计算设备下发目标计算任务。
在一些可选的实施方式中,信息反馈模块802,包括:
请求获取单元,用于获取远程直接地址访问请求中的写请求及读请求;
空间分配单元,用于基于资源占用信息为待计算源数据分配数据存储空间及结果存储空间;
第一地址生成单元,用于基于远程直接地址访问请求中的写请求及数据存储空间的地址,生成第一存储地址;
第二地址生成单元,用于基于远程直接地址访问请求中的读请求及结果存储空间的地址,生成第二存储地址;
反馈信息生成单元,用于基于第一存储地址及第二存储地址生成反馈信息。
在一些可选的实施方式中,数据存储模块803包括:
第一区域分配单元,用于当待计算源数据在计算设备所分配的第一存储地址内未存储成功时,在计算服务器内为待计算源数据分配物理地址连续的第一内存区域;
第一信息下发单元,用于将第一内存区域的第一地址信息下发至计算设备,以使计算设备基于第一地址信息从计算服务器的第一内存区域内读取待计算源数据,并进行计算。
可选的,计算设备还包括第一缓存空间及第二缓存空间,第一信息下发单元包括:
第一源数据复制单元,用于使计算设备基于第一地址信息生成读取请求,以请求将从计算服务器读取到的待计算源数据复制到第一缓存空间内;
第一源数据写入单元,用于基于第一存储地址,将第一缓存空间内的待计算源数据写入数据存储空间内;
第二源数据复制单元,当计算设备中第一缓存空间的空间容量不足时,将待计算源数据复制到第二缓存空间内;
第二源数据写入单元,基于第一存储地址,将计算设备中第二缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,数据存储模块803还用于基于第一存储地址,将计算设备中第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内时,获取计算设备中第一缓存空间和/或第二缓存空间内待计算源数据的数据量;当待计算源数据的数据量大于第一数据量阈值时,基于第一存储地址,将第一缓存空间和/或第二缓存空间内的待计算源数据写入数据存储空间内。
在一些可选的实施方式中,数据读取模块804包括:
第一数据读取单元,用于在预设时间内接收到计算设备上报的计算完成信息时,获取第二存储地址;基于第二存储地址从计算设备所分配的结果存储空间内读取计算结果数据。
第二数据读取单元,用于若计算服务器在预设时间内未接收到计算设备基于待计算源数据所上报的计算完成信息、或者无法读取计算结果数据时,则在计算服务器内为计算结果数据分配物理地址连续的第二内存区域;将第二内存区域的第二地址信息下发至计算设备,以使计算设备基于第二地址信息将计算结果数据写入计算服务器的第二内存区域。
可选的,第二数据读取单元包括:
写请求获取子单元,用于使计算设备基于第二地址信息生成的写入请求,以请求将从结果存储空间读取到的计算结果数据缓存于第一缓存空间内;
第一结果写入子单元,用于基于第二地址信息,将计算设备中第一缓存空间内的计算结果数据写入第二内存区域;
第二结果缓存子单元,用于当计算设备中第一缓存空间的空间容量不足时,将计算结果数据缓存于第二缓存空间内;
第二结果写入子单元,基于第二地址信息,将计算设备中第二缓存空间内的计算结果数据写入计算服务器的第二内存区域。
在一些可选的实施方式中,数据读取模块804还用于基于第二地址信息,将第一缓存空间和/或第二缓存空间内的计算结果数据写入第二内存区域内时,获取计算设备中第一缓存空间和/或第二缓存空间内计算结果数据的数据量;当计算结果数据的数据量大于第二数据量阈值时,基于第二地址信息,将第一缓存空间和/或第二缓存空间内的计算结果数据写入第二内存区域内。
在一些可选的实施方式中,数据读取模块804用于基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态;请求类型包括写入请求及读取请求;基于下一缓存状态,确定计算结果数据的结果写入路径以及待计算源数据的数据写出路径;结果写入路径包括由结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由第一缓存空间和/或第二缓存空间到第二内存区域的第二结果写入路径;数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径。
可选的,基于请求类型确定第一缓存空间及第二缓存空间的下一缓存状态时,基于第一缓存空间及第二缓存空间的可写入空间及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为满状态;基于第一缓存空间及第二缓存空间中可写出的待计算源数据、计算结果数据及请求类型,确定第一缓存空间及第二缓存空间的下一缓存状态是否为空状态。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的数据处理装置是以功能单元的形式来呈现,这里的单元是指ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图8所示的数据处理装置。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、服务器集群、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (21)
1.一种数据处理方法,其特征在于,所述方法包括:
通过计算服务器向计算设备下发目标计算任务,所述目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
接收所述计算设备基于所述目标计算任务上报的反馈信息,所述反馈信息包括基于所述远程直接地址访问请求及所述待计算源数据的资源占用信息,所分配的用于存储所述待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址,所述第二存储地址对应的存储空间为结果存储空间;
基于所述反馈信息将所述待计算源数据存储于所述第一存储地址中,以使所述计算设备基于所述待计算源数据进行数据计算;
当接收到所述计算设备基于所述待计算源数据所上报的计算完成信息时,从所述第二存储地址中读取所述计算结果数据;
所述计算服务器包括用于存储所述待计算源数据的第一内存区域以及用于存储计算结果数据第二内存区域;所述计算设备还包括第一缓存空间及第二缓存空间,所述第二缓存空间为所述第一缓存空间不足时进行数据缓存的空间;所述方法还包括:
基于请求类型确定所述第一缓存空间及所述第二缓存空间的下一缓存状态;所述请求类型包括写入请求及读取请求;
基于所述下一缓存状态,确定所述计算结果数据的结果写入路径以及所述待计算源数据的数据写出路径;
所述结果写入路径包括由所述结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由所述第一缓存空间和/或第二缓存空间到所述第二内存区域的第二结果写入路径;
所述数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由所述第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径,所述数据存储空间是为所述待计算源数据分配的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述计算设备生成所述反馈信息,包括:
获取所述远程直接地址访问请求中的写请求及读请求;
基于所述资源占用信息为所述待计算源数据分配数据存储空间及结果存储空间;
基于所述远程直接地址访问请求中的写请求及所述数据存储空间的地址,生成第一存储地址;
基于所述远程直接地址访问请求中的读请求及所述结果存储空间的地址,生成第二存储地址;
基于所述第一存储地址及所述第二存储地址生成所述反馈信息。
3.根据权利要求2所述的方法,其特征在于,所述计算服务器基于所述反馈信息将所述待计算源数据存储于所述第一存储地址中,以使所述计算设备基于所述待计算源数据进行数据计算,包括:
所述计算服务器获取用于存储所述待计算源数据的所述第一存储地址;
基于所述第一存储地址将所述待计算源数据写入所述计算设备所分配的数据存储空间内,并生成一计算指令,以使所述计算设备基于所述待计算源数据进行数据计算。
4.根据权利要求2或3所述的方法,其特征在于,所述计算服务器基于所述反馈信息将所述待计算源数据存储于所述第一存储地址,还包括:
当所述待计算源数据在所述计算设备所分配的第一存储地址内未存储成功时,在所述计算服务器内为所述待计算源数据分配物理地址连续的所述第一内存区域;
将所述第一内存区域的第一地址信息下发至所述计算设备,以使所述计算设备基于所述第一地址信息从所述计算服务器的第一内存区域内读取所述待计算源数据,并进行计算。
5.根据权利要求4所述的方法,其特征在于,所述计算设备基于所述第一地址信息从所述计算服务器的第一内存区域内读取所述待计算源数据,包括:
所述计算设备基于所述第一地址信息生成读取请求,以请求将从所述计算服务器读取到的所述待计算源数据复制到所述第一缓存空间内;
基于所述第一存储地址,将所述第一缓存空间内的待计算源数据写入所述数据存储空间内。
6.根据权利要求5所述的方法,其特征在于,将所述待计算源数据复制到所述第一缓存空间内,还包括:
当所述计算设备中第一缓存空间的空间容量不足时,将所述待计算源数据复制到所述第二缓存空间内;
基于所述第一存储地址,将所述计算设备中第二缓存空间内的待计算源数据写入所述数据存储空间内。
7.根据权利要求2或3所述的方法,其特征在于,所述计算服务器从所述第二存储地址中读取所述计算结果数据,包括:
在预设时间内接收到所述计算设备上报的计算完成信息时,获取所述第二存储地址;
基于所述第二存储地址从所述计算设备所分配的结果存储空间内读取所述计算结果数据。
8.根据权利要求6所述的方法,其特征在于,所述计算服务器从所述第二存储地址中读取所述计算结果数据,还包括:
若所述计算服务器在预设时间内未接收到所述计算设备基于所述待计算源数据所上报的所述计算完成信息、或者无法读取所述计算结果数据,则在所述计算服务器内为所述计算结果数据分配物理地址连续的所述第二内存区域;
将所述第二内存区域的第二地址信息下发至所述计算设备,以使所述计算设备基于所述第二地址信息将所述计算结果数据写入所述计算服务器的第二内存区域。
9.根据权利要求8所述的方法,其特征在于,所述计算设备基于所述第二地址信息将所述计算结果数据写入所述第二内存区域,包括:
所述计算设备基于所述第二地址信息生成的写入请求,以请求将从所述结果存储空间读取到的所述计算结果数据缓存于所述第一缓存空间内;
基于所述第二地址信息,将所述计算设备中第一缓存空间内的所述计算结果数据写入所述第二内存区域。
10.根据权利要求9所述的方法,其特征在于,所述将从所述结果存储空间读取到的所述计算结果数据缓存于所述第一缓存空间内,还包括:
当所述计算设备中第一缓存空间的空间容量不足时,将所述计算结果数据缓存于所述第二缓存空间内;
基于所述第二地址信息,将所述计算设备中第二缓存空间内的所述计算结果数据写入所述计算服务器的第二内存区域。
11.根据权利要求6所述的方法,其特征在于,基于所述第一存储地址,将所述计算设备中第一缓存空间和/或第二缓存空间内的待计算源数据写入所述数据存储空间内,包括:
获取所述计算设备中第一缓存空间和/或第二缓存空间内所述待计算源数据的数据量;
当所述待计算源数据的数据量大于第一数据量阈值时,基于所述第一存储地址,将所述第一缓存空间和/或第二缓存空间内的待计算源数据写入所述数据存储空间内。
12.根据权利要求10所述的方法,其特征在于,基于所述第二地址信息,将所述计算设备中第一缓存空间和/或第二缓存空间内的计算结果数据写入所述第二内存区域内,包括:
获取所述计算设备中第一缓存空间和/或第二缓存空间内所述计算结果数据的数据量;
当所述计算结果数据的数据量大于第二数据量阈值时,基于所述第二地址信息,将所述第一缓存空间和/或第二缓存空间内的计算结果数据写入所述第二内存区域内。
13.根据权利要求12所述的方法,其特征在于,基于请求类型确定所述第一缓存空间及所述第二缓存空间的下一缓存状态,包括:
基于所述第一缓存空间及所述第二缓存空间的可写入空间及所述请求类型,确定所述第一缓存空间及所述第二缓存空间的下一缓存状态是否为满状态;
基于所述第一缓存空间及所述第二缓存空间中可写出的待计算源数据、计算结果数据及所述请求类型,确定所述第一缓存空间及所述第二缓存空间的下一缓存状态是否为空状态。
14.根据权利要求1所述的方法,其特征在于,计算服务器向计算设备下发计算任务前,所述方法还包括:
所述计算服务器接收所述计算设备所发起的连接请求,根据所述连接请求启动目标计算程序;
通过所述目标计算程序建立所述计算服务器与所述计算设备的连接。
15.根据权利要求14所述的方法,其特征在于,所述计算服务器内存储有任务集群,所述计算服务器向计算设备下发目标计算任务,包括:
获取所述任务集群中各计算任务的计算状态;
基于所述计算状态及所述连接请求中所携带的空闲资源状态信息,向所述计算设备下发所述目标计算任务。
16.根据权利要求15所述的方法,其特征在于,基于所述计算状态及所述连接请求中所携带的空闲资源状态信息,向所述计算设备下发所述目标计算任务,包括:
基于所述空闲资源状态信息,从所述计算状态为待计算的计算任务中选取目标计算任务;
获取所述目标计算任务中待计算源数据的资源占用信息;
基于所述资源占用信息向所述计算设备下发所述目标计算任务。
17.一种数据处理装置,其特征在于,所述装置包括:
任务下发模块,用于通过计算服务器向计算设备下发目标计算任务,所述目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
信息反馈模块,用于接收所述计算设备基于所述目标计算任务上报的反馈信息,所述反馈信息包括基于所述远程直接地址访问请求及所述待计算源数据的资源占用信息,所分配的用于存储所述待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址,所述第二存储地址对应的存储空间为结果存储空间;
数据存储模块,用于基于所述反馈信息将所述待计算源数据存储于所述第一存储地址中,以使所述计算设备基于所述待计算源数据进行数据计算;
数据读取模块,用于当接收到所述计算设备基于所述待计算源数据所上报的计算完成信息时,从所述第二存储地址中读取所述计算结果数据;
所述计算服务器包括用于存储所述待计算源数据的第一内存区域以及用于存储计算结果数据第二内存区域;所述计算设备还包括第一缓存空间及第二缓存空间,所述第二缓存空间为所述第一缓存空间不足时进行数据缓存的空间;所述数据读取模块,还用于基于请求类型确定所述第一缓存空间及所述第二缓存空间的下一缓存状态;所述请求类型包括写入请求及读取请求;基于所述下一缓存状态,确定所述计算结果数据的结果写入路径以及所述待计算源数据的数据写出路径;所述结果写入路径包括由所述结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由所述第一缓存空间和/或第二缓存空间到所述第二内存区域的第二结果写入路径;所述数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由所述第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径,所述数据存储空间是为所述待计算源数据分配的存储空间。
18.一种数据处理***,其特征在于,包括:计算服务器及计算设备,所述计算服务器包括用于存储待计算源数据的第一内存区域以及用于存储计算结果数据第二内存区域;所述计算设备还包括第一缓存空间及第二缓存空间,所述第二缓存空间为所述第一缓存空间不足时进行数据缓存的空间;
所述计算服务器,用于向所述计算设备下发目标计算任务,所述目标计算任务中包括待计算源数据的资源占用信息及远程直接地址访问请求;
所述计算设备,用于基于所述目标计算任务上报的反馈信息,所述反馈信息包括基于所述远程直接地址访问请求及所述待计算源数据的资源占用信息,所分配的用于存储所述待计算源数据的第一存储地址以及用于存储计算结果数据的第二存储地址,所述第二存储地址对应的存储空间为结果存储空间;
所述计算服务器,还用于基于所述反馈信息将所述待计算源数据存储于所述第一存储地址中,并在接收到所述计算设备基于所述待计算源数据所上报的计算完成信息时,从所述第二存储地址中读取所述计算结果数据;
所述计算设备,还用于基于请求类型确定所述第一缓存空间及所述第二缓存空间的下一缓存状态;所述请求类型包括写入请求及读取请求;基于所述下一缓存状态,确定所述计算结果数据的结果写入路径以及所述待计算源数据的数据写出路径;所述结果写入路径包括由所述结果存储空间到第一缓存空间和/或第二缓存空间的第一结果写入路径,以及由所述第一缓存空间和/或第二缓存空间到所述第二内存区域的第二结果写入路径;所述数据写出路径包括由第一内存区域到第一缓存空间和/或第二缓存空间的第一数据写出路径,以及由所述第一缓存空间和/或第二缓存空间到数据存储空间的第二数据写出路径,所述数据存储空间是为所述待计算源数据分配的存储空间。
19.根据权利要求18所述的***,其特征在于,所述计算设备还包括:
自主转发模块,用于基于所述远程直接地址访问请求中所携带的链路信息将所述待计算源数据写入所述第一存储地址所对应的数据存储空间;
所述自主转发模块,还用于获取所述第二存储地址所对应的结果存储空间内的所述计算结果数据,并基于所述远程直接地址访问请求中所携带的链路信息将所述计算结果数据写入所述计算服务器。
20.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至16中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141816.1A CN116881191B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311141816.1A CN116881191B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881191A CN116881191A (zh) | 2023-10-13 |
CN116881191B true CN116881191B (zh) | 2024-01-16 |
Family
ID=88255382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311141816.1A Active CN116881191B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881191B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612734A (zh) * | 2020-12-18 | 2021-04-06 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN114153754A (zh) * | 2022-02-08 | 2022-03-08 | 维塔科技(北京)有限公司 | 用于计算集群的数据传输方法、装置及存储介质 |
CN115396422A (zh) * | 2022-07-26 | 2022-11-25 | 阿里巴巴(中国)有限公司 | 数据传输方法及装置 |
CN116627888A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 硬件计算模块、设备、方法、电子设备及存储介质 |
CN116680042A (zh) * | 2022-02-22 | 2023-09-01 | 华为技术有限公司 | 一种图像处理的方法及相关装置和*** |
-
2023
- 2023-09-06 CN CN202311141816.1A patent/CN116881191B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612734A (zh) * | 2020-12-18 | 2021-04-06 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
WO2022126919A1 (zh) * | 2020-12-18 | 2022-06-23 | 平安科技(深圳)有限公司 | 文件传输方法、装置、计算机设备及存储介质 |
CN114153754A (zh) * | 2022-02-08 | 2022-03-08 | 维塔科技(北京)有限公司 | 用于计算集群的数据传输方法、装置及存储介质 |
CN116680042A (zh) * | 2022-02-22 | 2023-09-01 | 华为技术有限公司 | 一种图像处理的方法及相关装置和*** |
CN115396422A (zh) * | 2022-07-26 | 2022-11-25 | 阿里巴巴(中国)有限公司 | 数据传输方法及装置 |
CN116627888A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 硬件计算模块、设备、方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116881191A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099941B (zh) | 实现硬件加速处理的方法、设备和*** | |
CN110647480B (zh) | 数据处理方法、远程直接访存网卡和设备 | |
CN113918101B (zh) | 一种写数据高速缓存的方法、***、设备和存储介质 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
US10932202B2 (en) | Technologies for dynamic multi-core network packet processing distribution | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
US10062137B2 (en) | Communication between integrated graphics processing units | |
US10831684B1 (en) | Kernal driver extension system and method | |
CN115421787A (zh) | 指令执行方法、装置、设备、***、程序产品及介质 | |
US20230342086A1 (en) | Data processing apparatus and method, and related device | |
CN117370046A (zh) | 进程间通信方法、***、设备和存储介质 | |
CN116881191B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105988871B (zh) | 一种远端内存分配方法、装置和*** | |
CN112416826B (zh) | 专用计算芯片、dma数据传输***及方法 | |
US7979660B2 (en) | Paging memory contents between a plurality of compute nodes in a parallel computer | |
CN115878311A (zh) | 一种计算节点集群、数据聚合方法和相关设备 | |
CN116383127B (zh) | 节点间通信方法、装置、电子设备及存储介质 | |
CN117806833B (zh) | 一种数据处理***、方法及介质 | |
CN116775510B (zh) | 数据访问方法、装置、服务器和计算机可读存储介质 | |
KR102536943B1 (ko) | 데이터 절감 장치, 데이터 절감 방법 및 데이터 절감 장치를 포함하는 시스템 | |
CN114253733B (zh) | 一种内存管理方法、装置、计算机设备和存储介质 | |
US20230195664A1 (en) | Software management of direct memory access commands | |
EP3798835B1 (en) | Method, device, and system for implementing hardware acceleration processing | |
WO2022099446A1 (zh) | 一种内存管理的方法以及相关装置 | |
CN108762666B (zh) | 一种存储***的访问方法、***、介质及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |