CN111159074A - 一种基于FPGA的超大规模数据hash运算加速卡 - Google Patents
一种基于FPGA的超大规模数据hash运算加速卡 Download PDFInfo
- Publication number
- CN111159074A CN111159074A CN201911413494.5A CN201911413494A CN111159074A CN 111159074 A CN111159074 A CN 111159074A CN 201911413494 A CN201911413494 A CN 201911413494A CN 111159074 A CN111159074 A CN 111159074A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- calculation
- cache
- crc
- 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
Images
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
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种基于FPGA的超大规模数据hash运算加速卡,属于电路设计技术领域,由PCIE接口,DMA模块,选择器模块,接收缓存模块,CRC_Hash计算模块,发送缓存模块组成。该板卡设计精巧,技术先进,使用方便简单。
Description
技术领域
本发明涉及电路设计技术,尤其涉及一种基于FPGA的超大规模数据hash运算加速卡。
背景技术
着社会经济以及科学技术的飞速发展,信息技术、互联网技术的发展也极为迅速,也推动了数据逐渐走向大数据时代。而在大数据时代的发展中信息数据也面临着更大的挑战,也为信息处理带来了巨大的冲击,如何有效应对大数据时代的发展,提升计算机信息处理技术水平,是大数据时代发展中诸多技术人员所关注的焦点。
大数据时代的发展极为迅速,也为计算机信息处理提供一定的要求,但在实际的计算机处理中,由于技术上存在诸多缺陷,使得计算机信息处理技术无法满足大数据时代的发展需求。
近年来随着信息化越来越普及,大数据的处理显得尤为重要。以数据库为代表的大数据表格的处理问题越来越突出,其中大数据的Hash计算,若单独使用CPU计算,1亿条表项的Hash计算需要数十秒,极大的损耗CPU的计算能力。
发明内容
为了解决以上技术问题,本发明提出了一种基于FPGA的超大规模数据hash运算加速卡,实现了超大规模数据的hash运算加速。
本发明的技术方案是:
一种基于FPGA的超大规模数据hash运算加速卡,
包括PCIE接口、DMA模块、选择器模块、接收缓存模块、CRC_Hash计算模块、发送缓存模块;PCIE接口连接在DMA模块上,
接收缓存模块分别与CRC_Hash计算模块、选择器模块相连接;发送缓存模块分别与CRC_Hash计算模块、选择器模块相连接。
进一步的,
选择器模块分为接收通路选择器和发送通路选择器。
再进一步的,
接收缓存模块分别与接收通路选择器模块的输出端、CRC_Hash计算模块的输入端相连接;
发送缓存模块分别与CRC_Hash计算模块的输出端、发送通路选择器模块的输入端相连接。
再进一步的,
采用PCIE接口作为数据对外接口,并配备DMA模块自行获取数据。
再进一步的,
通过PCIE加DMA获取数据,在FPGA内部通过选择器模块加接收缓存模块,形成兵乓操作。
再进一步的,
接收缓存模块与发送缓存模块采用片上RAM组成,配备选择器,进行乒乓操作。
再进一步的,
通过CRC_Hash模块计算Hash值;计算完成后,存入发送缓存模块,再次以兵乓操作返回计算值。
再进一步的,工作过程如下:
1)将超大数据切片,配置PCIE DMA,启动PCIE DMA获取数据;
2)将数据通过选择器,缓存至接收缓存1;
3)启动CRC_Hash计算模块1;
4)在启动计算的同时,再次搬运数据至接收缓存2,从而缓存1与2形成乒乓操作;
5)计算模块1将数据写入发送缓存1,计算模块2将数据写入发送缓存2;
6)任意发送缓存完成一笔数据的缓存,即启动DMA将数据搬移回CPU,完成一次计算。
7)重复分片计算,直至计算完所有数据分片。
本发明的有益效果是
数据对外接口采用PCIE接口,并配备DMA可自行获取数据,无需CPU参与,节省CPU资源。
接收缓存与发送缓存采用片上RAM组成,配备选择器,可进行乒乓操作。
采用硬件CRC_Hash模块,硬件计算CRC,只需一个时钟周期即可计算完成,大大提升效率。
附图说明
图1是本发明的工作框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明正是针对超大规模数据Hash计算,基于FPGA设了超大规模数据hash运算加速卡,采用KU115系列FPGA作为核心的处理芯片,对外采用PCIE高速总线接口,存储介质完全使用FPGA片上RAM资源,实现了超大规模数据的hash运算加速,其计算带宽为超过2亿条/s,大大提升了计算性能。
本发明由PCIE接口,DMA模块,选择器模块,接收缓存模块,CRC_Hash计算模块,发送缓存模块组成。
PCIE接口连接在DMA模块上,
选择器模块分为接收通路选择器和发送通路选择器。
接收缓存模块1分别与接收通路选择器模块的输出端、CRC_Hash计算模块1的输入端相连接;
发送缓存模块1分别与CRC_Hash计算模块1的输出端、发送通路选择器模块的输入端相连接。
接收缓存模块2分别与接收通路选择器模块的输出端、CRC_Hash计算模块2的输入端相连接;
发送缓存模块2分别与CRC_Hash计算模块2的输出端、发送通路选择器模块的输入端相连接。
本发明的工作过程如下:
1)将超大数据切片,配置PCIE DMA,启动PCIE DMA获取数据;
2)将数据通过选择器,缓存至接收缓存1;
3)启动CRC_Hash计算模块1;
4)在启动计算的同时,再次搬运数据至接收缓存2,从而缓存1与2形成乒乓操作;
5)计算模块1将数据写入发送缓存1,计算模块2将数据写入发送缓存2;
6)发送缓存有任意一个满,即启动DMA将数据搬移回CPU,完成一次计算。
7)重复分片计算,直至计算完所有数据分片。
实际应用时,将该加速卡的PCIE接口,***计算机主板的PICE插槽中,安装好驱动后,配置该加速卡的寄存器,启动该加速卡,即可自行获取数据,完成超大规模数据的hash计算,返回计算值,并获得巨大的性能提升。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于FPGA的超大规模数据hash运算加速卡,其特征在于,
包括PCIE接口、DMA模块、选择器模块、接收缓存模块、CRC_Hash计算模块、发送缓存模块;PCIE接口连接在DMA模块上,
接收缓存模块分别与CRC_Hash计算模块、选择器模块相连接;发送缓存模块分别与CRC_Hash计算模块、选择器模块相连接。
2.根据权利要求1所述的加速卡,其特征在于,
选择器模块分为接收通路选择器和发送通路选择器。
3.根据权利要求2所述的加速卡,其特征在于,
接收缓存模块分别与接收通路选择器模块的输出端、CRC_Hash计算模块的输入端相连接;
发送缓存模块分别与CRC_Hash计算模块的输出端、发送通路选择器模块的输入端相连接。
4.根据权利要求3所述的加速卡,其特征在于,
采用PCIE接口作为数据对外接口,并配备DMA模块自行获取数据。
5.根据权利要求4所述的加速卡,其特征在于,
通过PCIE加DMA获取数据,在FPGA内部通过选择器模块加接收缓存模块,形成兵乓操作。
6.根据权利要求5所述的加速卡,其特征在于,
接收缓存模块与发送缓存模块采用片上RAM组成,配备选择器,进行乒乓操作。
7.根据权利要求5或6所述的加速卡,其特征在于,
通过CRC_Hash模块计算Hash值;计算完成后,存入发送缓存模块,再次以兵乓操作返回计算值。
8.根据权利要求7所述的加速卡,其特征在于,
工作过程如下:
1)将超大数据切片,配置PCIE DMA,启动PCIE DMA获取数据;
2)将数据通过选择器,缓存至接收缓存1;
3)启动CRC_Hash计算模块1;
4)在启动计算的同时,再次搬运数据至接收缓存2,从而缓存1与2形成乒乓操作;
5)计算模块1将数据写入发送缓存1,计算模块2将数据写入发送缓存2;
6)任意发送缓存完成一笔数据的缓存,即启动DMA将数据搬移回CPU,完成一次计算;
7)重复分片计算,直至计算完所有数据分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413494.5A CN111159074A (zh) | 2019-12-31 | 2019-12-31 | 一种基于FPGA的超大规模数据hash运算加速卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911413494.5A CN111159074A (zh) | 2019-12-31 | 2019-12-31 | 一种基于FPGA的超大规模数据hash运算加速卡 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159074A true CN111159074A (zh) | 2020-05-15 |
Family
ID=70560150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911413494.5A Pending CN111159074A (zh) | 2019-12-31 | 2019-12-31 | 一种基于FPGA的超大规模数据hash运算加速卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159074A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813713A (zh) * | 2020-09-08 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 数据加速运算处理方法、装置及计算机可读存储介质 |
CN113296705A (zh) * | 2021-05-27 | 2021-08-24 | 浙江萤火虫区块链科技有限公司 | 一种Filecoin中并行计算PoseidonHash的架构*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143083A (zh) * | 2011-04-02 | 2011-08-03 | 南京邮电大学 | 一种阿瑞斯协议分析***中双缓存的设计与实现方法 |
CN102970043A (zh) * | 2012-11-14 | 2013-03-13 | 无锡芯响电子科技有限公司 | 一种基于gzip的压缩硬件***及其加速方法 |
CN104202054A (zh) * | 2014-09-16 | 2014-12-10 | 东南大学 | 一种硬件lzma压缩实现***及方法 |
CN105224482A (zh) * | 2015-10-16 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种fpga加速卡高速存储*** |
CN107835437A (zh) * | 2017-10-20 | 2018-03-23 | 广东省南方数字电视无线传播有限公司 | 基于多缓存服务器的调度方法和装置 |
CN109977116A (zh) * | 2019-03-14 | 2019-07-05 | 山东超越数控电子股份有限公司 | 基于fpga-ddr的哈希连接算子加速方法及*** |
-
2019
- 2019-12-31 CN CN201911413494.5A patent/CN111159074A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143083A (zh) * | 2011-04-02 | 2011-08-03 | 南京邮电大学 | 一种阿瑞斯协议分析***中双缓存的设计与实现方法 |
CN102970043A (zh) * | 2012-11-14 | 2013-03-13 | 无锡芯响电子科技有限公司 | 一种基于gzip的压缩硬件***及其加速方法 |
CN104202054A (zh) * | 2014-09-16 | 2014-12-10 | 东南大学 | 一种硬件lzma压缩实现***及方法 |
CN105224482A (zh) * | 2015-10-16 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种fpga加速卡高速存储*** |
CN107835437A (zh) * | 2017-10-20 | 2018-03-23 | 广东省南方数字电视无线传播有限公司 | 基于多缓存服务器的调度方法和装置 |
CN109977116A (zh) * | 2019-03-14 | 2019-07-05 | 山东超越数控电子股份有限公司 | 基于fpga-ddr的哈希连接算子加速方法及*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813713A (zh) * | 2020-09-08 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 数据加速运算处理方法、装置及计算机可读存储介质 |
CN111813713B (zh) * | 2020-09-08 | 2021-02-12 | 苏州浪潮智能科技有限公司 | 数据加速运算处理方法、装置及计算机可读存储介质 |
CN113296705A (zh) * | 2021-05-27 | 2021-08-24 | 浙江萤火虫区块链科技有限公司 | 一种Filecoin中并行计算PoseidonHash的架构*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
CN108805272A (zh) | 一种基于fpga的通用卷积神经网络加速器 | |
CN110909025A (zh) | 数据库的查询方法、查询装置及终端 | |
US20150127691A1 (en) | Efficient implementations for mapreduce systems | |
WO2017041570A1 (zh) | 向缓存写入数据的方法及装置 | |
CN103761988A (zh) | 固态硬盘及数据移动方法 | |
WO2023029254A1 (zh) | 一种数据查询方法、装置、设备及介质 | |
CN111159074A (zh) | 一种基于FPGA的超大规模数据hash运算加速卡 | |
CN110058816B (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
US20230128085A1 (en) | Data aggregation processing apparatus and method, and storage medium | |
WO2022199027A1 (zh) | 一种随机写的方法、电子设备及存储介质 | |
CN112256623A (zh) | 一种基于异构***的处理性能优化方法及装置 | |
CN111858612B (zh) | 基于图数据库的数据加速访问方法、装置及存储介质 | |
CN106547707B (zh) | 阵列处理器中簇内存储并行访问局部优先交换电路 | |
CN111813709A (zh) | 一种基于fpga存算一体架构的高速并行存储方法 | |
CN104636284A (zh) | 一种闪存存储阵列的实现方法及装置 | |
CN105187162B (zh) | 一种多粒度并行解速率匹配方法和装置 | |
CN111126619A (zh) | 一种机器学习方法与装置 | |
CN110750210A (zh) | 存储*** | |
CN210804421U (zh) | 一种服务器*** | |
CN115934583A (zh) | 分级缓存方法、装置及*** | |
CN111858665B (zh) | 一种提升软拷贝读性能的方法、***、终端及存储介质 | |
CN202217274U (zh) | 一种多核处理器存储***装置 | |
CN105069084A (zh) | 一种面向海量数据高效取差集的方法 | |
WO2020238750A1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200515 |