{"title":"Accelerating Database Query Processing on OpenCL-based FPGAs (Abstract Only)","authors":"Ze-ke Wang, Hui Yan Cheah, Johns Paul, Bingsheng He, Wei Zhang","doi":"10.1145/2847263.2847295","DOIUrl":null,"url":null,"abstract":"The release of OpenCL support for FPGAs represents a significant improvement in extending database applications to the reconfigurable domain. Taking advantage of the programmability offered by the OpenCL HLS tool, an OpenCL database can be easily ported and re-designed for FPGAs. A single SQL query in these database systems usually consists of multiple operators, and each one of these operators in turn consists of multiple OpenCL kernels. Due to the specific properties of FPGAs, each OpenCL kernel can have different optimization combinations (in terms of CU and SIMD) which is critical to the overall performance of query processing. In this paper, we propose an efficient method to implement database operators on OpenCL-based FPGAs. We use a cost model to determine the optimum query plan for an input query. Our cost model has two components: unit cost and query plan generation. The unit cost component generates multiple (unit cost, resource utilization) pairs for each kernel. The query plan generation component employs a dynamic programming approach to generate the optimum query plan which consider the possibilities to use multiple FPGA images. The experiments show that 1) our cost model can accurately predict the performance of each feasible query plan for the input query, and is able to guide the generation of the optimum query plan, 2) our optimized query plan achieves a performance speedup 1.5X-4X over the state-of-the-art query processing on OpenCL-based FPGAs.","PeriodicalId":438572,"journal":{"name":"Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","volume":"79 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-02-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2847263.2847295","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
The release of OpenCL support for FPGAs represents a significant improvement in extending database applications to the reconfigurable domain. Taking advantage of the programmability offered by the OpenCL HLS tool, an OpenCL database can be easily ported and re-designed for FPGAs. A single SQL query in these database systems usually consists of multiple operators, and each one of these operators in turn consists of multiple OpenCL kernels. Due to the specific properties of FPGAs, each OpenCL kernel can have different optimization combinations (in terms of CU and SIMD) which is critical to the overall performance of query processing. In this paper, we propose an efficient method to implement database operators on OpenCL-based FPGAs. We use a cost model to determine the optimum query plan for an input query. Our cost model has two components: unit cost and query plan generation. The unit cost component generates multiple (unit cost, resource utilization) pairs for each kernel. The query plan generation component employs a dynamic programming approach to generate the optimum query plan which consider the possibilities to use multiple FPGA images. The experiments show that 1) our cost model can accurately predict the performance of each feasible query plan for the input query, and is able to guide the generation of the optimum query plan, 2) our optimized query plan achieves a performance speedup 1.5X-4X over the state-of-the-art query processing on OpenCL-based FPGAs.
对fpga的OpenCL支持的发布代表了将数据库应用程序扩展到可重构领域的重大改进。利用OpenCL HLS工具提供的可编程性,OpenCL数据库可以很容易地移植和重新设计fpga。这些数据库系统中的单个SQL查询通常由多个操作符组成,而每个操作符又由多个OpenCL内核组成。由于fpga的特定属性,每个OpenCL内核可以有不同的优化组合(就CU和SIMD而言),这对查询处理的整体性能至关重要。本文提出了一种在基于opencl的fpga上实现数据库运算符的有效方法。我们使用成本模型来确定输入查询的最佳查询计划。我们的成本模型有两个组成部分:单位成本和查询计划生成。单位成本组件为每个内核生成多个(单位成本、资源利用率)对。查询计划生成组件采用动态规划方法来生成考虑使用多个FPGA映像的可能性的最佳查询计划。实验表明:1)我们的代价模型能够准确预测输入查询的每个可行查询计划的性能,并能够指导最优查询计划的生成;2)我们的优化查询计划比基于opencl的fpga上最先进的查询处理性能提高1.5 x -4倍。