Generating custom code for efficient query execution on heterogeneous processors

被引:32
作者
Bress, Sebastian [1 ,2 ]
Koecher, Bastian [2 ]
Funke, Henning [3 ]
Zeuch, Steffen [1 ]
Rabl, Tilmann [1 ,2 ]
Markl, Volker [1 ,2 ]
机构
[1] DFKI GmbH, Berlin, Germany
[2] TU Berlin, Berlin, Germany
[3] TU Dortmund, Dortmund, Germany
关键词
Database systems; Database query processing; Query compilation; Heterogeneous processors; CPU; GPU; MIC; Code generation; Code variants; Variant optimization; HASH JOINS; PERFORMANCE;
D O I
10.1007/s00778-018-0512-y
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Processor manufacturers build increasingly specialized processors to mitigate the effects of the power wall in order to deliver improved performance. Currently, database engines have to be manually optimized for each processor which is a costly and error- prone process. In this paper, we propose concepts to adapt to and to exploit the performance enhancements of modern processors automatically. Our core idea is to create processor-specific code variants and to learn a well-performing code variant for each processor. These code variants leverage various parallelization strategies and apply both generic- and processor-specific code transformations. Our experimental results show that the performance of code variants may diverge up to two orders of magnitude. In order to achieve peak performance, we generate custom code for each processor. We show that our approach finds an efficient custom code variant for multi-core CPUs, GPUs, and MICs.
引用
收藏
页码:797 / 822
页数:26
相关论文
共 65 条
[1]  
Abadi D, 2012, FOUND TRENDS DATABAS, V5, P198, DOI 10.1561/1900000024
[2]   DBToaster: A SQL Compiler for High-Performance Delta Processing in Main-Memory Databases [J].
Ahmad, Yanif ;
Koch, Christoph .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2009, 2 (02) :1566-1569
[3]  
[Anonymous], 2008, SIGMOD
[4]  
[Anonymous], PACT
[5]  
[Anonymous], 2009, PROC VLDB ENDOW
[6]  
[Anonymous], TODS
[7]  
[Anonymous], 2013, Intel Xeon Phi coprocessor architecture and tools: the guide for application developers
[8]  
[Anonymous], VLDB
[9]  
[Anonymous], 2015, ADMS
[10]  
[Anonymous], 2014, IEEE Database Eng. Bull.