王鹤澎(1992-),女,山东省郓城人,硕士生,主要研究领域为海量数据计算
李佳宁(1992-),男,硕士,主要研究领域为数据库,大数据,数据质量
孔欣欣(1994-),女,硕士,主要研究领域为数据库,大数据,数据质量
李建中(1950-),男,博士,教授,博士生导师,CCF会士,主要研究领域为无线传感器网络,物联网,数据库,海量数据管理
高宏(1966-),女,博士,教授,博士生导师, CCF高级会员,主要研究领域为无线传感器网络,物联网,海量数据管理,数据挖掘
近年来,随着数据量的不断增大,数据密集型计算任务变得日益繁重.如何能够快速、高效地实现在大规模数据集上的计算,已成为数据密集型计算的主要研究方向.最近几年,研究人员利用新型的硬件处理器对数据密集型计算进行加速处理,并针对不同新型处理器的特点,设计了不同形式的加速处理算法.主要对新型硬件处理器基于数据密集型计算的研究进行了综述.首先概述了新型硬件处理器的特点;然后,分别对新型处理器FPGA和GPU等硬件进行性能分析,并分析了每种处理器对数据密集型计算的效果;最后提出了进一步的研究方向.
In recent years, with increased data volume, data-intensive computing tasks become increasingly critical. How to efficiently and effectively implement data-intensive computing on large data sets becomes a major research direction for data-intensive computing. Currently, researchers attempt to use new processors to accelerate the data-intensive computing process. Different acceleration approaches could be adopted according to the characteristics of new processors. In this paper, the new processors, well as the algorithms, for data-intensive computing research are surveyed. First, the new features of processors are reviewed. Then the capability of each new processors and their performance over data intensive computing are analyzed. Finally, the future research directions are discussed.
针对急剧上升的大规模数据, 传统的数据密集型计算已经无法再在此种场景下适用.对此, 大量的学者们对算法进行不断的改进, 并提出利用新型的处理器来进行复杂的数据密集型计算.在众多的新型处理器中, FPGA与GPU体现了良好的并行计算等特性, 使得复杂的数据密集型计算能够快速、高效地在并行机器集群上快速地进行并行计算.
处理器的主要功能是用于对计算机的指令进行解释以及处理计算机应用中的数据.由于内存空间急速变大, 但是处理器的处理效率却无法与其匹配, 适用于各类处理不同场景的新型处理器迅速出现, 并展现了其高效的性能.不同的处理器针对不同类型的计算算法以及不同的面向场景, 并体现出不同的性能优势.
针对不同处理器, 研究人员对不同的任务提出了大量新算法.面向新型处理器的高效数据密集型计算算法研究已成为当前数据管理等领域的热点之一.为了有效地对当前面向新处理器的数据密集型计算技术的新进展进行梳理, 本文首先对数据密集型计算、新型处理器背景做出简要的概述(第1节).然后, 分别在第2节和第3节分别对新型处理器FPGA, GPU进行分析.然后, 基于其他硬件平台对大规模数据进行数据密集型计算的综述(第4节).针对其特点进行概述, 再根据其特性对数据库系统以及机器学习中的数据密集型计算做出相应的改进(第5节).
大量的用户在生活中、网络中持续产生活动记录, 使得需要管理和计算的数据以指数形式急速增加.针对这些大规模的数据, 如何让其更好地服务用户变得日益重要.数据密集型计算实现数据的获取、存储及管理, 对得到的数据集进行分析与计算, 通过计算分析得到用户所需的结果.针对大规模的数据集, 数据密集型计算也变得更加复杂、困难, 计算的效率也随着数据集的增加而降低.所以, 如何解决大规模数据集的存储操作与密集计算, 成为当前亟待解决的问题.面对该问题, 研究人员针对各种数据密集型计算进行了并行处理, 将算法划分成子计算模式进行并行计算, 从而提高算法执行效率.因此, 随着大数据时代的到来, 大规模的分布式计算框架在数据密集型计算中变得更加重要, 针对海量数据的数据库操作也越来越受到重视.但是随着数据量的增加, 算法计算量也变得更加复杂, 普通硬件(如CPU)的计算速度已经无法满足用户需求.学者们开始通过对硬件的改变, 使数据密集型计算变得高效.由于FPGA具有可重构及可扩展等特点, GPU具有高并行等特点, 十分适用于当今的数据密集型计算, 因此, 以FPGA, GPU为代表的新型的硬件得到了快速、高需求的发展.如何将这些新型处理器有效应用于数据密集型计算, 成为现今数据库领域和高性能计算领域关注的热点问题之一.研究人员近年进行了大量的研究工作, 提出了一系列技术.本文主要根据新型处理器对数据库上的密集型操作计算以及机器学习方向上的数据密集型计算进行综述.
在数据库上针对大规模的数据集进行数据密集型操作时, 随着计算机内存空间不断变大, 现代数据库系统能够在内存中对其进行处理.但是随着内存容量的增加, 并没有适当地降低内存延迟, 从而导致了内存在处理数据较多时延迟过长.因此, 数据在内存层之间的移动成为了影响内存数据系统时间效率的瓶颈.以前的设计中, 针对一个特定的查询, 所有与查询结果相关的数据必须在内存层之间进行移动.针对这种情况, Sam等人[
众所周知, FPGA是以并行计算为主的处理器, GPU是图像应用领域的最成功的加速器.在其他领域, 也存在着大量的加速器应用于各种数据密集型计算中.例如, 卷积引擎能够针对图像内核和模板计算进行处理, M7能够加快数据库查询[
根据FPGA处理器具有可重构的特性, 近几年主要研究将其用于加速数据库系统的查询操作.由于FPGA处理器能够动态地进行编译, 所以针对不同的查询需求, 能够局部动态地进行重构.由于FPGA处理器每个时钟周期能够处理更多的任务, 所以其能更好地执行并行化的算法, 比如
FPGA, 即现场可编程门阵列, 是一个可重复编程的逻辑设备, 且是一个以并行运算为主的处理器.它能够通过可编程的逻辑元件配置构造成一些基本的逻辑门数字电路, 例如与门、或门、非门、异或门以及它们更为复杂的组合排列.通过硬件描述语言, 例如Verilog或者VHDL来产生这些数字电路.FPGA能为用户提供更灵活的数字电路配置.基于FPGA的系统是一个具有高性能、高效率的体系结构.FPGA具有如下几个关键的特性: FPGA比CPU性能高两三个数量级;它能在6~12个月内跟上CPU的半导体技术;FPGA是内置可重置的, 它能够被重新加载以符合当前的应用需求.基于FPGA的架构, 能够被应用于嵌入式系统中.同时, 这一技术也正在逐步应用于计算密集型和数据密集型的应用中.基于这些特点, FPGA在数据库上的操作与机器学习上的效率也有更好的体现.
FPGA的适用范围很宽, 包括通信、视频、信息处理等领域.目前, 由于FPGA的使用成本较低且能耗比其他主流处理器要低, 因此比较广泛地用于工业环境中, 使其大规模地进行数据密集型计算.其用于工业大规模使用的优势体现在:(1) FPGA能够集成整个芯片系统(SoC), 在一个硬件平台上集成IP和软件堆栈, 从而大幅度降低成本;(2) FPGA有较长的产品生命周期, 能够通过硬件移植来延长其工业生命周期, 从而达到低成本使用的效果;(3) 可重新编程的性能使其能够在工业开发中, 利用不同的设计来适应新硬件功能的发展变化.
有一些利用FPGA处理查询操作的静态方法.Andreas等人[
Glacier[
系统架构图[
System architecture diagram[
Glacier支持任意的代数操作组合, 因此具有较高的灵活性.但是Glacier上的电路只能对已知的查询进行处理, 对于新的查询, 需要重新生成电路.因此, 提出了一种新的方法, 动态重分配方法[
虽然文献[
Scofield等人在文献[
Sukhwani等人[
Yoshimi等人[
这种简单的集群架构具有可扩展性, 并且能够对现有的系统向后兼容, 因此, 该集群能够对已存在的分布式软件系统进行终端到终端的性能对比.
该模型的单节点架构图如
针对大规模的图像数据, 文献[
遗传算法是一种基于随机特征的自适应学习策略的优化方法.由于其函数的设计不固定, 例如有时函数需要进行优化, 因此硬件平台必须具有可重编程性.FPGA的可重编程性便满足了该点需求.遗传算法广泛应用于数值分析、图像处理、模式识别、非线性优化问题等领域.针对大规模的文本数据、图数据, 可通过将数据转换成二进制输入数据, 利用遗传算法来解决问题.遗传程序被许多研究人员用于合成组合电路[
针对大规模的文本数据, 早期的遗传算法硬件实现的主要缺点就是缺乏参数可编程性以及缺少对多适应度函数的支持.对此, Pradeep等人[
遗传算法效果表[
Table of effect of genetic algorithm[
GA阶段 | 初始基于PC的GA | 用FPGA改进GA | 速度提升比 |
选择和交叉 | 94ms | 8.85ms | 10 000x |
突变 | 2ms | 18msa | 111x |
种群更新 | 30ms | 600nsb | 50 000x |
评估 | 60s/50s | N/Ac | 1.2xd |
针对在大规模文本数据上的遗传算法, Aporntewan等人[
在解决真实世界应用问题时, 由于基于FPGA实现的遗传算法比基于CPU实现的遗传算法更高效[
由于人工神经网络需要知道拓扑结构和每个突触连接的初始权重, 但是这两个参数的计算又过于繁重, 因此, Fe等人[
Tuncer等人[
由于FPGA具有重构特性, 因此它在贝叶斯网络上体现的性能比软件更好, 比硬件[
由于最近使用拥有高维度特征空间的高吞吐率数据(例如图像、微矩阵等)场景大量增加, 急需一种能够高效处理这些数据的方法.文献[
基于FPGA实现的计算硬件架构[
· 控制模块给每个模块发出控制信号, 并从训练集内存中读取数据;
· 训练集内存类似于ROM, 存储包含分类标签的训练集数据;
· 对比模块由多个比较单元组成, 其个数等于子空间的个数, 并且每个比较单元包含一个比较器和一个随机掩码模式发生器, 比较器能够确定输入的特征是否匹配;
· 如果测试数据和训练数据的某属性发生匹配, 该属性的总值在求和模块上进行增加操作;
· 预测模块利用该文献提出的计算方法来估算输入数据的分类标签.
PSNB代表文献[
计算硬件实现图[
Computing hardware implementation diagram[
分类效果对比表[
Classification effect comparison table[
数据集 | PSNB | kNN | SVM | LDA |
Leukemia | 97.06 | 94.12 | 94.12 | 91.18 |
Lung cancer | 72.41 | 71.04 | 70.58 | 61.33 |
Breast cancer | 72.08 | 70.34 | 69.19 | 69.52 |
Scene-15 | 74.10 | 67.71 | 71.70 | 66.73 |
由
Mak[
贝叶斯分类结果对比表[
Bayes classification results comparison table[
SW节点平均处理时间(ms) | HW节点平均处理时间(ms)和与SW节点速度比 | ||||||
数据集 | 非root 节点 | Root 节点 | 平均值 | HW平均时间/节点数 @165MHz(ms) | 速率比 vs. SW | HW平均时间/节点数 @310 MHz(ms) | 速率比 vs. SW |
M993 | 16.1 | 43.1 | 17.1 | 6.6 | 2.6 | 3.5 | 4.9 |
M1319 | 20.7 | 54.2 | 22.7 | 9.0 | 2.5 | 4.8 | 4.7 |
M346 | 41.1 | 118.0 | 44.0 | 9.6 | 4.6 | 5.1 | 8.7 |
M1038 | 46.3 | 119.4 | 47.0 | 13.0 | 3.6 | 6.9 | 6.8 |
M1485 | 61.5 | 166.2 | 65.5 | 19.0 | 3.4 | 10.1 | 6.5 |
M4056 | 193.6 | 560.3 | 198.2 | 58.7 | 3.4 | 31.2 | 6.4 |
M3631 | 199.6 | 563.9 | 205.9 | 83.0 | 2.5 | 44.1 | 4.7 |
利用硬件并行实现人工神经网络, 可以通过模拟、数字或混合信号设计的技术来实现.FPGA在超大规模集成电路中具有更加成熟和灵活的数字化设计, 它的高处理密度特性可用于人工神经网络的并行处理[
针对大规模文本数据, 比较流行的人工神经网络[
基于FPGA的人工神经网络传统方法允许的最小精度是16位定点, 该方法权衡面积来说被认为是最优的精度, 使其能够在FPGA上获得高效的硬件性能.定点精度能够量化错误, 相对应的浮点精度限制了量化错误.对此, 文献[
为了确保基于FPGA的精密逻辑运算, 在面积与精度之间的平衡很重要, 合理的数值精度能够提高网络精度和收敛速度.随着精度的提高, 逻辑面积(即FPGA资源)的花费代价也越高.浮点对比于定点来说, 能够提供更高的精度, 在计算时, 计算结果将得到更小的量化误差, 因此, 其作为一种理想的数值表示法被广泛应用于通用计算平台.然而, 由于FPGA的硬件资源限制, 浮点数不如定点数那样灵活.因此, 文献[
virtex-E(FPGA的一种)可配置逻辑模块如
virtex-E可配置逻辑模块图[
virtex-E configurable logic module diagram[
当把人工神经网络映射到FPGA中时, 发现针对大规模文本数据和图像数据的计算, 最主要的限制是大量资源在各个处理元件中共享问题.对此, Bonnici等人在文献[
接口设计实现图[
Interface design and implementation diagram[
由于模拟超大规模集成电路的生产成本高, Barend等人[
基于FPGA的各种密集型计算效果比较
Comparison of the effects of various intensive computing based on FPGA
模型 | 算法 | 优点 | 效率 |
| Map-Reduce processing[ | 比用软件实现算法的速度快, 降低了通信开销 | 高 |
Tree-Based data structures[ | 支持大数据集, 提高吞吐量 | 高 | |
Dynamic partial reconfiguration[ | 高能源效率, 能处理较大维度的数据 | 中 | |
贝叶斯 | PSO[ | 精度效果较好, 比用软件实现的速度快 | 高 |
Accelerating the phylogenetic likelihood function[ | 比单核速度更快 | 高 | |
Bayesian MCMC inference methods[ | 协调多个FPGA共同计算自定义的并行算法 | 高 | |
遗传算法 | SMILE[ | 比集群实现的速度快, 加强了可扩展性 | 高 |
IP core implementation[ | 具有容错设计, 收敛快 | 高 | |
UAV real-time path planning[ | 针对路径规划问题, 能够实时产生结果 | 高 | |
HGA[ | 可集成于任何嵌入式系统中, 易重新配置 | 中 | |
人工神经网络 | Analog VLSI ANN emulation[ | 提高硬件使用率, 降低大规模使用成本 | 中 |
ANN optimization[ | 在相同吞吐率下, 减少空闲处理单元 | 高 | |
Floating-Point arithmetic[ | 提高了计算精度, 减少计算误差 | 中 |
图形处理器(GPU)是图像应用领域的最成功的加速器.GPU由数千个又小又高效的核心组成, 这些核心的设计目的为更高效地并行处理多个任务.由于GPU由更多的内核组成, 使其能够比CPU更高效地处理并行任务.GPU具有如下几个关键的特性:比传统CPU具有更高的计算能力;具有高并行性, 能够并行执行成百上千的线程;能够执行复杂的数学和几何计算;具有高内存带宽.
GPU适用范围很宽, 可应用于图形学、科学计算等领域.在目前的工业平台中, GPU已成为主要的云平台并行计算设备.由于云平台最主要的功能是并行计算能力, 因此, GPU的高并行处理能力被广泛利用于云平台的并行计算中.但由于其生命周期短、能耗高、实时性较差的问题, 使其在工业环境中不如FPGA那样被广泛使用.
针对大规模的文本数据, 传统的基于CPU的数据库操作系统的效率很难满足用户需求, 因此, He等人[
数据库操作加速效果表[
Database operation acceleration effect table[
初始 | 操作 | ||||||
Primitive | CPU | GPU | 速度比 | Operators | CPU | GPU | 速度比 |
Map | 109 | 4 | 27.3 | Selection | 63 | 36.08 | 1.7 |
Scatter | 1 312 | 104 | 12.6 | Projection | 20 | 0.86 | 23.3 |
Gather | 1 000 | 103 | 9.7 | OrderBy | 2 500 | 1 000 | 2.5 |
Prefix scan | 141 | 14 | 10.1 | GroupBy | 2 323 | 945 | 2.5 |
Reduce | 31 | 11 | 2.8 | Aggr. | 32 | 11.62 | 2.8 |
Filter | 62 | 37 | 1.7 | NINLJ | 528 000 | 75 000 | 7.0 |
Split | 813 | 125 | 6.5 | INLJ | 4 235 | 649 | 7.0 |
Sort(qsort) | 2 313 | 945 | 2.4 | SMJ | 5 030 | 1 946 | 2.6 |
- | - | - | - | HJ | 2 550 | 1 327 | 1.9 |
文献[
在过去几年, 专用的GPU被逐步发展成通用的计算设备及高效的并行计算模型, 如CUDA和OpenCL等. Yuan等人[
近年来出现了一些新型的处理器设计方案, 通过将CPU和GPU集成在一个单一的芯片中来共享最后一级高级缓存.但是, 通过这样耦合的CPU-GPU架构的主存储器带宽远远低于独立GPU的带宽, 这样会导致目前的GPU查询协同处理范式受到内存延迟的影响.因此, He等人[
基于GPU的
针对大规模的高维文本数据, You等人[
随着数据量的指数增长, 单个GPU实现
为了解决
由于
遗传算法广泛应用于数值分析、图像处理、模式识别、非线性优化问题等领域.针对大规模的文本、图像等类型数据, 将其转换成二进制数据后进行遗传算法的计算.通常利用并行分布式系统来计算遗传算法, 但由于每次迭代时都包含多个复杂的计算, 使其在分布式中计算开销很大, 通信和管理变得复杂.因此, 处理器平台应能够对算法进行并行计算支持, GPU具有良好的并行性.尽管GPU的单指令多线程架构通常不适用于传统的并行遗传算法, 但由于GPU具有较高的并行计算的性能, 而且遗传算法具有良好的并行性, 因此, 研究人员们希望能够最大限度地利用GPU高效实现遗传算法的并行计算.细粒度并行遗传算法针对GPU的单指令多线程架构能够很好地匹配.Mohamed等人[
Stefano等人[
由于GPU的内存空间受限, 导致种群规模所占用的内存空间对算法的性能造成了影响.Martín等人[
针对大规模的图数据, Kai等人[
贝叶斯算法广泛应用于统计分析、文本分类等领域.随着数据量的增加, 贝叶斯算法对数据或文本的分类处理变得困难, 因此需要使用并行化的手段来提高算法效率, 所以需要硬件平台具备并行执行计算的能力.GPU具有良好的并行计算能力, 并且对比于利用CPU实现的降维策略、索引策略[
虽然贝叶斯推论的几个并行算法已经实施在基于CPU的集群、多核CPU以及小型CPU和GPU的集群, 但是没有一个方法能够实现同时充分利用CPU和GPU来计算.在文献[
Pratas等人[
Suchard等人[
针对大规模的图像数据, Perkins等人[
近年来, 由于大规模图数据的广泛存在和图计算的难解性, GPU被广泛用于图计算中.针对较大规模的视频数据, 文献[
从在线社会网络和其他真实世界的图数据能够得到大规模的有用信息, 针对图中所包含的数据可以进行分析, 从而有效地用于广告、安全以及提高网络用户的整体体验.然而, 这些图数据分析需要大量的计算, 因此, 文献[
GPGPU(通用计算图形处理单元)允许用户在当前个人电脑的图形硬件上进行并行计算.文献[
在医学、天文等多个领域中, 都需要针对某种问题对大规模的数据进行快速的分类.因此, 需要加速神经网络的训练和测试的执行过程.然而针对神经网络的复杂计算, 传统的硬件平台执行效率很低, 因此, 需要硬件平台拥有并行化的能力来使算法并行执行.文献[
针对大规模的图像数据, 检测其中的人类对象, 需要在光谱图像中进行.通过提取行人的红外图像, 进行特征描述, 制定特征集来代表候选人, 然后进行二进制分类特征的提取.文献[
文献[
深度学习模型用于从原始数据学习高层次的特征表示, 涉及图像、音频以及其他形式的复杂数据.也存在一些软件框架用于设计以及训练深层神经网络, 如Caffe[
基于GPU的各种密集型计算效果比较
Comparison of the effects of various intensive computing based on GPU
模型 | 算法 | 优点 | 效率 |
| GKcc[ | 加快复杂计算速度 | 中 |
Hadoop-GPU framework[ | 利用GPU建立Hadoop集群, 可扩展且具有良好的容错性 | 高 | |
Dynamic load balancing[ | 动态分配工作量来均衡负责, 提高算法性能 | 高 | |
GPU-based | 高计算内存访问效率 | 高 | |
贝叶斯 | Montblanc[ | 提高单精度、双精度的计算效率 | 高 |
oMC3[ | 结合CPU内核与GPU计算能力来加速计算效率 | 中 | |
GPU-NB[ | 减少内存消耗, 多线程并行执行算法 | 中 | |
PQ[ | 通过将算法并行分解执行来提高图像分类效果 | 高 | |
遗传算法 | GAME[ | 对GPU的内存管理、调度及数据传输进行优化 | 高 |
PGA[ | 解决复杂计算, 提高活动安排问题的计算效果 | 高 | |
Bitwise operations[ | 用比特或布尔类型存储数据, 从而加快算法执行效率 | 高 | |
神经网络 | ANN-ED[ | 通过均衡计算在GPU的分布以及优化数据传输, 减少算法执行时间 | 中 |
CMeans-CNN[ | 在相同吞吐率下, 针对检测精度的基线算法有较好的效果 | 高 | |
Rapid automated classification[ | 提高了算法结果的精度以及算法的执行速度 | 高 |
DPU(database processing unit)为数据库处理单元, Q100是DPU的一个应用实例.Q100数据库处理单元[
多核处理器是将多个核心处理器集成在一个芯片上, 对外进行功能服务.文献[
Hydra作为一个典型的同构多核处理器, 多被用于并行处理大规模数据.文献[
随着内存大小的持续增长, 使得现代数据系统能够在内存中处理大规模的数据集.然而随着内存容量的增加, 使得其与内存延迟大小成反比, 这导致在内存中处理大规模数据使得两者无法相匹配, 数据在内存中灵活移动变为了内存的性能瓶颈[
本文对面向新处理器的数据密集型计算方法进行了综述.从本文的综述可以看出:因为FPGA具有动态编译性, 利用FPGA进行数据库上的查询操作效果比较好, 能够通过利用不同的代数操作组合方式来执行不同的查询要求.FPGA的可重构性使得它能够无限的重新配置成大量的特定电路, 因此利用重新配置电路的方法来解决例如贝叶斯网络这类动态结构的计算, 其表现比普通的硬件更加灵活.FPGA与GPU对比于CPU, 他们的本地内存具有高带宽、低延迟访问的特性, 因此对于频繁访问内存数据的计算, 能够加快算法的数据访问速度. GPU对于数据库查询利用多线程执行的方法来加速查询操作.对于具有高并行性的算法, 例如遗传算法、
根据上述讨论, 在基于新存储器的数据密集型计算有如下可以进一步研究的问题:
(1) 针对多级存储器的协同优化, 目前只有单独研究新型处理机和新型存储结构的工作.根据实验, 处理机和存储访问效率都有可能成为瓶颈, 因而可以进一步研究新型处理机和新型存储结构的结合, 针对多级存储器进行协同优化, 可以整合多级存储和多处理机的优势, 提高系统性能.
(2) 针对迭代计算的优化, 在图计算、机器学习等重要算法中, 设计大量迭代计算(如
(3) 针对网络过滤/分析任务的优化, 在当前有一类任务是在线分析、过滤, 通过仅扫描数据一遍完成过滤和分析, 而并不保存数据.这类计算任务是一类重要的数据密集型计算任务, 当前的主要解决方案是通过抽样完成, 这显然会降低过滤和分析的精度.因而可以考虑设计基于新型处理机的分布式在线过滤/分析方法, 以提高过滤/分析的精度和效率.
10.1145/2771937.2771945]]]>
Aingaran K, Smentek D, Wicki T, Jairath S, Konstadinidis G, Leung S, Loewenstein P, McAllister C, Phillips S, Radovic Z, Sivaramakrishnan R. M7: Oracle's next-generation sparc processor. IEEE Micro, 2015,2:36-45. [doi: 10.1109/MM.2015.35]
10.1007/978- 94-017-9618-7_7]]]>
Francisco P. The Netezza data appliance architecture: A platform for high performance data warehousing and analytics. IBM Redbooks, 2011.
10.1109/FPL. 2014.6927502]]]>
10.1145/1807167.1807307]]]>
10.1109/FCCM.2012.18]]]>
Woods L, István Z, Alonso G. Ibex: An intelligent storage engine with support for advanced SQL offloading. Proc. of the VLDB Endowment, 2014,7(11):963-974. [doi: 10.14778/2732967.2732972]
Scofield TC, Delmerico JA, Chaudhary V, Valente G. Xtremedata dbx: An FPGA-based data warehouse appliance. Computing in Science & Engineering, 2010,12(4):66-73. [doi: 10.1109/MCSE.2010.93]
10.1145/2370816.2370874]]]>
10.1109/SBAC- PAD.2013.21]]]>
10.1109/ CANDAR.2014.87]]]>
k-means algorithm with FPGA-accelerated computer cluster. In: Proc. of 2014 IEEE the 25th Int'l Conf. on Application-Specific Systems, Architectures and Processors (ASAP). IEEE, 2014. 9-16. [doi: 10. 1109/ASAP.2014.6868624]]]>
K-means clustering on reconfigurable hardware. In: Proc. of the 2001 ACM/SIGDA ninth Int'l Symp. on Field Programmable Gate Arrays. ACM Press, 2001. 103-110. [doi: 10.1145/360276.360311]]]>
k-means clustering algorithm. In: Proc. of the 2000 IEEE Sensor Array and Multichannel Signal Processing Workshop. IEEE, 2000. 520-524. [doi: 10.1109/SAM. 2000.878063]]]>
k-means clustering for color images based on
Saegusa T, Maruyama T. An FPGA implementation of real-time
K-means clustering using tree-based data structures. In: Proc. of 2013 the 23rd Int'l Conf. on Field Programmable Logic and Applications (FPL). IEEE, 2013. 1-6. [doi: 10.1109/FPL.2013.6645501]]]>
Hussain HM, Benkrid K, Ebrahim A, Erdogan AT, Seker H. Novel dynamic partial reconfiguration implementation of
K-means algorithm for bioinformatics application: An accelerated approach to clustering Microarray data. In: Proc. of the 2011 NASA/ESA Conf. on Adaptive Hardware and Systems (AHS). IEEE, 2011. 248-255. [doi: 10.1109/AHS.2011.5963944]]]>
Koza J, Bennett F, Andre D, Keane M. Genetic programming Ⅲ: Darwinian invention and problem solving. In: Proc. of the Evolutionary Computation. 1999. 451-453.
Pedraza C, Castillo J, Martínez JI, Huerta P, Bosque JL, Cano J. Genetic algorithm for Boolean minimization in an FPGA cluster. The Journal of Supercomputing, 2011,58(2):244-252. [doi: 10.1007/s11227-010-0401-7]
Fernando PR, Katkoori S, Keymeulen D, Sankaran H, Stoica A, Zebulum R, Rajeshuni R. Customizable FPGA IP core implementation of a general-purpose genetic algorithm engine. IEEE Trans. on Evolutionary Computation, 2010,14(1):133-149. [doi: 10.1109/TEVC.2009.2025032]
10.1007/s10846-008-9276-8]]]>
10.1109/CEC.2001.934449]]]>
10.1109/ICSAMOS. 2009.5289236]]]>
10.1109/FPGA.1995.241945]]]>
Shackleford B, Snider G, Carter RJ, Okushi E, Yasuda M, Seo K, Yasuura H. A high-performance, pipelined, FPGA-based genetic algorithm machine. Genetic Programming and Evolvable Machines, 2001,2(1):33-60. [doi: 10.1023/A:1010018632078]
Guo L, Thomas DB, Luk W. Customisable architectures for the set covering problem. ACM SIGARCH Computer Architecture News, 2014,41(5):101-106. [doi: 10.1145/2641361.2641378]
Unlt GIP. Hardware Implementation of Genetic Algorithms Using FPGA. 2004.
10.1007/978-3-662-45523-4_58]]]>
Nambiar VP, Balakrishnan S, Khalil-Hani M, Marsono MN. HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems. Computing, 2013,95(9):863-896. [doi: 10.1007/s00607-013-0305-5]
10.1007/978-3-642-38622-0_43]]]>
10.1007/978-1-4471-4594-3_ 47]]]>
10.1145/1508128.1508206]]]>
Vuillemin JE, Bertin P, Roncin D, Shand M, Touati HH, Boucard P. Programmable active memories: reconfigurable systems come of age. IEEE Trans. on VLSI System, 1996,4(1):56-69. [doi: 10.1109/92.486081]
Compton K, Hauck S. Reconfigurable computing: A survey of systems and software. ACM Computing Surveys, 2002,34(2):171- 210. [doi: 10.1145/508352.508353]
Hauck S, DeHon A. Reconfigurable computing: The theory and practice of FPGA-based computation. In: Proc. of the Systems on Silicon. Morgan Kaufmann Publishers, 2007.
Hibbard MJ, Peskin ER, Sahin F. FPGA implementation of particle swarm optimization for Bayesian network learning. Computers & Electrical Engineering, 2013,39(8):2454-2468. [doi: 10.1016/j.compeleceng.2013.07.018]
Choi SW, Lee CH. A FPGA-based parallel semi-naive Bayes classifier implementation. IEICE Electronics Express, 2013,10(19): 20130673-20130673. [doi: 10.1587/elex.10.20130673]
10.1109/CSB.2004.1332479]]]>
10.1109/IPDPS. 2009.5160929]]]>
Zierke S, Bakos JD. FPGA acceleration of the phylogenetic likelihood function for Bayesian MCMC inference methods. BMC Bioinformatics, 2010,11(1):184-195. [doi: 10.1186/1471-2105-11-184]
Anguita D, Boni A, Ridella S. A digital architecture for support vector machines: Theory, algorithm, and FPGA implementation. IEEE Trans. on Neural Network, 2003,14(5):993-1009. [doi: 10.1109/TNN.2003.816033]
Rumelhart DE, McClelland JL, PDP Research Group. Parallel Distrubuted Processing: Explorations in the Microstructure of Cognition. Vol.1: Foundations, Cambridge: MIT Press, 1986.
Dehon A. The density advantage of configurable computing. IEEE Computer, 2000,33(5):41-49. [doi: 10.1109/2.839320]
Nichols KR, Moussa MA, Areibi SM. Feasibility of floating-point arithmetic in FPGA based artificial neural networks. In: Proc. of the CAINE. 2002.
10.1109/IJCNN.1991.155324]]]>
10.1109/ICECS.2006.379730]]]>
10. 1109/DSD.2010.20]]]>
10.1145/1620585.1620588]]]>
Diamos GF, Wu H, Lele A, Wang J. Efficient relational Algebra Algorithms and Data Structures for GPU. 2012.
Yuan Y, Lee R, Zhang X. The yin and yang of processing data warehousing queries on GPU devices. Proc. of the VLDB Endowment, 2013,6(10):817-828. [doi: 10.14778/2536206.2536210]
He J, Zhang S, He B. In-Cache query co-processing on coupled CPU-GPU architectures. Proc. of the VLDB Endowment, 2014,8(4): 329-340. [doi: 10.14778/2735496.2735497]
K-Means on commodity GPUs with CUDA. In: Proc. of the 2009 WRI World Congress on Computer Science and Information Engineering. IEEE, 2009. 651-655. [doi: 10.1109/CSIE.2009.491]]]>
k-means algorithm by GPUs. In: Proc. of the 2010 IEEE 10th Int'l Conf. on Computer and Information Technology (CIT). IEEE, 2010. 115-122. [doi: 10.1109/CIT.2010.60]]]>
K-means clustering. In: Proc. of the 2012 Int'l Joint Conf. on. Computer Science and Software Engineering (JCSSE). IEEE, 2012. 346-350. [doi: 10.1109/JCSSE.2012.6261977]]]>
K-means algorithm. In: Proc. of the Intelligent Computing Methodologies. Springer Int'l Publishing, 2014. 591-601. [doi: 10.1007/978-3-319-09339-0_60]]]>
K-means algorithm by using GPU in the hadoop framework. In: Proc. of the Web-Age Information Management. Springer Int'l Publishing, 2014. 177-186. [doi: 10.1007/978-3-319-11538-2_17]]]>
10.1109/CEC.2011.5949701]]]>
10.1007/978-3-642-35467-0_4]]]>
10.1145/2001858.2002031]]]>
Wang K, Shen Z. A GPU-based parallel genetic algorithm for generating daily activity plans. IEEE Trans. on Intelligent Transportation Systems, 2012,13(3):1474-1480. [doi: 10.1109/TITS.2012.2205147]
10.1109/ITSC.2011.6083080]]]>
Christen P. A survey of indexing techniques for scalable record linkage and deduplication. IEEE Trans. on Knowledge and Data Engineering, 2012,24(9):1537-1555. [doi: 10.1109/TKDE.2011.127]
10.1109/SBAC-PAD.2013.16]]]>
Wang Y, Qian W, Zhang S, Yuan B. A novel learning algorithm for Bayesian network and its efficient implementation on GPU. arXiv preprint arXiv:1210.5128, 2012.
Zhu L, Jin H, Zheng R, Feng X. Effective naive Bayes nearest neighbor based image classification on GPU. The Journal of Supercomputing, 2014,68(2):820-848. [doi: 10.1007/s11227-013-1068-7]
10.1109/ROB OT.2010.5509396]]]>
10.1109/SC.2006.47]]]>
Feng X, Buell DA, Rose JR, Waddell PJ. Parallel algorithms for Bayesian phylogenetic inference. Journal of Parallel Distrib Computer, 2003,63(7-8):707-718. [doi: 10.1016/S0743-7315(03)00079-0]
10.1109/IPDPS.2007.370214]]]>
Chai J, Su H, Wen M, Cai X, Wu N, Zhang C. Resource-Efficient utilization of CPU/GPU-based heterogeneous supercomputers for Bayesian phylogenetic inference. The Journal of Supercomputing, 2013,66(1):364-380. [doi: 10.1007/s11227-013-0911-1]
10.1109/ ICPP.2009.30]]]>
Zhou J, Liu X, Stones DS, Xie Q, Wang G. MrBayes on a graphics processing unit. Bioinformatics, 2011,27(9):1255-1261. [doi: 10.1093/bioinformatics/btr140]
Suchard MA, Rambaut A. Many-Core algorithms for statistical phylogenetics. Bioinformatics, 2009,25(11):1370-1376. [doi: 10.1093/bioinformatics/btp244]
10.1093/sysbio/syr100]]]>
Ronquist F, Teslenko M, van der Mark P, Ayres DL, Darling A, Höhna S, Larget B, Liu L, Suchard MA, Huelsenbeck JP. MrBayes 3.2: Efficient Bayesian phylogenetic inference and model choice across a large model space. Systematic Biology, 2012,61(3):539- 542. [doi: 10.1093/sysbio/sys029]
Perkins S, Maraism P, Zwart J, Natarajan I, Tasse C, Smirnov O. Montblanc: GPU accelerated radio interferometer measurement equations in support of Bayesian inference for radio observations. arXiv preprint arXiv:1501.07719, 2015.
10.1007/978-3-642-15819-3_64]]]>
Ferreira JF, Lobo J, Dias J. Bayesian real-time perception algorithms on GPU. Journal of Real-Time Image Processing, 2011,6(3): 171-186. [doi: 10.1007/s11554-010-0156-7]
10.1109/CEC.2010.5586531]]]>
Lombardi E, Wolf C, Celiktutan O, Sankur B. Activity recognition from videos with parallel hypergraph matching on GPUs. arXiv preprint arXiv:1505.00581, 2015.
Çeliktutan O, Wolf C, Sankur B, Lombardi E. Fast exact hyper-graph matching with dynamic programming for spatio-temporal data. Journal of Mathematical Imaging and Vision, 2015,51(1):1-21. [doi: 10.1007/s10851-014-0503-6]
10.1109/IPDPSW. 2013.235]]]>
10.1109/IndiaCom.2014.6828158]]]>
10.1109/IPDPSW.2014. 157]]]>
Peker M, Şen B, Gürüler H. Rapid automated classification of anesthetic depth levels using GPU based parallelization of neural networks. Journal of Medical Systems, 2015,39(2):1-11. [doi: 10.1007/s10916-014-0182-2]
C-means clustering and convolutional neural networks. In: Proc. of 2015 the 14th IAPR Int'l Conf. on Machine Vision Applications (MVA). IEEE, 2015. 246-249. [doi: 10.1109/MVA.2015.7153177]]]>
10.1145/2647868.2654889]]]>
El Hafid Y, Elrharras A, Guennoun K, Amri A, Wahbi M. Accelerating the detection of spectral bands by ANN-ED on a GPU. Computer and Information Science, 2015,8(1):95-107.
Beyeler M, Oros N, Dutt N, Krichmar JL. A GPU-accelerated cortical neural network model for visually guided robot navigation. Neural Networks, 2015,72:75-87. [doi: 10.1016/j.neunet.2015.09.005]
Zhang H, Hu Z, Wei J, Xie P, Kim G, Ho Q, Xing E. Poseidon: A system architecture for efficient GPU-based deep learning on multiple machines. arXiv preprint arXiv:1512.06216, 2015.
10.1007/978-3-319-25255-1_65]]]>
Lavin A. maxDNN: An efficient convolution kernel for deep learning with maxwell GPUs. arXiv preprint arXiv:1501.06633, 2015.
Vasilache N, Johnson J, Mathieu M, Chintala S, Piantino S, LeCun Y. Fast convolutional nets with fbfft: A GPU performance evaluation. arXiv preprint arXiv:1412.7580, 2014.
Wu L, Lottarini A, Paine T, Kim MA, Ross KA. The Q100 Database Processing Unit. 2015.
Wu L, Lottarini A, Paine TK, Kim MA, Ross KA. Q100: The architecture and design of a database processing unit. ACM SIGPLAN Notices, 2014,49(4):255-268. [doi: 10.1145/2644865.2541961]
P-Means, a parallel clustering algorithm for a heterogeneous multi- processor environment. In: Proc. of the 2011 Int'l Conf. on High Performance Computing and Simulation (HPCS). IEEE, 2011. 239-248. [doi: 10.1109/HPC Sim.2011.5999830]]]>
10.1145/1851476.1851550]]]>
Balasubramonian R, Chang J, Manning T, Moreno JH, Murphy R, Nair R, Swanson S. Near-Data processing: Insights from a MICRO-46 workshop. IEEE Micro, 2014,34(4):36-42. [doi: 10.1109/MM.2014.55]
Abadi D, Boncz P, Harizopoulos S, Idreos S, Madden S. The Design and Implementation of Modern Column-Oriented Database Systems. Now, 2013.
10.1109/ICDE.2013.6544839]]]>
10.1145/2723372.2723719]]]>
10.1145/2619228.2619232]]]>
10.1109/ICDE.2014.6816692]]]>