FPGA-based Data Partitioning

被引:29
作者
Kara, Kaan [1 ]
Giceva, Jana [1 ]
Alonso, Gustavo [1 ]
机构
[1] Swiss Fed Inst Technol, Syst Grp, Dept Comp Sci, Zurich, Switzerland
来源
SIGMOD'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA | 2017年
关键词
MULTI-CORE; MEMORY; JOINS;
D O I
10.1145/3035918.3035946
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Implementing parallel operators in multi-core machines often involves a data partitioning step that divides the data into cache-size blocks and arranges them so to allow concurrent threads to process them in parallel. Data partitioning is expensive, in some cases up to 90% of the cost of, e.g., a parallel hash join. In this paper we explore the use of an FPGA to accelerate data partitioning. We do so in the context of new hybrid architectures where the FPGA is located as a co-processor residing on a socket and with coherent access to the same memory as the CPU residing on the other socket. Such an architecture reduces data transfer overheads between the CPU and the FPGA, enabling hybrid operator execution where the partitioning happens on the FPGA and the build and probe phases of a join happen on the CPU. Our experiments demonstrate that FPGA-based partitioning is significantly faster and more robust than CPU-based partitioning. The results open interesting options as FPGAs are gradually integrated tighter with the CPU.
引用
收藏
页码:433 / 445
页数:13
相关论文
共 40 条
[1]  
Absalyamov I., 2016, ACM DAMON
[2]  
[Anonymous], ACM SIGMOD
[3]  
[Anonymous], ACM IEEE ISCA
[4]  
Balkesen C., 2013, IEEE ICDE
[5]   Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited [J].
Balkesen, Cagri ;
Alonso, Gustavo ;
Teubner, Jens ;
Oezsu, M. Tamer .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2013, 7 (01) :85-96
[6]   Memory-Efficient Hash Joins [J].
Barber, R. ;
Lohman, G. ;
Pandis, I. ;
Raman, V. ;
Sidle, R. ;
Attaluri, G. ;
Chainani, N. ;
Lightstone, S. ;
Sharpe, D. .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2014, 8 (04) :353-364
[7]  
Barthels C., 2015, ACM SIGMOD
[8]  
Barthels C., 2017, PVLDB, V10
[9]  
Blanas S., 2011, ACM SIGMOD
[10]  
Casper J., 2014, ACM FPGA