一种基于PCIE SSD的FPGA搜索匹配方法组成比例

技术编号:23704625 阅读:62 留言:0更新日期:2020-04-08 11:07
本发明专利技术提供了一种基于PCIE SSD的FPGA搜索匹配方法,以FPGA作为载体,内部集成了SSD控制器、PCIE接口和匹配计算模块,使PCIE SSD既支持文件库的普通读写,又支持快速搜索与输入文件相似的库文件。输入文件和库文件的匹配计算放在PCIE SSD内,库文件数据无需上传服务器节点,克服了服务器节点和FPGA之间的PCIE总线带宽的限制,而且无需额外增加GUP完成匹配计算,提高了性能,降低了成本。

A search and match method of FPGA based on PCIE SSD

【技术实现步骤摘要】
一种基于PCIESSD的FPGA搜索匹配方法
本专利技术涉及计算机和数据存储
,尤其涉及一种基于PCIESSD的FPGA搜索匹配方法。
技术介绍
随着信息化的快速发展,库文件搜索的需求越来越多,对其响应速度的要求也越来越高。目前获取高性能的方法是把库文件缓存在服务器节点的内存中,用GPU(GraphicsProcessUnit)做并行的匹配计算。这种方法通过内存的超高带宽提高了搜索速度,通过GPU的并行计算能力提高了匹配速度,搜索库文件大小却直接受限于服务器节点的内存容量,大部分应用会采用基于服务器集群的分布式搜索。但是,当库文件较大时,这种方法会受到网络延迟和带宽限制而影响性能,而且库文件需要保存到节点的磁盘,库文件更新时,内存和磁盘需要同步更新。PCIESSD,即PCIE接口固态硬盘,带宽比内存低,但是容量大且可保存数据不丢失。近年来,随着PCIESSD的普及,使用PCIESSD加速搜索的应用越来越多。然而,现在大部分应用还是服务器节点软件把数据从PCIESSD读到内存,再做搜索匹配,IO性能受限于PCIESSD的带宽。也有单服务器节点插多块PCIESSD以提高IO性能的方法,但最终还是会受限于服务器节点支持的最大PCIE总线。另外,目前的方法还是需要GPU加速匹配计算,增加了应用成本。
技术实现思路
本专利技术的目的在于提供一种基于PCIESSD的FPGA搜索匹配方法,旨在FPGA实现的PCIESSD内部嵌入搜索匹配模块,克服了服务器节点和FPGA之间的PCIE总线带宽的限制,且无需额外增加GUP,提高了性能,降低了成本。为实现上述目的,本专利技术采用以下技术方案:一种基于PCIESSD的FPGA搜索匹配方法,其中,FPGA芯片上包括SSD控制器、PCIE接口和匹配计算模块;所述方法包括:步骤A1:服务器节点通过PCIE接口向FPGA发送搜索模式SSD读写命令;步骤A2:所述FPGA判断服务器节点发送命令是否为DDRSDRAM写命令:若是,FPGA上的DMA模块根据命令中服务器节点的内存地址读取第一数据文件,写入DDRSDRAM中,转向步骤A8;若否,则转向步骤A3;步骤A3:所述FPGA判断服务器节点发送命令是否为搜索模式库文件读命令:若是,所述DMA模块向所述FPGA上的SSD控制器转发读命令,SSD控制器从FLASH阵列读取第二数据文件发送给所述DMA模块,所述DMA模块把第二数据文件写入DDRSDRAM中,转向步骤A8;若否,则转向步骤A4;步骤A4:所述DMA模块向匹配计算模块转发服务器节点发送的匹配计算模块启动命令;步骤A5:匹配计算模块启动相应的匹配计算单元;步骤A6:所述匹配计算单元从DDRSDRAM中读取第一数据文件和第二数据文件,进行相似度计算以取得匹配结果;步骤A7:计算完成后,将匹配结果发送至所述DMA模块,所述DMA模块将匹配结果通过PCIE接口上传至服务器节点;步骤A8:任务结束。在一种优选实施例中,执行所述步骤A8过程中,还包括A81:所述DMA模块向服务器节点发送中断请求。优选地,所述SSD控制器,通过PCIE接口与服务器节点通信,负责管理和控制FLASH阵列,根据服务器节点发送的命令对FLASH阵列做读写操作。优选地,所述DDRSDRAM缓存所述DMA模块转发的第一数据文件和第二数据文件,每个文件都预先分配各自独立的内存地址空间。优选地,所述匹配计算模块由多个匹配计算单元组成,各单元之间并行处理数据。优选地,所述FPGA内还集成了DDR控制器,负责管理所述DDRSDRAM。更优选地,所述DMA模块分别连接所述SSD控制器、DDR控制器和匹配计算模块,用于转发所述服务器节点和所述SSD控制器之间的交互信息和数据;搜索模式下将所述服务器节点发送的第一数据文件和所述SSD控制器从所述FLASH阵列读出的第二数据文件转发给所述DDR控制器,并将所述匹配计算模块发送的匹配结果转发给服务器节点。优选地,所述服务器节点发送的命令包括正常模式SSD读写命令、搜索模式SSD读写命令、搜索模式库文件读命令、DDRSDRAM写命令和匹配计算模块启动命令。优选地,所述服务器节点通过PCIE接口与所述FPGA连接。优选地,所述服务器节点通过上行PCIE接口与至少一个PCIESwich模块连接,所述PCIESwich模块通过若干个下行PCIe接口与至少一个所述FPGA分别连接。与现有技术相比,本专利技术的技术方案具有以下有益效果:1)在FPGA实现的PCIESSD内部嵌入搜索匹配模块,使PCIESSD既支持文件库的普通读写,又支持快速搜索与输入文件相似的库文件;2)输入文件和库文件的匹配计算放在PCIESSD内,库文件数据无需上传服务器节点,服务器节点搜索性能不会受限于PCIE总线的带宽,而且无需增加GPU,提高了性能,又降低了成本。3)另外,一台服务器可以通过PCIESwitch连接多个PCIESSD进行分布式搜索,扩展非常方便,增强了单节点处理能力,降低了服务器集群的规模,也减少了网络交换机的数量。附图说明图1是本专利技术的较佳的实施例中,一种基于PCIESSD的FPGA搜索匹配方法的原理示意图,其中,实线箭头表示输入文件数据流,虚线箭头表示库文件数据流,点划线箭头表示搜索控制流;图2是本专利技术的较佳的实施例中,一种基于PCIESSD的FPGA搜索匹配方法应用于分布式搜索的结构示意图;图3是本专利技术的较佳的实施例中,一种基于PCIESSD的FPGA搜索匹配方法中,正常模式下FPGA工作流程图;图4是本专利技术的较佳的实施例中,一种基于PCIESSD的FPGA搜索匹配方法中,搜索模式下FPGA工作流程图。具体实施方式本专利技术提供一种基于PCIESSD的FPGA搜索匹配方法,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。实施例一:请参阅图1,该图描述了FPGA内部功能模块的划分及控制、数据流在功能模块之间的流向。本专利技术实施例中,使用一片FPGA,服务器节点通过PCIE接口和FPGA通信;FPGA内集成了SSD控制器和匹配计算模块,既支持文件库的普通读写,又支持快速搜索与输入文件相似的库文件。所述SSD控制模器,通过PCIE接口与服务器节点通信,负责管理和控制FLASH阵列,根据服务器节点发送的命令对FLASH阵列做读写操作;所述匹配计算模块,负责将所述服务器节点发送的第一数据文件和所述SSD控制器从所述FLASH阵列读出的第二数据文件进行匹配计算以取得匹配结果,匹配计算模块由多个匹配计算单元组成,各单元之间并行处理数据。其中,FLASH阵列由若干个NANDFLASH构成。所述FPGA内还集成了DDR控制器,负责管理DDR本文档来自技高网...

【技术保护点】
1.一种基于PCIE SSD的FPGA搜索匹配方法,其特征在于:其中,FPGA芯片上包括SSD控制器、PCIE接口和匹配计算模块;所述方法包括:/n步骤A1:服务器节点通过PCIE接口向FPGA发送搜索模式SSD读写命令;/n步骤A2:所述FPGA判断服务器节点发送命令是否为DDR SDRAM写命令:/n若是,FPGA上的DMA模块根据命令中服务器节点的内存地址读取第一数据文件,写入DDR SDRAM中,转向步骤A8;若否,则转向步骤A3;/n步骤A3:所述FPGA判断服务器节点发送命令是否为搜索模式库文件读命令:/n若是,所述DMA模块向所述FPGA上的SSD控制器转发读命令,SSD控制器从FLASH阵列读取第二数据文件发送给所述DMA模块,所述DMA模块把第二数据文件写入DDR SDRAM中,转向步骤A8;若否,则转向步骤A4;/n步骤A4:所述DMA模块向匹配计算模块转发服务器节点发送的匹配计算模块启动命令;/n步骤A5:匹配计算模块启动相应的匹配计算单元;/n步骤A6:所述匹配计算单元从DDR SDRAM中读取第一数据文件和第二数据文件,进行相似度计算以取得匹配结果;/n步骤A7:计算完成后,将匹配结果发送至所述DMA模块,所述DMA模块将匹配结果通过PCIE接口上传至服务器节点;/n步骤A8:任务结束。/n...

【技术特征摘要】
1.一种基于PCIESSD的FPGA搜索匹配方法,其特征在于:其中,FPGA芯片上包括SSD控制器、PCIE接口和匹配计算模块;所述方法包括:
步骤A1:服务器节点通过PCIE接口向FPGA发送搜索模式SSD读写命令;
步骤A2:所述FPGA判断服务器节点发送命令是否为DDRSDRAM写命令:
若是,FPGA上的DMA模块根据命令中服务器节点的内存地址读取第一数据文件,写入DDRSDRAM中,转向步骤A8;若否,则转向步骤A3;
步骤A3:所述FPGA判断服务器节点发送命令是否为搜索模式库文件读命令:
若是,所述DMA模块向所述FPGA上的SSD控制器转发读命令,SSD控制器从FLASH阵列读取第二数据文件发送给所述DMA模块,所述DMA模块把第二数据文件写入DDRSDRAM中,转向步骤A8;若否,则转向步骤A4;
步骤A4:所述DMA模块向匹配计算模块转发服务器节点发送的匹配计算模块启动命令;
步骤A5:匹配计算模块启动相应的匹配计算单元;
步骤A6:所述匹配计算单元从DDRSDRAM中读取第一数据文件和第二数据文件,进行相似度计算以取得匹配结果;
步骤A7:计算完成后,将匹配结果发送至所述DMA模块,所述DMA模块将匹配结果通过PCIE接口上传至服务器节点;
步骤A8:任务结束。


2.根据权利要求1所述的一种基于PCIESSD的FPGA搜索匹配方法,其特征在于:执行所述步骤A8过程中,还包括A81:所述DMA模块向服务器节点发送中断请求。


3.根据权利要求1所述的一种基于PCIESSD的FPGA搜索匹配方法,其特征在于:所述SSD控制器,通过PCIE接口与服务器节点通信,负责管理和控制FLASH阵列,根据服务器节点发送的命令对FLASH阵列做读写操作。


4.根...

【专利技术属性】
技术研发人员:肖飞云飞龙
申请(专利权)人:方一信息科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1