当前位置:首页 > 网站SEO > 正文内容

fpga运行程序(fpga程序运行原理)

abcsky886个月前 (12-02)网站SEO32

今天给各位分享

原标题:FPGA加速图数据库查询执行来源 | OSCHINA 社区作者 | KaiwuDB导读本篇博客主要讲解发布于 Microprocessors and Microsystems 的文章《Semi-static Operator Graphs for Accelerated Query Execution on FPGAs》,介绍它所提出的算法与试验结果,并结合实际情况给出一些思考。

fpga运行程序(fpga程序运行原理)

一、背景介绍在当今的数据化场景越来越丰富的大环境下,涌现出的非结构化数据存储分析被应用于多数领域为了使机器能够自动分析数据,语义网络的概念被创建,元数据被用来描述和链接任何类型的数据和资源面对存储引流推广多少钱一个人和处理大规模的数据,除了不断被优化的数据结构外,硬件也是需要被极大优化的。

海量数据的持续存储在当今硬件环境下是没有问题的,但是要实现在一个可以被接受的、被允许的时间范围内进行处理和分析则变得愈发艰难因此,许多数据库系统逐渐倾向于异构,由专门的计算内核来有效地执行特定的任务那么不得不提的,便是高性能计算常用到的 GPU (图形处理器)。

GPU 最突出的优点是高性能,即高密度运算和高效并行性,非常适合处理计算密集型的任务;同时,其易于连接到处理器端的属性也是它可以被广泛应用的原因然而,其缺点也是显而易见的,就是高功耗在 GPU 之外,还存在为特定任务设计的专有硬件加速器,其对于指定的任务拥有较高的引流推广多少钱一个人性能,但是其使用非常的不灵活,只能处理特定的任务,重新扩展的性能几乎为零。

最后,则是最近被广泛使用的 FPGA,它具有动态部分重配置的能力,可以缩小 CPU 的灵活性和专用硬件加速器的性能之间的差距,并且还拥有低功耗、高并发的优势。

FPGA 卡的核心部分示意图如上图所示,一块 FPGA 芯片由可配置逻辑模块(CLB)构成,每个 CLB 都包含特定的结构,如:查找表(LUT)、多路复用器、进位链、触发器等除此之外,一块 FPGA 卡上还有 BRAM(Block RAM),可以将其想象成 CPU 中 cache 的角色,以及 DSP (数字信号处理器)和一些通信接口(PCIe 等)。

这篇文章通过引引流推广多少钱一个人入半静态操作符图,设计了一个 FPGA-CPU 异构的图数据库系统,加速了在大规模语义数据集上的查询性能。二、相关工作

上图为一个 FPGA-CPU 混合处理运算的基本架构,客户端应用程序向混合数据库服务器发送查询,该服务器使用基于 FPGA 的硬件加速器透明地确定结果文中主要引用的内容为:Dennl 等人提出了关系型数据库 MySQL 中 SQL 查询的实时硬件加速的概念,但他们主要关注限制和聚合操作符,因此无法在 FPGA 上执行完整的查询。

Becher 等人添加了更复杂的运算符(例如:归并连接、小数据集上的排序)对于一个包含一个 Join 的简单的查询,它们的性能与标准的基于 x86 的系引流推广多少钱一个人统相当,不过能源效率更高一些Woods 等人提出了 Ibex,一种用于关系数据库 MySQL 的智能存储引擎,可以支持使用 FPGA 卸载复杂的查询操作符。

Wang 等人使用 OpenCL high level synthesis (HLS) 将数据库操作符实现为 FPGA 的 Kernel但是查询只用到了范围检查和一个 Join,相对简单Heinrich 等人提出了一种混合索引结构,它在 FPGA 上存储包括根节点在内的高层 B+ 树,在主机上存储包括叶子节点在内的低层。

而本文是第一个针对语义 Web 数据库完全集成的基于 FPGA 的查询引擎在介绍本文的混合数据库系统之前,先介绍一下本文用引流推广多少钱一个人到的图数据库基础论文的工作是基于一个开源的图数据库系统 LUPOSDATE,它支持完整的 SPARQL 1.0 和 SPARQL 1.1 标准查询语言。

论文通过引入基于 FPGA 的查询引擎,与 LUPOSDATE 系统结合在一起LUPOSDATE 使用 RDF 三元组作为基本数据格式来描述 Web 资源,RDF 三元组表示为 ,其中 s 是 subject (主语)、p 是 predicate (谓词)、o 是 object (宾语)。

相应的,LUPOSDATE 存储的 B+ 树索引结构有六种:SPO、SOP、PSO、POS、OSP、OPS,可以在检索时方便的得到有序的三元组除此之外,LUP引流推广多少钱一个人OSDATE 还维护一个 ISTree 和一个 SITree,用于 RDF 字符串和整数 id 之间的映射,这有利于 FPGA 模块的设计,因为 FPGA 无法处理不定长度的字符串。

如下图所示,对于给定的一个 SPARQL 查询:

LUPOSDATE 语法分析器会产生相应的变量数组和操作符图:三、论文解决的问题

本文实现的混合数据库系统是一个 LUPOSDATE 的扩展,由 CPU 主机和 FPGA 异构而成,如上图所示主机提供更高层级的功能,如用户界面、查询优化、评估指标维护等,而 FPGA 被用作查询执行时的自适应加速器。

主机和 FPGA 之间的通信是基于外设原件 PCIe 的FPGA 区域被引流推广多少钱一个人划分为静态逻辑和许多个小 RP,每个 RP 可以配置任意类型的运算符,每个运算符作为一个可配置模块是提前生成的静态逻辑包含与实际查询结构独立的模块,包括 PCIe 接口、一个管理模块和查询协调器(QC)。

QC 的主要任务是将传入的三元组交给最上层的 RP 进行相应索引结构的导入,以及检索和序列化变量数组用以生成最终结果此外,每个 RP 之间的互联也位于静态逻辑中每个实现的查询操作符都使用了如下图所示的一个公共模板:。

每个操作符至多有两个前向操作符和一个后向操作符,如果一个操作符只需要一个前向操作符,那么只有左边的输入被启用每一个输入或输出都有如下参数:一个 data 向量对应输入输出的数组,一引流推广多少钱一个人个 valid 信号表示数据的有效性,一个 finished 参数指定数据的结尾,一个反向 read 信号通知前向操作符数据已经被读取,并且在新数据到来之前不会进行操作。

最后,数据的宽度也必须作为一个参数传入,因为 FPGA 无法支持变长的数据类型下面介绍一下论文实现的操作符:RDF3XIndexScan :RDF3XIndexScan 是 QC 和内部操作符之间的联系。

这个操作符的主要目标是从 QC 中接收三元组,并将它们所需的组件映射到变量数组的某个位置它维护三个 one-hot 编码的向量,每个向量的第 i 位代表第 i 个变量,如果某一个元素是常量,那么就将其所有位置为 1。

Join 引流推广多少钱一个人:Join 操作符是自然连接,本文使用的是 MergeJoin 的方式它维护一个 one-hot 编码的向量,向量的第 i 位代表第 i 个变量,指代要 Join 的变量Filter :Filter 操作符是用于执行条件查询。

复杂的 Filter 表达式将被分解为多个简单的 VALUE COND VALUE 的 Filter 操作符其中,VALUE 可以是一个值、一个变量或一个式子,COND 是比较条件但由于 FPGA 无法处理字符串的问题,所以通过将字符串映射为整数 id 之后,系统只能支持相等和不相等的比较。

Projection :Projection 操作符是用于将需要的变量结果从变量数引流推广多少钱一个人组中投影出来Union :Union 操作符就是简单的将两个前向操作符得到的结果做一个并集操作Limit 和 offset :Limit 操作符会转发特定数量的结果给变量数组。

而 offset 操作符会跳过特定数量的结果它们一般作为操作符图的最后几步

从混合系统结构图中可以看到,每个 RP 之间并不是直接输入输出互联,而是通过了一个上图所示的半静态路由元素(SRE)结构论文以一个两路复用 SRE 为例,当 succ_sel 信号为 0 时,数据流会直接向下路由,为 1 时,会向另一侧路由。

SRE 的存在使得可以用更少的 RP 组成一个支持查询范围更大的半静态操作符图四、混合系统工程流程

上图给出了引流推广多少钱一个人混合系统的工作流程图,可以将其分为部署阶段和系统运行时在部署阶段,除了需要导入数据之外,整个静态逻辑必须部署在 FPGA 上,每个操作符对应的 RM 也需要提前生成并存储在 RM 库中在系统运行时,主机通过分析输入的 SPARQL 查询,将其解析成相应的操作符图,检测其是否可以用配置在 FPGA 上,如果有不支持的操作符存在,那么会直接 CPU 端执行查询,如果所有操作符都支持,那么 ICAP 会选择对应操作符的 RM 配置在 FPGA 的半静态操作符图上。

主机通过 PCIe 向 FPGA 端提供输入三元组,并接收 FPGA 端发回的结果进行后处理,FPGA 端负责具体的计算任务五、实验结果本引流推广多少钱一个人文使用的是 Xilinx 的 Virtex-6 FPGA 卡和 PCIe 2.0 八通道通信接口,在 SP2Bench 三个不同大小的数据集(66M,131M 和 262M 个三元组)上进行了实验。

下图是他们采用的 SPARQL 查询示例:

Query 1 是用到了 Filter 操作符的查询,Query 2 是用到了 Union 操作符的查询,Query 3-5 分别是用到了不同数量的 Join 操作符他们在 FPGA 端部署的半静态操作符图如下:。

最后的实验结果表明,加入了 FPGA 的混合系统比原来的 LUPOSDATE 系统的查询执行速度更快。并且随着数据规模的增大,加速比会更大,说明混引流推广多少钱一个人合系统更加适合大规模的数据集上的查询。

六、总结在这篇文章中,作者在 FPGA 上引入了半静态运算符图(SOG)的概念,为语义网数据库中的查询执行提供灵活的硬件加速器作者没有为给定的查询系统运行时生成一个 FPGA 配置,而是以一定程度的灵活性部署了通用查询结构。

SOG 由多个具有公共接口的 RP 组成在为每个 RP 部署系统期间,会生成一组部分位文件的 RM,并将其存储到存储库中在系统运行时,作者的混合系统针对给定的 SPARQL 查询选择 RM,并通过 ICAP 将其配置为 RP,RP 设置 FPGA 上运算符图的最终结构。

作为这项工作的主要贡献,耗时的 RM 生成在系统运行时之前执行,并且引流推广多少钱一个人信号大大减少了查询执行期间的重新配置END Bing ChatAI 化身赛博疯子? 这里有最新开源资讯、软件更新、技术干货等内容点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦

返回搜狐,查看更多责任编辑:

扫描二维码推送至手机访问。

版权声明:本文由ZBLOG发布,如需转载请注明出处。

本文链接:http://yl-ceramics.com/post/745.html

分享给朋友:

“fpga运行程序(fpga程序运行原理)” 的相关文章

谷歌排名网站优化,谷歌seo网站优化哪个好用(谷歌排名网站优化,谷歌seo网站优化哪个好一点)

今天给各位分享 原标题:谷歌排名网站优化,谷歌seo网站优化1:SEO的基本原则谷歌排名的网站优化是指根据谷歌搜索引擎的排名算法,对网站进行优化以获得更好的排名要想在谷歌上面有一个好的排名,首先要遵循SEO的基本原则SEO原则是搜索引擎优化的基本准则,也是谷歌排名的基本原则。...

自建外贸独立站(外贸独立站怎么运营)

本文分享给大家的是: 很多新手卖家在入行跨境电商时,会被建议去做外贸独立站而对于外贸新手来说,这大概是一个比较陌生的东西,因此在这个过程中,不免会产生很多的疑问在这里Ueeshop收集了一些外贸独立建站中的常见问题,希望会对你有所帮助。 为什么要做独立站?为什么要做独立站,...

齐鲁文旅集团有限公司招聘(齐鲁文旅集团有限公司焦鹏)

今天给各位分享 齐鲁网·闪电新闻2月24日讯 2月24日,由山东省文化和旅游厅主办的“‘冀’遇齐鲁 山河相约”好客山东再相逢营销推广活动在河北石家庄举办两省文旅部门代表,景区、旅行社、酒店、研学机构、自驾协会等企业代表,主流媒体、地方媒体,旅行博主、签约摄影师、知名行者等...

淘宝seo搜索排名优化(淘宝seo排名优化)

今天给各位分享 对大多数人而言,产品上新时第一个先做的是什么?付费引流?那你就错了,产品在正式推广前,要先认真考虑,产品在没有基础时,就算花高昂的烧车费用,也是提升不了转化的,直通车的作用,是建立在宝贝做好了基础的seo,在结合直通车互相配合,来提高流量和转化的 淘宝基础s...

网络品牌推广怎么做,企业如何把钱花在刀刃上呢(网络品牌推广的步骤)

今天给各位分享 要说三到五年前,企业是否要做网络品牌推广还是个存在​‌‌​‌‌​‌‌争议的话题,那么在今天,网络品牌推广已是每个企业战略级的重要决策深层的原因在于智能手机的全面普及和移动互联网的全覆盖,造成消费者信息获取渠道的更迭。 谁能在信息接入点上第一时间接触用户进而...

上海网页设计公司有哪些公司啊(上海网页设计培训学校)

本篇文章给大家谈谈 上海网站建设网页设计-企业网络推广公苏州网站建设网页设计-企业网络推广公司「400-111-6878」「龙口网站建设」「龙口网站优化」网站建设要考虑用户体验度「宁乡网站建设」「宁乡网站优化」网站需要留意的几种异常状况 「昆山网站建设」「昆山网站优化」企业...