Multikernel Data Partitioning With Channel on OpenCL-Based FPGAs

Zeke Wang, Johns Paul, Bingsheng He, Wei Zhang
National University of Singapore, Singapore
IEEE Transactions on Very Large Scale Integration (VLSI) Systems PP(99) 1-13, 2017


   title={Multikernel Data Partitioning With Channel on OpenCL-Based FPGAs},

   author={Wang, Zeke and Paul, Johns and He, Bingsheng and Zhang, Wei},

   journal={IEEE Transactions on Very Large Scale Integration (VLSI) Systems},







Download Download (PDF)   View View   Source Source   



Recently, field-programmable gate array (FPGA) vendors (such as Altera) have started to address the programmability issues of FPGAs via OpenCL SDKs. In this paper, we analyze the performance of relational database applications on FPGAs using OpenCL. In particular, we study how to improve the performance of data partitioning, which is a very important building block in relational database. Since the data partitioning causes random memory accesses, it is time-consuming, and then, it has been the major bottleneck for database operators, such as partitioned hash join. In particular, we import the state-of-the-art OpenCL implementation of data partitioning from OmniDB, which was originally designed and optimized for CPUs/GPUs, and we find that this implementation suffers from both lock overhead and memory bandwidth overhead. Accordingly, we present a multikernel approach to address the lock overhead by leveraging two emerging features (task kernel and channel) from Altera OpenCL software development kit. In order to reduce the memory bandwidth overhead, on-chip buckets are used to reduce the number of random global memory transactions. We further develop an FPGA-specific cost model to guide the parameter configuration. We evaluate the proposed design on a recent OpenCL-based FPGA. We have applied our optimized partitioning method to a number of data processing tasks, including hash join, histogram, and hash search. Our experimental results demonstrate that our cost model can accurately guide the user to determine the optimal parameter combination for data partitioning and the optimal parameter combination can achieve 16.6x speedup over the default multithreaded implementation.
Rating: 1.5/5. From 2 votes.
Please wait...

* * *

* * *

* * *

HGPU group © 2010-2022 hgpu.org

All rights belong to the respective authors

Contact us: