Generating custom code for efficient query execution on heterogeneous processors

被引:0
|
作者
Sebastian Breß
Bastian Köcher
Henning Funke
Steffen Zeuch
Tilmann Rabl
Volker Markl
机构
[1] DFKI GmbH,
[2] TU Berlin,undefined
[3] TU Dortmund,undefined
来源
The VLDB Journal | 2018年 / 27卷
关键词
Database systems; Database query processing; Query compilation; Heterogeneous processors; CPU; GPU; MIC; Code generation; Code variants; Variant optimization;
D O I
暂无
中图分类号
学科分类号
摘要
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
页数:25
相关论文
共 50 条
  • [31] GENERATING EFFICIENT CODE FOR LAZY FUNCTIONAL LANGUAGES
    SMETSERS, S
    NOCKER, E
    VANGRONINGEN, J
    PLASMEIJER, R
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 523 : 592 - 617
  • [32] Generating Efficient FFT GPU Code with LIFT
    Koepcke, Bastian
    Steuwer, Michel
    Gorlatch, Sergei
    PROCEEDINGS OF THE 8TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FUNCTIONAL HIGH-PERFORMANCE AND NUMERICAL COMPUTING (FHPNC '19), 2019, : 1 - 13
  • [33] Efficient Parallel Execution of Streaming Applications on Multi-Core Processors
    Schuele, Tobias
    PROCEEDINGS OF THE 19TH INTERNATIONAL EUROMICRO CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING, 2011, : 231 - 238
  • [34] Efficient Fuzz Testing Leveraging Input, Code, and Execution
    Havrikov, Nikolas
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 417 - 420
  • [35] Improvement of RMI performance by generating efficient code
    Maeda, K
    ELECTRONICS AND COMMUNICATIONS IN JAPAN PART I-COMMUNICATIONS, 2003, 86 (10): : 79 - 88
  • [36] GENERATING EFFICIENT CODE FROM STRICTNESS ANNOTATIONS
    LINDSTROM, G
    GEORGE, L
    YEH, D
    LECTURE NOTES IN COMPUTER SCIENCE, 1987, 250 : 140 - 154
  • [37] GENERATING EFFICIENT CODE FROM CONTINUATION SEMANTICS
    PETTERSSON, M
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 477 : 165 - 178
  • [38] Efficient computation of trellis code generating functions
    Shi, J
    Wesel, RD
    IEEE TRANSACTIONS ON COMMUNICATIONS, 2004, 52 (02) : 219 - 227
  • [39] Code generation for efficient query processing in managed runtimes
    Nagel, Fabian
    Bierman, Gavin
    Viglas, Stratis D.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2014, 7 (12): : 1095 - 1106
  • [40] Orchestrating Data Placement and Query Execution in Heterogeneous CPU-GPU DBMS
    Yogatama, Bobbi W.
    Gong, Weiwei
    Yu, Xiangyao
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2022, 15 (11): : 2491 - 2503