【电子技术】【2012.08】面向数据库的可重构FPGA加速器

在这里插入图片描述

本文为挪威奥斯陆大学(作者:Jonas Julian Jensen)的硕士论文,共107页。

传统上,数据库管理系统完全是用软件实现的。但是,将硬件添加到数据库集群服务器以获得更高的速度是有代价的。首先是硬件本身的成本,其次是必须使用的众多处理器的功耗增加。

本研究的目的是探讨如何利用FPGA的部分运行重构来加速数据库。旨在展示基于FPGA的查询处理器如何与常规软件数据库协同工作,以加速某些查询。本文提出了一种利用FPGA中的动态部分重构来处理硬件中任意查询的新方法。我们研究如何将SQL查询分解并转换为硬件模块,这些模块在运行时“缝合”在一起,形成流处理数据路径。因此,提出了一组可定制的硬件模块,每个模块都可以实现一系列的SQL操作符。此外,本文还提出了一种基于时隙的部分重配置的大容量FPGA布局方法。最后,通过一个案例分析,我们可以得出主要的瓶颈是与主机的接口。另一个有趣的发现是,与传统数据库不同的是,加速器不会因为更复杂的查询而减速。相反,过滤掉输出结果实际上会加快速度。

Database management systems havetraditionally been implemented entirely in software. However, adding hardwareto database cluster servers to gain more speed has its price. Firstly, the costof the hardware itself, secondly the increased power consumption from thenumerous processors that have to be used. The purpose of this study is toinvestigate how partial run-time reconfiguration in FPGAs can be used toaccelerate databases. It aims to show how an FPGA based query processor canwork in collaboration with a regular software database to accelerate certainqueries. This thesis proposes a novel way of using dynamic partialreconfiguration in FPGAs to process arbitrary queries in hardware. Weinvestigate how SQL queries can be decomposed and turned into hardware modulesthat are ’stitched’ together at runtime to form a stream processing datapath.Consequently, a set of customizable hardware modules that each can implement arange of SQL operators are presented. In addition, the thesis gives a methodfor floorplanning a high capacity FPGA for slot based partial reconfiguration.In the end, by the help of a case study we can conclude that the mainbottleneck is the interface to the host computer. Another interesting findingis that unlike conventional databases, the accelerator is not slowed down by amore complex query. On the contrary, filtering out results actually speeds itup.

  1. 引言
  2. Maxeler系统描述
  3. 重配置
  4. 概念与设计决定
  5. 具体实现
  6. 结果
  7. 结论
    附录 文件系统开销的Matlab脚本
    附录 模块库的VHDL代码
    附录 整数比较模块的VHDL代码
    附录 简单模式匹配模块的VHDL代码
    附录 长字符串模式匹配模块的VHDL代码
    附录 生成静态系统的GoAhead脚本
    附录 生成部分模块的GoAhead脚本

在这里插入图片描述

更多精彩文章请关注公众号:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值