CN111262917A - 一种基于fpga云平台的远端数据搬移装置和方法 - Google Patents
一种基于fpga云平台的远端数据搬移装置和方法 Download PDFInfo
- Publication number
- CN111262917A CN111262917A CN202010031268.7A CN202010031268A CN111262917A CN 111262917 A CN111262917 A CN 111262917A CN 202010031268 A CN202010031268 A CN 202010031268A CN 111262917 A CN111262917 A CN 111262917A
- Authority
- CN
- China
- Prior art keywords
- acceleration
- fpga
- data
- card
- accelerated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000001133 acceleration Effects 0.000 claims abstract description 217
- 230000015654 memory Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 29
- 238000012546 transfer Methods 0.000 claims description 29
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 238000013508 migration Methods 0.000 claims 4
- 230000005012 migration Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种基于FPGA云平台的远端数据搬移装置和方法,装置包括服务器、交换机和FPGA加速卡,所述装置包括多个FPGA加速卡,所述服务器将待加速的数据通过交换机传输给所述FPGA加速卡,所述FPGA加速卡用于对数据进行一次和/或二次加速,所述FPGA加速卡用于对加速后的数据进行搬移;方法包括:待加速数据从服务器上通过交换机传输到FPGA加速卡,FPGA加速卡对待加速数据进行一次和/或二次加速,FPGA加速卡对加速后的数据进行搬移。本发明通过FPGA加速卡上iRDMA定义的读写指令、加速单元FAU和MAC接口,解决了在FPGA云平台下,JBOF拓扑中FPGA板卡间进行数据的加速和搬移的问题。
Description
技术领域
本发明涉及FPGA数据搬移应用技术领域,具体涉及一种基于FPGA云平台的远端数据搬移装置和方法。
背景技术
云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。在云上,数据的增长每年呈30%左右,同时AI的快速发展也带来了对数据高性能计算的要求,传统CPU无法解决计算性能的问题。FPGA利用其高性能低延时、灵活可扩展、以及低功耗等优势在数据中心用于计算加速。目前,微软,亚马逊,百度,腾讯,阿里等数据中心都推出了FPGA云平台,把FPGA作为云上可共享的资源实现计算加速。多个FPGA加速单元可以通过网络组成计算资源池,实现分布式数据加速。实现分布式FPGA云平台的一项关键技术是如何在不同FPGA加速单元中实现数据搬移,并如何提高数据搬移的效率。
如图1所示,为现有的FPGA云平台网络拓扑示意图,FPGA板卡通过MAC网络接口连接到交换机形成FPGA资源池。FPGA板卡的形态可以是服务器中的PCIE加速卡,也可以是JBOF(JBOF,Just a Bunch Of FPGAs,只有FPGA加速卡的FPGA池)中多个单独的FPGA板卡。FPGA云平台通常用于AI算法,图片处理,基因测序等计算数据量非常大的算法的加速。加速算法需要由多块FPGA板卡共同完成加速,在多个FPGA板卡间进行数据的交互。
RDMA技术是现代化高性能网络通信技术,以硬件加速为基础。RoCE RDMA(RoCE,RDMA over Converged Ethernet)定义了如何在以太网运行RDMA,是目前在FPGA云上普遍使用的技术。RoCE RDMA将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。如图2所示,为现有RDMA技术的功能示意图,服务器A向服务器B传输数据,服务器A的应用执行RDMA写请求,在不需要内核内存参与的条件下,RDMA写请求从运行在用户空间中的应用中发送到带RDMA功能的FPGA板卡A的缓存Memory中;FPGA板卡A读取缓存Memory中的数据,并通过网络传送到FPGA板卡B的缓存Memory中,FPGA板卡B再将数据直接写入服务器B的应用缓存中。
RDMA协议标准是由IBTA(IBTA,InfiniBand Trade Association,Infiniband标准制定者)组织制定的,用于实现端点间的数据传输,FPGA实现RDMA功能,需要遵循RDMA协议标准,实现较为复杂,占用较多FPGA资源;同时RDMA标准定义了两台主机间数据传输的协议标准,但对于JBOF拓扑中FPGA板卡间的数据传输协议标准并没有定义,需要自己寻找适用于JBOF拓扑中FPGA板卡间数据搬移的方法。
发明内容
本发明实施例中提供了一种基于FPGA云平台的远端数据搬移装置和方法,用以解决在FPGA云平台下,在JBOF拓扑中FPGA板卡间进行数据的加速和搬移的问题。
本发明实施例公开了如下技术方案:
本发明第一方面提供了一种基于FPGA云平台的远端数据搬移装置,包括服务器、交换机和FPGA加速卡,所述装置包括多个FPGA加速卡,所述服务器将待加速的数据通过交换机传输给所述FPGA加速卡,所述FPGA加速卡用于对数据进行一次和/或二次加速,所述FPGA加速卡用于对加速后的数据进行搬移。
进一步地,所述FPGA加速卡包括SHELL和加速单元FAU,所述SHELL用于FPGA加速卡和交换机的接口连接,所述SHELL用于对FPGA加速卡上的数据进行搬移,所述加速单元FAU用于对FPGA加速卡上的数据进行一次和/或二次加速。
进一步地,所述SHELL包括iRDMA、Memory、PCIE和MAC,所述Memory连接所述iRDMA,所述iRDMA连接所述PCIE和MAC;当FPGA加速卡上Memory通过加速单元FAU加速时,所述iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当数据在多个FPGA加速卡上搬移时,所述iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
进一步地,所述加速单元FAU的加速算法包括LZ77和Huffman,所述加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现对数据一次加速,所述加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现对数据二次加速。
进一步地,所述iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,所述报文处理模块pkt_pro对通过PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,所述解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,所述桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
本发明第二方面提供了一种基于FPGA云平台的远端数据搬移方法,包括:
待加速数据从服务器上通过交换机传输到FPGA加速卡;
FPGA加速卡对待加速数据进行一次和/或二次加速;
FPGA加速卡对加速后的数据进行搬移。
进一步地,所述FPGA加速卡对待加速数据进行一次和/或二次加速具体为:
所述FPGA加速卡的加速单元FAU对待加速数据进行一次和/或二次加速。
进一步地,所述FPGA加速卡对加速后的数据进行搬移具体为:
当FPGA加速卡上Memory中的数据通过加速单元FAU加速时,所述FPGA加速卡的iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当加速后的数据在多个FPGA加速卡上搬移时,所述iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
进一步地,所述加速单元FAU的加速算法包括LZ77和Huffman,所述加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现对数据一次加速,所述加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现对数据二次加速。
进一步地,所述iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,所述报文处理模块pkt_pro对通过PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,所述解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,所述桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提供的基于FPGA云平台的远端数据搬移装置和方法,通过FPGA加速卡上iRDMA定义的读写指令、加速单元FAU和MAC接口,完成多个FPGA加速卡间的数据搬移,本发明简化了RoCE RDMA协议,并可用于JBOF拓扑,传输效率高,提高了公司云平台产品的竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述现有FPGA云平台网络拓扑示意图;
图2为本发明所述现有RDMA技术的功能示意图;
图3为本发明所述装置结构框图;
图4为本发明实施例所述iRDMA模块框图;
图5为本发明所述方法流程图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图3所示,为本发明装置结构框图,装置包括服务器、交换机和FPGA加速卡,装置包括多个FPGA(FPGA,Field Programmable Gate Array,现场可编程门阵列)加速卡,服务器将待加速的数据通过交换机传输给FPGA加速卡,FPGA加速卡用于对数据进行一次和/或二次加速,FPGA加速卡用于对加速后的数据进行搬移。
FPGA加速卡包括SHELL(SHELL,FPGA外壳单元,FPGA工程中的静态部分,用户不可更改)和加速单元FAU(FAU,FPGA Accelerator Unit,FPGA加速单元,应用加速模块,可动态可重配置),SHELL用于FPGA加速卡和交换机的接口连接,SHELL用于对FPGA加速卡上的数据进行搬移,加速单元FAU用于对FPGA加速卡上的数据进行一次和/或二次加速。
SHELL实现了FPGA的接口功能,包括PCIE DMA接口,MAC接口,Memory接口等),SHELL是FPGA的静态部分,用户不可更改。加速单元FAU为用户可重配置的加速单元,不同的用户可加载不同的加速应用,不同的板卡也可加载不同的应用,如板卡A的FAU可以是CNN加速算法,而板卡B的FAU是DNN加速算法,但两块板卡的静态SHELL部分保持一致。
SHELL包括iRDMA(iRDMA,本发明自定义的RDMA,用于FPGA云平台的RDMA)、Memory、PCIE和MAC(MAC,Media Access Control,媒体存取控制,处于网络中的第二层),Memory连接iRDMA,iRDMA连接PCIE和MAC;当服务器将数据搬移至FPGA加速卡上时,iRDMA通过PCIE接口实现服务器上CPU Memory与FPGA加速卡Memory之间的数据搬移,当FPGA加速卡上Memory中的数据通过加速单元FAU加速时,iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当加速后的数据在多个FPGA加速卡上搬移时,iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
加速单元FAU的加速算法包括LZ77和Huffman,加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现数据一次加速,加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现数据二次加速。
加速算法综合了字典模式LZ77算法和统计冗余的Huffman两种算法,可以达到很高的压缩率。其中Huffman算法依赖LZ77算法,这两种算法可以分别给两个FPGA加速卡进行加速处理。
如图4所示,为本发明实施例iRDMA模块框图,iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,报文处理模块pkt_pro对通过PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
报文处理模块pkt_proc接收从PCIE接口或MAC接口输入的iRDMA读写指令报文,经报文解析处理后发送读写指令给桥接模块Bridge,桥接模块Bridge把读写指令转换成读写Memory接口的时序完成Memory的写或读。
如果是iRDMA读指令,则桥接模块Bridge从Memory读取数据后发送给报文处理模块pkt_proc,文处理模块pkt_proc完成报文封装等处理后发送给PCIE接口或MAC接口。
加速单元FAU完成数据加速处理后发起iRDMA_rd指令,经报文处理模块pkt_proc处理后发送读指令给桥接模块Bridge,桥接模块Bridge把读指令转换成Memory读时序,从Memory读取的数据经桥接模块Bridge处理后发送给报文处理模块pkt_proc,报文处理模块pkt_proc进行报文封装后发送给PCIE接口或MAC接口输出。
本发明方法自定义能在JBOF拓扑FPGA云平台下完成数据搬移的简单高效的方法,FPGA解析自定义iRDMA读写指令报文,自动完成数据的搬移,并且加速单元FAU也能触发指令进行数据的搬移。
如图5所示,为本发明方法流程图,方法包括:
待加速数据从服务器上通过交换机传输到FPGA加速卡;
FPGA加速卡对待加速数据进行一次和/或二次加速;
FPGA加速卡对加速后的数据进行搬移。
待加速数据从服务器上通过交换机传输到FPGA加速卡具体为:待加速数据从服务器上传输到交换机,待加速数据再从交换机传输到FPGA加速卡的PCIE接口。
FPGA加速卡对待加速数据进行一次和/或二次加速具体为:FPGA加速卡的加速单元FAU对对待加速数据进行一次和/或二次加速。
FPGA加速卡对加速后的数据进行搬移具体为:
当FPGA加速卡上Memory中的数据通过加速单元FAU加速时,FPGA加速卡的iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当加速后的数据在多个FPGA加速卡上搬移时,iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
加速单元FAU的加速算法包括LZ77和Huffman,加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现对数据一次加速,加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现对数据二次加速。
iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,报文处理模块pkt_pro对通过PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
本发明方法详细工作过程为:
待加速数据从服务器上通过交换机传输到第一FPGA加速卡的PCIE接口;
第一FPGA加速卡的第一iRDMA接收写指令,并将PCIE接口上的待加速数据存入第一FPGA加速卡的第一Memory,第一iRDMA接收读指令,并从第一Memory中将待加速数据读出到第一FPGA加速卡的第一加速单元FAU,第一加速单元FAU通过加速算法LZ77对待加速数据进行第一阶段压缩,实现数据第一次加速;
第一加速单元FAU完成数据一次加速后,发送iRDMA读指令,第一FPGA加速卡的第一iRDMA接收读指令,并将一次加速数据从第一Memory中读取出来,第一FPGA加速卡的第一iRDMA将一次加速数据封装成iRDMA写指令,并通过第一FPGA加速卡的第一MAC接口传给第二FPGA加速卡;
第二FPGA加速卡接收iRDMA写指令,并将一次加速数据存入第二FPGA加速卡的第二Memory中,第二FPGA加速卡的第二iRDMA接收读指令,并从第二Memory中将一次加速数据读出到第二FPGA加速卡的第二加速单元FAU,第二加速单元FAU通过加速算法Huffman对一次加速数据进行第二阶段压缩,实现数据第二次加速。
本发明自定义iRDMA数据搬移方法用于JBOF网络拓扑,简单高效实现了FPGA云平台数据搬移。iRDMA模块使用了FPGA的15K的LUT(LUT,Look-Up-Table,查找表,FPGA的重要资源)资源,占用VU37P FPGA约1%的LUT资源,而RoCE RDMA需要占用40K的LUT资源,占用VU37P(VU37P,Xilinx FPGA资源较多的一款FPGA)FPGA约3%的LUT资源,因此iRDMA大大简化了数据搬移的效率。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (10)
1.一种基于FPGA云平台的远端数据搬移装置,其特征在于,所述装置包括服务器、交换机和FPGA加速卡,所述装置包括多个FPGA加速卡,所述服务器将待加速的数据通过交换机传输给所述FPGA加速卡,所述FPGA加速卡用于对数据进行一次和/或二次加速,所述FPGA加速卡用于对加速后的数据进行搬移。
2.根据权利要求1所述的一种基于FPGA云平台的远端数据搬移装置,其特征在于,所述FPGA加速卡包括SHELL和加速单元FAU,所述SHELL用于FPGA加速卡和交换机的接口连接,所述SHELL用于对FPGA加速卡上的数据进行搬移,所述加速单元FAU用于对FPGA加速卡上的数据进行一次和/或二次加速。
3.根据权利要求2所述的一种基于FPGA云平台的远端数据搬移装置,其特征在于,所述SHELL包括iRDMA、Memory、PCIE和MAC,所述Memory连接所述iRDMA,所述iRDMA连接所述PCIE和MAC;当FPGA加速卡上Memory中的数据通过加速单元FAU加速时,所述iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当加速后的数据在多个FPGA加速卡上搬移时,所述iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
4.根据权利要求2所述的一种基于FPGA云平台的远端数据搬移装置,其特征在于,所述加速单元FAU的加速算法包括LZ77和Huffman,所述加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现对数据一次加速,所述加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现对数据二次加速。
5.根据权利要求3所述的一种基于FPGA云平台的远端数据搬移装置,其特征在于,所述iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,所述报文处理模块pkt_pro对通过PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,所述解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,所述桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
6.一种基于FPGA云平台的远端数据搬移方法,基于权利要求1-5任一项所述装置实现,其特征在于,所述方法包括:
待加速数据从服务器上通过交换机传输到FPGA加速卡;
FPGA加速卡对待加速数据进行一次和/或二次加速;
FPGA加速卡对加速后的数据进行搬移。
7.根据权利要求6所述的一种基于FPGA云平台的远端数据搬移方法,其特征在于,所述FPGA加速卡对待加速数据进行一次和/或二次加速具体为:
所述FPGA加速卡的加速单元FAU对待加速数据进行一次和/或二次加速。
8.根据权利要求6所述的一种基于FPGA云平台的远端数据搬移方法,其特征在于,所述FPGA加速卡对加速后的数据进行搬移具体为:
当FPGA加速卡上Memory中的数据通过加速单元FAU加速时,所述FPGA加速卡的iRDMA用于实现FPGA加速卡上Memory与加速单元FAU之间的数据搬移,当加速后的数据在多个FPGA加速卡上搬移时,所述iRDMA通过MAC接口实现多个FPGA加速卡上Memory之间的数据搬移。
9.根据权利要求7所述的一种基于FPGA云平台的远端数据搬移方法,其特征在于,所述加速单元FAU的加速算法包括LZ77和Huffman,所述加速算法LZ77通过对FPGA加速卡上数据进行第一阶段压缩实现对数据一次加速,所述加速算法Huffman通过对FPGA加速卡上一次加速数据进行第二阶段压缩实现对数据二次加速。
10.根据权利要求8所述的一种基于FPGA云平台的远端数据搬移方法,其特征在于,所述iRDMA包括桥接模块Bridge、报文处理模块pkt_pro和解析模块fau_parse,所述报文处理模块pkt_pro对通过FPGA加速卡的PCIE接口或MAC接口接收的数据搬移读写指令报文进行解析和封包,所述解析模块fau_parse用于对加速单元FAU发起的数据搬移读指令报文进行解析,所述桥接模块Bridge用于将桥接模块Bridge和报文处理模块pkt_pro解析出来的搬移指令转换为读写Memory的接口时序。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031268.7A CN111262917A (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga云平台的远端数据搬移装置和方法 |
PCT/CN2020/111006 WO2021143135A1 (zh) | 2020-01-13 | 2020-08-25 | 一种基于fpga云平台的远端数据搬移装置和方法 |
US17/792,265 US11868297B2 (en) | 2020-01-13 | 2020-08-25 | Far-end data migration device and method based on FPGA cloud platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031268.7A CN111262917A (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga云平台的远端数据搬移装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111262917A true CN111262917A (zh) | 2020-06-09 |
Family
ID=70953978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010031268.7A Pending CN111262917A (zh) | 2020-01-13 | 2020-01-13 | 一种基于fpga云平台的远端数据搬移装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11868297B2 (zh) |
CN (1) | CN111262917A (zh) |
WO (1) | WO2021143135A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087471A (zh) * | 2020-09-27 | 2020-12-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法及fpga云平台 |
WO2022095348A1 (zh) * | 2020-11-06 | 2022-05-12 | 浪潮(北京)电子信息产业有限公司 | 一种计算资源的远程映射方法、装置、设备及存储介质 |
CN116684506A (zh) * | 2023-08-02 | 2023-09-01 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、电子设备及计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527714B (zh) * | 2020-11-13 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种服务器的peci信号互联方法、系统、设备以及介质 |
CN114756379B (zh) * | 2022-05-20 | 2024-06-11 | 苏州浪潮智能科技有限公司 | 一种基于混合加速卡进行任务训练的方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002046A (zh) * | 2012-12-18 | 2013-03-27 | 无锡众志和达存储技术股份有限公司 | 多系统数据拷贝的rdma架构 |
CN103647807A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种信息缓存方法、装置和通信设备 |
CN107750357A (zh) * | 2015-04-17 | 2018-03-02 | 微软技术许可有限责任公司 | 具有硬件加速平面和软件平面的数据处理系统 |
CN109032982A (zh) * | 2018-08-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、设备、系统、fpga板卡及其组合 |
US20190079897A1 (en) * | 2017-09-14 | 2019-03-14 | Microsoft Technology Licensing, Llc | Remote direct memory access in computing systems |
CN109857620A (zh) * | 2019-03-06 | 2019-06-07 | 苏州浪潮智能科技有限公司 | 加速卡辅助功能管理系统、方法、装置及相关组件 |
CN109992405A (zh) * | 2017-12-29 | 2019-07-09 | 西安华为技术有限公司 | 一种处理数据报文的方法和网卡 |
CN110399719A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | Bit文件加载方法、装置、设备及计算机可读存储介质 |
US20190372914A1 (en) * | 2019-08-14 | 2019-12-05 | Intel Corporation | Technologies for managing disaggregated accelerator networks based on remote direct memory access |
CN110618956A (zh) * | 2019-08-01 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种bmc云平台资源池化方法与系统 |
CN110647480A (zh) * | 2018-06-26 | 2020-01-03 | 华为技术有限公司 | 数据处理方法、远程直接访存网卡和设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183683B (zh) * | 2015-08-31 | 2018-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种多fpga芯片加速卡 |
CN106547720A (zh) * | 2015-09-17 | 2017-03-29 | 张洪 | 一种基于fpga的服务器加速技术 |
US10169065B1 (en) * | 2016-06-29 | 2019-01-01 | Altera Corporation | Live migration of hardware accelerated applications |
CN106250349A (zh) | 2016-08-08 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种高能效异构计算系统 |
CN106681793A (zh) | 2016-11-25 | 2017-05-17 | 同济大学 | 一种基于kvm的加速器虚拟化数据处理系统及方法 |
CN106778015A (zh) * | 2016-12-29 | 2017-05-31 | 哈尔滨工业大学(威海) | 一种基于云平台中fpga异构加速基因计算方法 |
JP6929446B2 (ja) * | 2017-05-15 | 2021-09-01 | モレックス エルエルシー | 再構成可能なサーバー及びそれを有するサーバーラック |
US11270201B2 (en) * | 2017-12-29 | 2022-03-08 | Intel Corporation | Communication optimizations for distributed machine learning |
CN111492628A (zh) * | 2018-02-25 | 2020-08-04 | 英特尔公司 | 用于在加速交换的情况下进行nic端口减少的技术 |
CN110519090B (zh) * | 2019-08-23 | 2022-11-04 | 苏州浪潮智能科技有限公司 | 一种fpga云平台的加速卡分配方法、系统及相关组件 |
-
2020
- 2020-01-13 CN CN202010031268.7A patent/CN111262917A/zh active Pending
- 2020-08-25 US US17/792,265 patent/US11868297B2/en active Active
- 2020-08-25 WO PCT/CN2020/111006 patent/WO2021143135A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002046A (zh) * | 2012-12-18 | 2013-03-27 | 无锡众志和达存储技术股份有限公司 | 多系统数据拷贝的rdma架构 |
CN103647807A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种信息缓存方法、装置和通信设备 |
CN107750357A (zh) * | 2015-04-17 | 2018-03-02 | 微软技术许可有限责任公司 | 具有硬件加速平面和软件平面的数据处理系统 |
US20190079897A1 (en) * | 2017-09-14 | 2019-03-14 | Microsoft Technology Licensing, Llc | Remote direct memory access in computing systems |
CN109992405A (zh) * | 2017-12-29 | 2019-07-09 | 西安华为技术有限公司 | 一种处理数据报文的方法和网卡 |
CN110647480A (zh) * | 2018-06-26 | 2020-01-03 | 华为技术有限公司 | 数据处理方法、远程直接访存网卡和设备 |
CN109032982A (zh) * | 2018-08-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、设备、系统、fpga板卡及其组合 |
CN109857620A (zh) * | 2019-03-06 | 2019-06-07 | 苏州浪潮智能科技有限公司 | 加速卡辅助功能管理系统、方法、装置及相关组件 |
CN110399719A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | Bit文件加载方法、装置、设备及计算机可读存储介质 |
CN110618956A (zh) * | 2019-08-01 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种bmc云平台资源池化方法与系统 |
US20190372914A1 (en) * | 2019-08-14 | 2019-12-05 | Intel Corporation | Technologies for managing disaggregated accelerator networks based on remote direct memory access |
Non-Patent Citations (4)
Title |
---|
ADRIAN M. CAULFIELD等: ""A cloud-scale acceleration architecture"", 《2016 49TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO)》 * |
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)》 * |
李博杰: ""基于可编程网卡的高性能数据中心"", 《中国博士学位论文全文数据库》 * |
赵海星: ""基于预处理方法的3GPP通信数据压缩研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087471A (zh) * | 2020-09-27 | 2020-12-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法及fpga云平台 |
WO2022095348A1 (zh) * | 2020-11-06 | 2022-05-12 | 浪潮(北京)电子信息产业有限公司 | 一种计算资源的远程映射方法、装置、设备及存储介质 |
US11960430B2 (en) | 2020-11-06 | 2024-04-16 | Inspur (Beijing) Electronic Information Industry Co., Ltd. | Remote mapping method, apparatus and device for computing resources, and storage medium |
CN116684506A (zh) * | 2023-08-02 | 2023-09-01 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、电子设备及计算机可读存储介质 |
CN116684506B (zh) * | 2023-08-02 | 2023-11-07 | 浪潮电子信息产业股份有限公司 | 数据处理方法、系统、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11868297B2 (en) | 2024-01-09 |
WO2021143135A1 (zh) | 2021-07-22 |
US20230045601A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262917A (zh) | 一种基于fpga云平台的远端数据搬移装置和方法 | |
US10275375B2 (en) | Network interface controller with compression capabilities | |
CN103902486B (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
CN112291293B (zh) | 任务处理方法、相关设备及计算机存储介质 | |
CN114546913B (zh) | 一种基于pcie接口的多主机之间数据高速交互的方法和装置 | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN114201421B (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
CN115934623B (zh) | 一种基于远程直接内存访问的数据处理方法、设备及介质 | |
CN114153778A (zh) | 跨网络桥接 | |
CN116069711B (zh) | 直接内存访问控制器、异构设备、内存访问方法及介质 | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 | |
CN112988647A (zh) | 一种TileLink总线到AXI4总线转换系统及方法 | |
CN115686836A (zh) | 一种安装有加速器的卸载卡 | |
CN115202573A (zh) | 数据存储系统以及方法 | |
CN114840339A (zh) | Gpu服务器、数据计算方法及电子设备 | |
CN113691466A (zh) | 一种数据的传输方法、智能网卡、计算设备及存储介质 | |
WO2023134735A1 (zh) | 计算设备、数据处理方法、系统及相关设备 | |
US20230153153A1 (en) | Task processing method and apparatus | |
CN110633493A (zh) | 一种基于Intel FPGA的OpenCL交易数据处理的方法 | |
US11537539B2 (en) | Acceleration of data between a network and local I/O in a NUMA system | |
CN117971526B (zh) | 中断触发设备确定方法和装置 | |
US8054857B2 (en) | Task queuing methods and systems for transmitting frame information over an I/O interface | |
US11748253B1 (en) | Address generation for page collision prevention in memory regions | |
US12056072B1 (en) | Low latency memory notification | |
US11789859B1 (en) | Address generation for page collision prevention |
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 |
Application publication date: 20200609 |
|
RJ01 | Rejection of invention patent application after publication |