A Study of Data Partitioning on OpenCL-based FPGAs

被引:0
|
作者
Wang, Zeke [1 ]
He, Bingsheng [1 ]
Zhang, Wei [2 ]
机构
[1] Nanyang Technol Univ, Singapore, Singapore
[2] Hong Kong Univ Sci & Technol, Hong Kong, Hong Kong, Peoples R China
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
A lot of research efforts have been devoted to accelerating relational database applications on FPGAs, due to their high energy efficiency and high throughput. Most of the existing studies are based on hardware description languages (HDLs). Recently, FPGA vendors have started to develop OpenCL SDKs for much better programmability. In this paper, we investigate the performance of relational database applications on OpenCL-based FPGAs. As a start, we study the performance of data partitioning, a core operation widely used in relational databases. Due to random memory accesses, data partitioning is time-consuming and can become a major bottleneck for database operators such as hash join. We start with the state-of-theart OpenCL implementation which was originally designed for CPUs/GPUs, and find that it suffers from lock overheads and memory bandwidth overheads. To reduce lock overheads, we develop a simple yet efficient multi-kernel approach to leverage two emerging features of Altera OpenCL SDK, namely task kernel and channel. Moreover, on-chip buckets are employed to reduce the number of memory transactions. We further develop a cost model to guide the parameter configuration. We evaluate the proposed design on a recent Altera Stratix V FPGA. Our results demonstrate 1) our cost model can accurately predict the performance of data partitioning under different parameter settings; 2) our proposed multi-kernel approach can achieve 10.7X speedup over the existing OpenCL implementation. Also, the experiments with three case studies show that the optimized implementations can achieve 4-12X performance improvement over the original implementations.
引用
收藏
页数:8
相关论文
共 50 条
  • [1] Multikernel Data Partitioning With Channel on OpenCL-Based FPGAs
    Wang, Zeke
    Paul, Johns
    He, Bingsheng
    Zhang, Wei
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2017, 25 (06) : 1906 - 1918
  • [2] Improving Data Partitioning Performance on OpenCL-based FPGAs
    Wang, Zeke
    He, Bingsheng
    Zhang, Wei
    2015 IEEE 23RD ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2015, : 34 - 34
  • [3] Melia: A MapReduce Framework on OpenCL-Based FPGAs
    Wang, Zeke
    Zhang, Shuhao
    He, Bingsheng
    Zhang, Wei
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2016, 27 (12) : 3547 - 3560
  • [4] Relational Query Processing on OpenCL-based FPGAs
    Wang, Zeke
    Paul, Johns
    Ntu, Hui Yan Cheah
    He, Bingsheng
    Zhang, Wei
    2016 26TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2016,
  • [5] On-The-Fly Parallel Data Shuffling for Graph Processing on OpenCL-based FPGAs
    Chen, Xinyu
    Bajaj, Ronak
    Chen, Yao
    He, Jiong
    He, Bingsheng
    Wong, Weng-Fai
    Chen, Deming
    2019 29TH INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2019, : 67 - 73
  • [6] Comprehensive Evaluation of OpenCL-Based CNN Implementations for FPGAs
    Tapiador-Morales, Ricardo
    Rios-Navarro, Antonio
    Linares-Barranco, Alejandro
    Kim, Minkyu
    Kadetotad, Deepak
    Seo, Jae-sun
    ADVANCES IN COMPUTATIONAL INTELLIGENCE, IWANN 2017, PT II, 2017, 10306 : 271 - 282
  • [7] Query Processing on OpenCL-based FPGAs: Challenges and Opportunities
    Paul, Johns
    He, Bingsheng
    Lau, Chiew Tong
    2018 IEEE 24TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS 2018), 2018, : 937 - 945
  • [8] FSCHOL: An OpenCL-based HPC Framework for Accelerating Sparse Cholesky Factorization on FPGAs
    Tavakoli, Erfan Bank
    Riera, Michael
    Quraishi, Masudul Hassan
    Ren, Fengbo
    2021 IEEE 33RD INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD 2021), 2021, : 209 - 220
  • [9] Opencl-pytorch: an OpenCL-based extension of PyTorch
    Sui, Yicheng
    Sun, Yufei
    Shi, Changqing
    Wang, Haotian
    Zhang, Zhiqiang
    Wang, Jiahao
    Zhang, Yuzhi
    CCF TRANSACTIONS ON HIGH PERFORMANCE COMPUTING, 2024, 6 (03) : 287 - 300
  • [10] An OpenCL-based feature matcher
    Condello, Giovanni
    Pasteris, Paolo
    Pau, Danilo
    Sami, Mariagiovanna
    SIGNAL PROCESSING-IMAGE COMMUNICATION, 2013, 28 (04) : 345 - 350