An application-specific instruction set for accelerating set-oriented database primitives

An application-specific instruction set for accelerating set-oriented database primitives
复制标题

用于加速面向集合的数据库原语的特定于应用程序的指令集

DOI:
10.1145/2588555.2593677
复制
发表时间:
2014
期刊:
SIGMOD Conference
影响因子:
--
通讯作者:
Wolfgang Lehner
Wolfgang Lehner
中科院分区:
--
文献类型:
--
作者:
Oliver Arnold;Sebastian Haas;G. Fettweis;B. Schlegel;T. Kissinger;Wolfgang Lehner

文献摘要

被引文献

相似文献

数据库系统的关键任务是有效管理大量数据。高查询吞吐量和低查询延迟对于数据库系统的成功至关重要。最近,研究重点是利用超标量执行单元、SIMD 或多核等硬件功能来加速处理。除了针对给定硬件的这些软件优化之外,甚至在 FPGA 上运行的定制处理电路也可以运行大多数无状态查询计划,并具有令人难以置信的高吞吐量。类似的想法在三十年前就已经被考虑过,那就是构建定制的硬件,例如数据库处理器。尽管性能优越,但这种专用处理器并不被认为是有益的,因为通用处理器最终总是会迎头赶上,因此高昂的开发成本并没有得到回报。在本文中,我们展示了通过可定制处理器的可用性,当今数据库处理器的开发变得更加可行。我们示例性地说明了如何为面向集合的数据库原语创建指令集扩展。由此产生的专用处理器不仅提供高性能,而且还实现非常节能的处理。在提供相同性能的同时,我们的处理器在各种配置中所需的能源比高端 x86 处理器少 960 倍以上。
The key task of database systems is to efficiently manage large amounts of data. A high query throughput and a low query latency are essential for the success of a database system. Lately, research focused on exploiting hardware features like superscalar execution units, SIMD, or multiple cores to speed up processing. Apart from these software optimizations for given hardware, even tailor-made processing circuits running on FPGAs are built to run mostly stateless query plans with incredibly high throughput. A similar idea, which was already considered three decades ago, is to build tailor-made hardware like a database processor. Despite their superior performance, such application-specific processors were not considered to be beneficial because general-purpose processors eventually always caught up so that the high development costs did not pay off. In this paper, we show that the development of a database processor is much more feasible nowadays through the availability of customizable processors. We illustrate exemplarily how to create an instruction set extension for set-oriented database primitives. The resulting application-specific processor provides not only a high performance but it also enables very energy-efficient processing. Our processor requires in various configurations more than 960x less energy than a high-end x86 processor while providing the same performance.