In-RDBMS Hardware Acceleration of Advanced Analytics

In-RDBMS Hardware Acceleration of Advanced Analytics
复制标题

DOI:
10.14778/3236187.3236188
复制
发表时间:
2018-01
期刊:
Proc. VLDB Endow.
影响因子:
--
通讯作者:
Divya Mahajan;J. Kim;Jacob Sacks;A. Ardalan;Arun Kumar;H. Esmaeilzadeh
Divya Mahajan;J. Kim;Jacob Sacks;A. Ardalan;Arun Kumar;H. Esmaeilzadeh
中科院分区:
其他
文献类型:
--
作者:
Divya Mahajan;J. Kim;Jacob Sacks;A. Ardalan;Arun Kumar;H. Esmaeilzadeh

文献摘要

相似文献

机器学习、数据库和硬件设计的进步推动了数据革命。可编程加速器正在独立地进入这些领域。因此,在这些不相交的字段的交集处实现硬件加速的解决方案是空白的。本文旨在为高级分析学的一维加速问题(DAnA)提供一个统一的解决方案。为数据库内分析部署专用硬件(如FPGA)目前需要手动设计硬件并手动路由数据。相反,DAnA自动将高级分析查询的高级规范映射到FPGA加速器。加速器实现是为用户定义函数(UDF)生成的,它使用Python嵌入的域特定语言(DSL)表示为SQL查询的一部分。为了实现有效的数据库内集成,DAnA加速器包含一种新颖的硬件结构Striders,它直接与数据库的缓冲池接口。Striders提取、清理和处理执行分析算法的多线程FPGA引擎所使用的训练数据元组。我们将DAnA与PostgreSQL集成,为运行各种ML算法的一系列真实世界和合成数据集生成硬件加速器。结果表明,DAnA增强的PostgreSQL为真实的数据集提供了平均8.3倍的端到端加速比,最大为28.2倍。此外,DAnA增强的PostgreSQL平均比Greenplum上运行的多线程Apache MADLib快4.0倍。DAnA提供了这些好处,同时向数据科学家隐藏了硬件设计的复杂性,并允许他们用30-60行Python来表达算法。
The data revolution is fueled by advances in machine learning, databases, and hardware design. Programmable accelerators are making their way into each of these areas independently. As such, there is a void of solutions that enables hardware acceleration at the intersection of these disjoint fields. This paper sets out to be the initial step towards a unifying solution for in- D atabase A cceleration of Advanced A nalytics (DAnA). Deploying specialized hardware, such as FPGAs, for in-database analytics currently requires hand-designing the hardware and manually routing the data. Instead, DAnA automatically maps a high-level specification of advanced analytics queries to an FPGA accelerator. The accelerator implementation is generated for a User Defined Function (UDF), expressed as a part of an SQL query using a Python-embedded Domain-Specific Language (DSL). To realize an efficient in-database integration, DAnA accelerators contain a novel hardware structure, Striders , that directly interface with the buffer pool of the database. Striders extract, cleanse, and process the training data tuples that are consumed by a multi-threaded FPGA engine that executes the analytics algorithm. We integrate DAnA with PostgreSQL to generate hardware accelerators for a range of real-world and synthetic datasets running diverse ML algorithms. Results show that DAnA-enhanced PostgreSQL provides, on average, 8.3× end-to-end speedup for real datasets, with a maximum of 28.2×. Moreover, DAnA-enhanced PostgreSQL is, on average, 4.0× faster than the multi-threaded Apache MADLib running on Greenplum. DAnA provides these benefits while hiding the complexity of hardware design from data scientists and allowing them to express the algorithm in ≈30-60 lines of Python.