BittWare合作伙伴IP

查询处理单元(QPU)

构建FPGA驱动的加速器,以PCIe Gen4的速度查询、分析或重新格式化存储或流式数据!

IA-420f PCIe 卡
Eideticom 徽标

Eideticom的查询处理单元(QPU)针对数据库用户或任何需要在硬件中以低延迟完成查询、分析或格式转换的流媒体数据(如网络数据包)。任务可以并行化,以满足任何带宽需求,并与其他NoLoad®功能如压缩混合。

建立在NoLoad®框架之上

作为Eideticom的NoLoad计算存储框架的一部分,QPU可以与Eideticom的其他计算存储IP进行管道连接,如压缩、解压缩擦写编码和重复数据删除。

软件驱动的设计

解除了硬件工程师参与指定QPU参数的负担,用户使用片上处理器定义功能。这既提供了高级工具的易用性,又减轻了主控CPU的负担。

QPU包括格式转换(文本到/从二进制)或标准驱动的数据库功能。用户在软件中设计他们的功能组合,不需要基于硬件的工具。QPU将支持一系列数据库工具的原生加速,因为这些软件包将支持基于标准的计算存储。

查询

用软件定义的搜索和过滤参数进行数据查询。

分析一下

对流媒体数据进行过滤、模式匹配和分析,如网络包头或SSD存储上的数据。

改造

对文本/二进制数据进行高效的重新格式化或其他格式转换。

演示视频

Eideticom的工程副总裁Sean Gibb在一个5GB的CSV文件上演示了查询处理单元。

QPU 演示输出缩略图
 

我是Sean Gibb,Eideticom的工程副总裁。在本视频中,我们将演示如何使用Eideticom的查询处理单元,即QPU,来格式化和过滤以逗号分隔的文本格式存储的股票行情数据。

Eideticom的QPU中的嵌入式处理器可使用C或C++进行软件编程,使您能够动态地编制过滤功能。

除了嵌入式处理器外,您的嵌入式软件还可使用易于使用的高吞吐量硬件协处理器(执行常见任务,如数据包捕获分析、从文本到二进制格式的转换以及简单过滤),以加速您的查询工作负载。

在这个例子中,我们使用文本到二进制格式化器将CSV转换为二进制数据,执行一个运行时间可配置的硬件过滤器(以过滤掉特定的股票符号和低成交量的交易),然后执行一个软件过滤器,删除当天收盘价低于开盘价的所有交易。

我们使用GCC编译器编译软件,产生一个可执行文件,我们可以通过我们的软件栈加载到嵌入式处理器。一旦软件加载完毕,我们通过查询引擎运行5GB的CSV数据,过滤所有体积超过1000万的微软股票。

你可以在这里看到,一个查询引擎能够维持2GB/s的文本输入。我们可以铺设多个查询引擎,并且由于Eideticom的软件堆栈,用同一个主机软件使FPGA卡的PCIe接口饱和。

这只是Eideticom的软件可编程、硬件加速的QPU能够为你做的一个例子。

软件定义的+可扩展的,满足您的带宽需求

查询处理单元在软件中定义,在FPGA上运行(使用软或硬处理器),消除了对低级配置工程资源的需求。

QPU是模块化的,允许放置一个或多个单元以满足一定的带宽要求。QPU实例可以合作,例如,在八个QPU上进行分布式文件转换,需要协调跨越两个单元的数据。

QPU如何在NoLoad®内部工作,部署在BittWare的IA-220-U2模块或IA-420F卡上

查询引擎总体图

建立在Eideticom的NoLoad®计算存储框架之上

查询处理单元是NoLoad框架的一个组件。橙色的压缩等组件是用户使用软件定义的方法建立他们的特定应用。

像压缩这样的组件可以被添加到QPU中,例如,在转移到SSD存储之前,对过滤的数据进行压缩。

所有显示的加速器功能都在FPGA硬件中实现,允许高带宽、低延时和CPU卸载

无负载 CSP 框图

使用案例

金融科技的捕获+分析引擎

构建一个高性能、软件定义的数据包捕获和分析引擎

这个现实世界的例子使用查询处理单元作为数据包处理机,加上压缩引擎(另一个NoLoad® IP核)。数据包被压缩并使用点对点传输写入固态硬盘阵列,同时QPU还拉出头(网络元组)数据和一些分析,如每个时间段的数据包计数。分析结果以CSV数据的形式发送到主机。

性能优势

与多线程的英特尔至强CPU相比,数据库查询处理单元的性能如下所示。

平均值。数据包大小CPU1×查询引擎(QE)2×QE4×QE
256B0.2 GB/s1.8 GB/s3.6 GB/s7.2 GB/s
1024B0.7 GB/s2.0 GB/s4.0 GB/s8.0 GB/s
4096B1.9 GB/s2.0 GB/s4.0 GB/s8.0 GB/s
9216B2.7 GB/s2.0 GB/s4.0 GB/s8.0 GB/s
查询引擎数据包捕获用例说明
来自主机的数据包通过PCIe移动到BittWare IA-220-U2或IA-420F,以便使用NoLoad®框架和IP进行FPGA处理。

使用案例

数据库查询加速

加速数据库查询及更多

在数据库加速配置中,查询处理单元可以执行从CPU卸载到数据类型格式转换的一系列功能。

查询引擎-数据库用例说明
NoLoad™软件栈将DB数据带入/带出加速器和存储空间

兼容的FPGA卡

查询处理单元的目标是BittWare的带有Intel Agilex FPGA的卡。

对价格或更多信息感兴趣?

我们的技术销售团队随时准备提供可用性和配置信息,或回答您的技术问题。