CN107102957A - 一种基于gpu与nic之间的内存高速直接交换的方法及系统 - Google Patents
一种基于gpu与nic之间的内存高速直接交换的方法及系统 Download PDFInfo
- Publication number
- CN107102957A CN107102957A CN201610095729.0A CN201610095729A CN107102957A CN 107102957 A CN107102957 A CN 107102957A CN 201610095729 A CN201610095729 A CN 201610095729A CN 107102957 A CN107102957 A CN 107102957A
- Authority
- CN
- China
- Prior art keywords
- gpu
- memory
- cpu
- memory block
- network interface
- 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
Links
Classifications
-
- 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/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于GPU与NIC之间的内存高速直接交换的方法和系统,所述对系统包括CPU、GPU和NIC,还包括:GPU存储区分配模块,用于CPU应用程序在GPU内存中分配一个或多个存储区并将分配的内存块的参数返回给CPU;信息传递模块,用于CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块信息保存;数据直传模块,用于网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中存储。本发明解决了数据从网卡传到GPU需要多次在不同的内存区域之间拷贝问题。减少数据传输时间,减少数据延迟时间,提高了数据吞吐量,减少了因开辟缓冲区而对内存的占用,提高了系统性能。
Description
技术领域
本发明涉及一种基于GPU与NIC之间的内存高速直接交换的方法及系统。
背景技术
随着GPU技术的快速发展,当前的GPU已经具有很强的并行计算能力,浮点运算能力甚至可以达到同代CPU的10倍以上。同时,随着Nvidia公司CUDA的推出,使得GPU具有更好的可编程性,因此,在诸如数据库防火墙、网络防火墙、信息安全保护、图像处理等通用计算领域有着广泛的应用。如何充分利用GPU的并行计算特点实现海量网络数据的快速处理,已经成为当今的热点问题之一。GPU具有独特的硬件结构,采用常规的网络数据交换方法,由于数据交换的延迟,很难发挥GPU的并行运算优势。图1是现有GPU与NIC网络数据传输示意图。常规的方法对此类涉及大量数据的应用的传输与处理并不高效。从图1中可以看出,共涉及三次数据复制:第一次从网卡缓冲区复制到CPU内核内存区,内核协议栈处理后将数据从内核内存区复制到用户内存区,最后从用户内存区复制到GPU内存区供GPU使用。从网卡到GPU内存中的三次数据复制,增加了数据传输延迟,可能需要几微秒到几百微秒的时间用于数据传输。其次,分配主存储器作为缓冲区,以临时存储数据,也导致可用内存减少。最后,在多个存储区之间的数据传输的数据吞吐量也受到严重影响,因为处理器必须等待缓冲区被填充有数据,才能复制数据。因此,目前方法存在以下问题:
1、多次内存数据交换,导致数据传输延迟时间长;
2、多个存储区之间的数据传输,数据吞吐量受到严重影响;
3、由于开辟存储缓冲区,占用大量内存空间,导致可用内存资源减少。
发明内容
本发明的目的在于提出一种在图形处理器(GPU)和网卡(NIC)之间的内存高速直接传输数据的方法及系统。本发明通过在GPU和NIC之间的数据直接传输机制,实现GPU快速处理海量网络数据的目的。
本发明采用的技术方案是,一种基于GPU与NIC之间的内存高速直接交换的方法,包括下列步骤:
步骤1,CPU应用程序在GPU内存中分配一个或多个存储区,并将每块内存区的物理地址和大小用一个内存块参数标记,然后,将分配的GPU内存块映射到CPU内存空间的一个虚拟地址中;
步骤2,GPU将分配的内存块参数返回给CPU;
步骤3,CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块信息保存;
步骤4,网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中;
步骤5,网卡驱动触发一个CPU中断;
步骤6,CPU收到中断后即启动GPU处理数据,然后返回步骤4循环。
在一实施例中,CPU通过ioctl系统函数将内存块传送给网卡的DMA控制器,每分配一块GPU内存块调用一次ioctl,将内存块参数传递给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的内存块参数并保存相应的信息;
步骤1中,使用NIVIDIA公司的CUDA开发工具库中的cuMemMap函数将分配的GPU内存块映射到CPU内存空间的一个虚拟地址中。
所述的内存块参数采用GPUMemStruct(Kn,Mn)格式,步骤3中CPU通过调用Linux下的ioctl将GPUMemStruct(Kn,Mn)内存块信息传递给CPU内核网卡驱动,网卡驱动程序将获得的GPUMemStruct(K1,M1)保存。
网卡驱动使用函数dma_alloc_coherent分配GPUMemStruct(Kn,Mn),每调用一次此函数会分配一块内存区,多次调用生成一个内存区队列。
本发明还提出一种基于GPU与NIC之间的内存高速直接交换的系统,包括CPU、GPU和NIC,还包括:
GPU存储区分配模块,用于CPU应用程序在GPU内存中分配一个或多个存储区,并将每块内存区的物理地址和大小用一个内存块参数标记,然后,将分配的GPU内存块映射到CPU内存空间的一个虚拟地址,并将分配的内存块的参数返回给CPU;
信息传递模块,用于CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块参数信息保存;
数据直传模块,用于网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中存储。
所述信息传递模块通过ioctl系统函数将内存块传送给网卡的DMA控制器,每分配一块GPU内存块调用一次ioctl,将内存块参数传递给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的内存块参数并保存相应的信息。
所述GPU存储区分配模块使用NIVIDIA公司的CUDA开发工具库中的cuMemMap函数将分配的GPU内存块映射到用户内存空间的一个虚拟地址中。
本发明解决了数据从网卡传到GPU需要多次在不同的内存区域之间拷贝问题。减少数据传输时间,减少数据延迟时间,提高了数据吞吐量,减少了因开辟缓冲区而对内存的占用,提高了系统性能。
附图说明
图1是现有GPU与NIC网络数据传输示意图;
图2是本发明提出的GPU与NIC网络数据直接内存传输示意图;
图3 是本发明提出的GPU与NIC网络数据直接内存传输流程图。
具体实施方式
下面结合附图和实施例对发明进行详细的说明。
在现有的方法中,需要减少多个存储区之间的数据复制操作来提高数据传输效率。因此需要结合GPU和网卡的硬件特点,来减少数据的复制次数甚至完全避免数据复制,才能有效提高GPU的网络数据处理能力。
在现有数据复制流程中有两个过程可以避免,一是从CPU的内核内存区到CPU的用户内存区,另一个是从CPU的用户内存区到GPU的内存区。最终的流程变成从网卡的缓冲区直接复制到GPU的内存区。由于直接从网卡将数据复制到GPU内存中略过了内核对数据的协议栈处理,因此需要GPU对数据作协议栈的解析。
本发明具体实现方案如下:
首先由应用程序分配一块或多块GPU的内存,并将每块内存区的物理地址和大小保存在一个结构体中,例如,标记为GPUMemStruct
(K1,M1;……Kn,Mn),其中:K1为GPU内存块大小,M1为GPU内存块地址,通过Linux 的ioctl系统函数传送给网卡的DMA控制器,每分配一块GPU内存调用一次ioctl传递GPUMemStruct(K1,M1)参数给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的结构体并保存相应的信息。每当网卡接收到数据时就会将数据按传递给网卡DMA控制器的GPU内存块的顺序复制到相应的GPU内存块中。图2显示结构体GPUMemStruct(K1,M1)的生成过程:
网卡驱动使用Linux函数dma_alloc_coherent分配GPUMemStruct(K1,M1),此函数分配一块一致的内存区,设备或CPU往此内存区写入的内容可以立即被设备或CPU读取,而不用担心缓存问题。网卡驱动分配GPU内存结构体的最大数目及最大内存块大小由驱动设定,可以通过向驱动传递配置参数而改变,网卡启动时会设置一个默认的参数。每调用一次此函数会分配一块内存区,多次调用生成一个内存区队列。
GPU内存块的地址和大小会通过网卡驱动传递给网卡的DMA(直接内存存取)控制器,当网卡收到数据时DMA控制器可以利用获得的GPU内存块信息向GPU直接传送数据。
GPU与NIC网络数据直接内存传输流程如下:
步骤1、CPU应用程序在GPU内存中申请一个存储区,内存块大小为K1,用NIVIDIA公司的CUDA开发工具链中的cuMemMap函数,此函数将分配的GPU内存块映射到用户内存空间的一个虚拟地址;
步骤2、GPU将分配的内存块地址M1返回给CPU;
步骤3,CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块信息保存;
例如,调用Linux下的ioctl
将GPUMemStruct(K1,M1)传递给CPU内核网卡驱动,网卡驱动程序将获得的GPUMemStruct(K1,M1)保存;
步骤4,网卡收到网络数据后,网卡驱动开始处理;网卡的DMA控制器访问获得的内存块参数GPUMemStruct(K1,M1)GPU内存块信息,然后将数据直接发送到GPU对应的内存块中;
步骤5,网卡驱动触发一个CPU中断;
步骤6,CPU收到中断后即启动GPU处理数据,然后返回步骤4循环。
本发明还提出一种基于GPU与NIC之间的内存高速直接交换的系统,包括CPU、GPU和NIC,还包括:
GPU存储区分配模块,用于CPU应用程序在GPU内存中分配一个或多个存储区,并将每块内存区的物理地址和大小保存在一个结构体中标记,然后,将分配的GPU内存块映射到用户内存空间的一个虚拟地址,并将分配的内存块的参数返回给CPU;
信息传递模块,用于CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块信息保存;
数据直传模块,用于网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中存储。
所述信息传递模块通过Linux的ioctl系统函数将内存块传送给网卡的DMA控制器,每分配一块GPU内存块调用一次Linux的ioctl,将内存块参数传递给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的结构体并保存相应的信息。
所述GPU存储区分配模块使用NIVIDIA公司的CUDA开发工具库中的cuMemMap函数将分配的GPU内存块映射到用户内存空间的一个虚拟地址中。
所述GPU存储区分配模块使用函数dma_alloc_coherent分配GPUMemStruct(Kn,Mn),每调用一次此函数会分配一块内存区,多次调用生成一个内存区队列。
本发明实现了一种在图形处理器(GPU)和网卡(NIC)之间的内存高速直接传输数据的方法,主要用于通过网卡从网络获取大量数据并传输给GPU处理的应用,在数据高吞吐量的当前,我们广泛使用的是1G或10G网卡,超过200G以上的更高性能的网卡已经推出,数据高吞吐量时代即将来临。在高吞吐量环境下,数据量大,数据处理速度性能要求高,特别在数据安全保护领域,需求更加迫切,本发明适用于高吞吐量数据库防火墙、网络防火墙、高速实时超高清图像处理等海量网络数据的交换处理。
上述实施例仅用于说明本发明的具体实施方式。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和变化,这些变形和变化都应属于本发明的保护范围。
Claims (10)
1.一种基于GPU与NIC之间的内存高速直接交换的方法,其特征在于,包括下列步骤:
步骤1,CPU应用程序在GPU内存中分配一个或多个存储区,并将每块内存区的物理地址和大小用一个内存块参数标记,然后,将分配的GPU内存块映射到CPU内存空间的一个虚拟地址中;
步骤2,GPU将分配的内存块参数返回给CPU;
步骤3,CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块信息保存;
步骤4,网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中;
步骤5,网卡驱动触发一个CPU中断;
步骤6,CPU收到中断后即启动GPU处理数据,然后返回步骤4循环。
2.如权利要求1所述的方法,其特征在于:CPU通过ioctl系统函数将内存块传送给网卡的DMA控制器,每分配一块GPU内存块调用一次ioctl,将内存块参数传递给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的内存块参数并保存相应的信息。
3.如权利要求1所述的方法,其特征在于:步骤1中,使用NIVIDIA公司的CUDA开发工具库中的cuMemMap函数将分配的GPU内存块映射到CPU内存空间的一个虚拟地址中。
4.如权利要求1所述的方法,其特征在于:所述的内存块参数采用GPUMemStruct(Kn,Mn)格式,步骤3中CPU通过调用Linux下的ioctl将GPUMemStruct(Kn,Mn)内存块信息传递给CPU内核网卡驱动,网卡驱动程序将获得的GPUMemStruct(K1,M1)保存。
5.如权利要求1所述的方法,其特征在于:网卡驱动使用函数dma_alloc_coherent分配GPUMemStruct(Kn,Mn),每调用一次此函数会分配一块内存区,多次调用生成一个内存区队列。
6.一种基于GPU与NIC之间的内存高速直接交换的系统,包括CPU、GPU和NIC,其特征在于,还包括:
GPU存储区分配模块,用于CPU应用程序在GPU内存中分配一个或多个存储区,并将每块内存区的物理地址和大小用一个内存块参数标记,然后,将分配的GPU内存块映射到CPU内存空间的一个虚拟地址,并将分配的内存块的参数返回给CPU;
信息传递模块,用于CPU将内存块参数传递给内核网卡驱动,网卡驱动程序将获得的GPU内存块参数信息保存;
数据直传模块,用于网卡收到网络数据后,网卡的DMA控制器访问获得的内存块参数,然后将数据直接发送到GPU对应的内存块中存储。
7.如权利要求6所述的系统,其特征在于:信息传递模块通过ioctl系统函数将内存块传送给网卡的DMA控制器,每分配一块GPU内存块调用一次ioctl,将内存块参数传递给网卡DMA控制器,网卡DMA控制器给每个GPU内存块分配一个相同的内存块参数并保存相应的信息。
8.如权利要求6所述的系统,其特征在于:GPU存储区分配模块使用NIVIDIA公司的CUDA开发工具库中的cuMemMap函数将分配的GPU内存块映射到用户内存空间的一个虚拟地址中。
9.如权利要求6所述的系统,其特征在于:所述内存块参数采用GPUMemStruct(Kn,Mn)格式,步骤3中CPU通过调用Linux下的ioctl将GPUMemStruct(Kn,Mn)内存块信息传递给CPU内核网卡驱动,网卡驱动程序将获得的GPUMemStruct(K1,M1)保存。
10.如权利要求6或9所述的系统,其特征在于:GPU存储区分配模块使用函数dma_alloc_coherent分配GPUMemStruct(Kn,Mn),每调用一次此函数会分配一块内存区,多次调用生成一个内存区队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610095729.0A CN107102957A (zh) | 2016-02-22 | 2016-02-22 | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610095729.0A CN107102957A (zh) | 2016-02-22 | 2016-02-22 | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107102957A true CN107102957A (zh) | 2017-08-29 |
Family
ID=59658342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610095729.0A Pending CN107102957A (zh) | 2016-02-22 | 2016-02-22 | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107102957A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870878A (zh) * | 2017-10-31 | 2018-04-03 | 深圳清华大学研究院 | 存储系统、终端及计算机装置 |
CN109828940A (zh) * | 2019-01-31 | 2019-05-31 | 郑州云海信息技术有限公司 | 一种智能网卡及数据处理系统和方法 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
CN112465689A (zh) * | 2020-10-21 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 基于可见显存交换区的gpu不可见显存管理方法及系统 |
EP3796179A1 (en) * | 2019-09-19 | 2021-03-24 | INTEL Corporation | System, apparatus and method for processing remote direct memory access operations with a device-attached memory |
CN113190476A (zh) * | 2021-04-14 | 2021-07-30 | 摩尔线程智能科技(北京)有限责任公司 | 数据传输方法和装置 |
CN113556403A (zh) * | 2021-07-30 | 2021-10-26 | 中科计算技术西部研究院 | 一种用于分布式训练的通信方法及系统 |
US11263145B2 (en) | 2018-08-31 | 2022-03-01 | Nyriad Limited | Vector processor storage |
CN115934323A (zh) * | 2022-12-02 | 2023-04-07 | 北京首都在线科技股份有限公司 | 云端计算资源的调用方法、装置、电子设备及存储介质 |
WO2023071158A1 (zh) * | 2021-10-26 | 2023-05-04 | 西安广和通无线通信有限公司 | 内存优化方法、装置、终端、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291298A (zh) * | 2011-08-05 | 2011-12-21 | 曾小荟 | 一种高效的面向长消息的计算机网络通信方法 |
CN102402462A (zh) * | 2010-09-30 | 2012-04-04 | 微软公司 | 用于对启用gpu的虚拟机进行负载平衡的技术 |
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
CN103970680A (zh) * | 2014-04-28 | 2014-08-06 | 上海华为技术有限公司 | 内存管理方法、装置及嵌入式系统 |
-
2016
- 2016-02-22 CN CN201610095729.0A patent/CN107102957A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402462A (zh) * | 2010-09-30 | 2012-04-04 | 微软公司 | 用于对启用gpu的虚拟机进行负载平衡的技术 |
CN102291298A (zh) * | 2011-08-05 | 2011-12-21 | 曾小荟 | 一种高效的面向长消息的计算机网络通信方法 |
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
CN103970680A (zh) * | 2014-04-28 | 2014-08-06 | 上海华为技术有限公司 | 内存管理方法、装置及嵌入式系统 |
Non-Patent Citations (3)
Title |
---|
FENG JI等: "DMA-Assisted, Intranode Communication in GPU Accelerated Systems", 《2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATION & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS》 * |
MICHAEL BAUER等: "CudaDMA: Optimizing GPU memory bandwidth via warp specialization", 《 SC "11: PROCEEDINGS OF 2011 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS》 * |
ROBERTO AMMENDOLA等: "Virtual-to-Physical address translation for an FPGA-based interconnect with host and GPU remote DMA capabilities", 《2013 INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE TECHNOLOGY (FPT)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870878A (zh) * | 2017-10-31 | 2018-04-03 | 深圳清华大学研究院 | 存储系统、终端及计算机装置 |
US11263145B2 (en) | 2018-08-31 | 2022-03-01 | Nyriad Limited | Vector processor storage |
US11782844B2 (en) | 2018-08-31 | 2023-10-10 | Nyriad Inc. | Vector processor storage |
US11347653B2 (en) | 2018-08-31 | 2022-05-31 | Nyriad, Inc. | Persistent storage device management |
US11263144B2 (en) | 2018-08-31 | 2022-03-01 | Nyriad Limited | Block device interface using non-volatile pinned memory |
CN109828940A (zh) * | 2019-01-31 | 2019-05-31 | 郑州云海信息技术有限公司 | 一种智能网卡及数据处理系统和方法 |
CN110442389A (zh) * | 2019-08-07 | 2019-11-12 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
CN110442389B (zh) * | 2019-08-07 | 2024-01-09 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
EP3796179A1 (en) * | 2019-09-19 | 2021-03-24 | INTEL Corporation | System, apparatus and method for processing remote direct memory access operations with a device-attached memory |
US11036650B2 (en) | 2019-09-19 | 2021-06-15 | Intel Corporation | System, apparatus and method for processing remote direct memory access operations with a device-attached memory |
CN112465689A (zh) * | 2020-10-21 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 基于可见显存交换区的gpu不可见显存管理方法及系统 |
CN113190476A (zh) * | 2021-04-14 | 2021-07-30 | 摩尔线程智能科技(北京)有限责任公司 | 数据传输方法和装置 |
CN113556403A (zh) * | 2021-07-30 | 2021-10-26 | 中科计算技术西部研究院 | 一种用于分布式训练的通信方法及系统 |
CN113556403B (zh) * | 2021-07-30 | 2023-06-09 | 中科计算技术西部研究院 | 一种用于分布式训练的通信方法及系统 |
WO2023071158A1 (zh) * | 2021-10-26 | 2023-05-04 | 西安广和通无线通信有限公司 | 内存优化方法、装置、终端、存储介质 |
CN115934323A (zh) * | 2022-12-02 | 2023-04-07 | 北京首都在线科技股份有限公司 | 云端计算资源的调用方法、装置、电子设备及存储介质 |
CN115934323B (zh) * | 2022-12-02 | 2024-01-19 | 北京首都在线科技股份有限公司 | 云端计算资源的调用方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107102957A (zh) | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 | |
CN102609298B (zh) | 基于硬件队列扩展的网卡虚拟化系统及其方法 | |
US9658981B2 (en) | Network interface card for a computing node of a parallel computer accelerated by general purpose graphics processing units, and related inter-node communication method | |
CN102906726B (zh) | 协处理加速方法、装置及系统 | |
CN110737536B (zh) | 一种基于共享内存的消息存储方法和消息读取方法 | |
CN105656805B (zh) | 一种基于控制块预分配的分组接收方法和装置 | |
US11470394B2 (en) | Scalable light-weight protocols for wire-speed packet ordering | |
CN104102542A (zh) | 一种网络数据包处理方法和装置 | |
CN113515396A (zh) | 图形渲染方法、装置、电子设备与存储介质 | |
CN111190854A (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN111400212A (zh) | 一种基于远程直接数据存取的传输方法、设备 | |
CN109547519A (zh) | 反向代理方法、装置及计算机可读存储介质 | |
CN112835843A (zh) | 数据渲染方法及系统 | |
Agostini et al. | GPUDirect Async: Exploring GPU synchronous communication techniques for InfiniBand clusters | |
CN105677491A (zh) | 一种数据传输方法及装置 | |
CN109509139A (zh) | 顶点数据处理方法、装置及设备 | |
CN105808345B (zh) | 数据处理方法、加速引擎、控制板和系统 | |
TW200617668A (en) | Cache memory management system and method | |
US20150121376A1 (en) | Managing data transfer | |
CN110445580A (zh) | 数据发送方法及装置、存储介质、电子装置 | |
CN102117261B (zh) | 一种芯片内部处理器之间的通信方法 | |
CN104468417B (zh) | 一种堆叠交换机报文传输方法、系统及堆叠交换机 | |
US10579310B2 (en) | System and method for reliably persisting storage writes at high speed | |
CN110659143A (zh) | 一种容器间的通讯方法、装置及电子设备 | |
WO2001016761A2 (en) | Efficient page allocation |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170829 |