当前位置: X-MOL 学术VLDB J. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
VIP: A SIMD vectorized analytical query engine
The VLDB Journal ( IF 2.8 ) Pub Date : 2020-07-13 , DOI: 10.1007/s00778-020-00621-w
Orestis Polychroniou , Kenneth A. Ross

Query execution engines for analytics are continuously adapting to the underlying hardware in order to maximize performance. Wider SIMD registers and more complex SIMD instruction sets are emerging in mainstream CPUs and new processor designs such as the many-core Intel Xeon Phi CPUs that rely on SIMD vectorization to achieve high performance per core while packing a greater number of smaller cores per chip. In the database literature, using SIMD to optimize stand-alone operators with key–rid pairs is common, yet the state-of-the-art query engines rely on compilation of tightly coupled operators where hand-optimized individual operators become impractical. In this article, we extend a state-of-the-art analytical query engine design by combining code generation and operator pipelining with SIMD vectorization and show that the SIMD speedup is diminished when execution is dominated by random memory accesses. To better utilize the hardware features, we introduce VIP, an analytical query engine designed and built bottom up from pre-compiled column-oriented data parallel sub-operators and implemented entirely in SIMD. In our evaluation using synthetic and TPC-H queries on a many-core CPU, we show that VIP outperforms hand-optimized query-specific code without incurring the runtime compilation overhead, and highlight the efficiency of VIP at utilizing the hardware features of many-core CPUs.



中文翻译:

VIP:SIMD矢量化分析查询引擎

用于分析的查询执行引擎不断地适应底层硬件,以最大化性能。越来越多的SIMD寄存器和更复杂的SIMD指令集出现在主流CPU和新的处理器设计中,例如依靠SIMD矢量化的多核Intel Xeon Phi CPU,以实现每个内核的高性能,同时每个芯片封装更多数量的较小内核。在数据库文献中,使用SIMD通过键对对优化独立运算符是很常见的,但是最新的查询引擎依赖于紧密耦合运算符的编译,而手工优化单个运算符变得不切实际。在这篇文章中,我们通过将代码生成和操作员流水线与SIMD向量化相结合,扩展了最新的分析查询引擎设计,并显示了当执行受随机内存访问支配时,SIMD的速度会降低。为了更好地利用硬件功能,我们引入了VIP,这是一种分析查询引擎,由预编译的面向列的数据并行子运算符自底向上设计和构建,并完全在SIMD中实现。在我们在多核CPU上使用综合查询和TPC-H查询的评估中,我们显示VIP在不增加运行时编译开销的情况下胜过了手动优化的查询特定代码,并着重强调了VIP在利用多核硬件功能方面的效率,核心CPU。一个分析查询引擎,它是由预编译的面向列的数据并行子运算符自下而上设计和构建的,并且完全在SIMD中实现。在我们在多核CPU上使用综合查询和TPC-H查询的评估中,我们显示出VIP优于手动优化的查询特定代码,而不会产生运行时编译开销,并着重强调了VIP在利用多核硬件功能方面的效率,核心CPU。一个分析查询引擎,它是由预编译的面向列的数据并行子运算符自下而上设计和构建的,并且完全在SIMD中实现。在我们在多核CPU上使用综合查询和TPC-H查询的评估中,我们显示出VIP优于手动优化的查询特定代码,而不会产生运行时编译开销,并着重强调了VIP在利用多核硬件功能方面的效率,核心CPU。

更新日期:2020-07-13
down
wechat
bug