大约十年前,功耗和散热问题迫使半导体行业从顺序计算模式转向并行计算模式。然而,在多核CPU和GPGPU等通用并行设备中实现并行性往往很困难。此外,在暗硅前景中,不久的将来,单个程序是否可以在数千个CPU核(同一个芯片上)上执行还值得怀疑。因此,由于更新的通用硬件,软件性能的提高速度正在减慢,这也影响到数据库和其他数据处理应用程序。

这一趋势导致了所谓的数据设备(data appliances)的兴起,这些设备是专门的数据处理引擎,其中的软件和硬件被封装在一个封闭的盒子里,并为特定的应用领域定制硬件组件。

对于此类设备,定制硬件是以节能方式进一步提高性能的一种很有前途的方法。考虑到研制可扩展到通用并行硬件上的软件变得越来越困难,问题是使硬件设备适应特定问题域在多大程度上是值得的,其意义是什么。

本论文旨在探讨如何使用可定制的硬件来提升资料处理应用程式与系统。我们构建和测试专用硬件组件的平台是现场可编程门阵列(FPGA)。FPGA是一种通用器件,它允许在FPGA制造和装运后将电路加载到FPGA上。通过使用FPGA,硬件方法可以很容易地实现和验证,而无需为每一次设计更改实际制造的新的硅芯片。

虽然FPGA是实现定制硬件的方便工具,但专用集成电路(ASIC)与为FPGA设计的电路之间存在根本区别。因此,本文的第一部分在讨论利用FPGA改善数据驱动应用和系统的机会之前,先讨论FPGA的关键特性。在这个过程中,给出了一个很好地映射到FPGA的应用实例,讨论了运行时参数化与FPGA重编程,并举例说明了有效的片上通信模式。此外,还介绍了开发FPGA电路的工具和设计模式,以一种简单但可扩展的方式利用这些大规模并行设备的固有并行性。

本文的第二部分重点研究了用FPGA增强的成熟的数据处理系统。本文第一部分的许多概念将被重新讨论并应用于构建完整的系统,如实时复杂事件检测系统、FPGA加速的XQuery引擎或关系数据库的智能存储引擎,这些都可以在提高性能的同时降低能耗。第二部分的重点是基于FPGA的加速器的物理和逻辑系统集成,以及在共同设计的混合系统中定制硬件和软件之间的相互作用。此外,我们给出了在每个系统上运行实验时测量的端到端结果。

It is roughly a decade ago that power consumption and heat dissipation problemsforced the semiconductor industry to shift from a sequential to a parallel computingparadigm. However, exploiting parallelism in general-purpose parallel devices suchas multi-core CPUs and GPGPUs is often difficult. Furthermore, in the prospectof dark silicon, it is questionable whether single programs can be executed onthousands of CPU cores (on the same die) in the near future. As a consequence, theperformance increase of software due to newer general-purpose hardware is slowingdown, which is also affecting databases and other data processing applications.

This trend has led to the rise of so-called data appliances, which are specializeddata processing engines, where software and hardware are shipped together in aclosed box with tailor-made hardware components for specific application domains.

For such appliances, customized hardware is a promising approach to furtherincrease performance in an energy-efficient manner. Given that it is becomingincreasingly difficult to produce software that scales on general-purpose parallelhardware, the question is to what degree it is worthwhile to adapt hardware devices to particular problem domains, and what the implications thereof are. Thisdissertation explores enhancing data processing applications and systems with customized hardware. Our platform to build and test specialized hardware components is a field-programmable gate array (FPGA). An FPGA is a generic devicethat allows circuits to be loaded onto it after the FPGA has been manufacturedand shipped. Using FPGAs, hardware approaches can be easily implemented andverified without actually fabricating a new silicon chip for every design change.

While FPGAs are a convenient tool to implement customized hardware, thereare fundamental differences between application-specific integrated circuits (ASICs)and circuits designed for FPGAs. Hence, the first part of this dissertation covers key characteristics of FPGAs before discussing opportunities of using FPGAsto improve data-driven applications and systems. In the process, examples ofapplications that map well to FPGAs are presented, runtime-parameterizationversus FPGA reprogramming is discussed, and effective on-chip communicationpatterns are illustrated. Moreover, tools and design patterns are presented todevelop FPGA circuits that leverage the inherent parallelism of these massivelyparallel devices in a simple yet scalable way.

The second part of this dissertation focuses on full-fledged data processingsystems that are enhanced with FPGAs. Many of the concepts of the first part ofthe dissertation will be revisited and applied to build complete systems such as areal-time complex event detection system, an FPGA-accelerated XQuery engine, oran intelligent storage engine for a relational database that increases performanceand reduces energy consumption at the same time. Key topics of this secondpart are physical and logical system integration of FPGA-based accelerators andthe interplay between customized hardware and software in co-designed hybridsystems. Furthermore, we present selected end-to-end results that we measuredwhile running experiments on each of these systems.

1.  引言

2.  FPGA

3.  基于有限状态自动机的设计

4.  Shifter Lists

5.  复杂事件检测系统

6.  FPGA加速的XQuery引擎

7.  智能数据库存储引擎

8.  总结与结论

附录A.1 FPGA芯片

附录A.2 FPGA板卡

更多精彩文章请关注公众号:

转载本文请联系原作者获取授权,同时请注明本文来自刘春静科学网博客。

链接地址:

收藏

分享

fpga arm 通讯_科学网-[转载]【电子技术】【2014】FPGA增强的数据处理系统相关推荐

  1. pbe近似_pbe近似_科学网—[转载]赝势及泛函介绍(1) - 冯宇超的博文

    vasp计算中用到的三种赝势:模守恒赝势,超软赝势,PAW赝势(按产生顺序). 按方法不同分为USPP(ultrasoft pesudopotential,超软赝势)和PAW(projector au ...

  2. python的安装包下载_科学网—[转载]python常用的安装包下载 - 林清莹的博文

    Python常用的安装包下载 1.首先应该下载dlib安装包(例如:dlib-19.8.1-cp36-cp36m-win_amd64.whl) 可以通过此网址进行下载对应的dlib包   https: ...

  3. pfamscan 的使用_科学网—[转载]InterProScan的使用教程 - 黄顺谋的博文

    InterPro是一个数据库,其提供蛋白序列的功能分析并归纳为一个个蛋白家族,同时还预测了presence of domains和important sites.为了将蛋白分类,InterPro使用先 ...

  4. umap算法_科学网—[转载]【源码】均匀流形近似与投影(UMAP)算法仿真 - 刘春静的博文...

    UMAP算法是Leland McInnes.John Healy和James Melville的发明. The UMAP algorithm is the invention of Leland Mc ...

  5. 光通量发光强度照度亮度关系_科学网—[转载]光通量、发光强度、亮度、照度等概念的定义 - 姬海鹏的博文...

    1 光通量 (单位:流明lm) 光通量,指人眼所能感觉到的电磁波辐射能量,其等于单位时间内每一波段的辐射能量与该波段相对视见率(又称为光谱光效应函数)的乘积.众所周知,人眼对不同波长的光的感受灵敏度( ...

  6. umap算法_科学网-[转载]【源码】均匀流形近似与投影(UMAP)算法仿真-刘春静的博文...

    UMAP算法是Leland McInnes.John Healy和James Melville的发明. The UMAP algorithm is the invention of Leland Mc ...

  7. python 海象运算符_科学网—[转载]海象运算符 := - 龚云国的博文

    PEP 572: Assignment Expressions 新增一种新语法形式::=,又称为"海象运算符"(为什么叫海象,看看这两个符号像不像颜表情),如果你用过 Go 语言, ...

  8. python将汉字转为拼音字母_科学网—[转载]python中文汉字转拼音 - 陈明杰的博文...

    将汉字转为拼音.可以用于汉字注音.排序.检索(Russian translation) . 特性根据词组智能匹配最正确的拼音. 支持多音字. 简单的繁体支持, 注音支持. 支持多种不同拼音/注音风格. ...

  9. matlab surf颜色,科学网[转载]matlab中控制mesh或者surf的颜色

    科学网[转载]matlab中控制mesh或者surf的颜色 曲面的顏色越发柔順滑腻,del2 (Z) 根據數值微分來產生矩陣 Z 的 discrete Laplacian, Y,surf 及 mesh ...

最新文章

  1. myeclipse中的js文件报错
  2. 如何解决http封包中gzip编码的html
  3. 老大难的分布式锁与幂等性问题,如何解决?长文干货!
  4. JavaScript_process01
  5. vue验证整数_前端Vue中常用rules校验规则
  6. 条件过滤(商品名称、价格以及商品类别的查询)
  7. chrome安装JSONview插件,即可在浏览中查看json文件
  8. 电商项目数据库表的学习及数据库表结构设计
  9. 电子邮箱地址怎么弄?邮箱格式如何填写?
  10. 实战案例!使用 Python 进行 RFM 客户价值分析!
  11. Sending build context to Docker daemon 解决办法
  12. 预估期刊2021年的影响因子
  13. 问题:EO-1 hyperion影像做 MNF 时报错问题解决
  14. Linux回炉学习(一)
  15. amazon开发者申请,pii权限申请
  16. 制作一个简单HTML+CSS个人网页设计(web前端大作业)
  17. 钉钉邮箱登录入口_阿里企业邮箱发信失败 报错:554reject by content_「阿里云企业邮箱_阿里企业邮箱」指定经销商热线:400-855...
  18. 阿里工程师修养之:如何量化考核技术人的 KPI ?
  19. Firefox/Chrome下flash的wmode参数设为opaque或transparent时输入文本框中无法输入中文汉字的解决方法...
  20. 基于Spring boot+freemarker+Mysql实现的玩具企业官网项目源码

热门文章

  1. Android单元测试 mock Context,mock静态类的静态方法,测试方法的顺序
  2. ora-28500 ora-02063 mysql_oracle dblink mysql 报错ORA-28500
  3. numpy版本过高的解决方案
  4. WORD如何取消文字下方花花绿绿的波浪线?
  5. 从WordCount看Spark大数据处理的核心机制(1)
  6. Python中break和continue语句及循环中的else子句
  7. python下绘制折线图
  8. python的多线程应用前景_什么是线程(多线程),Python多线程的好处
  9. 下面oracle命令正确的是,中国平安银行关于软件测试笔试试题(三)
  10. 两个时间的差值Java,Java如何找到两个时间之间的差值?