实验室动态

[2020 APWeb/WAIM] A New CPU-FPGA Heterogeneous gStore System

苏勋斌关于利用FPGA(Field-Programmable Gate Array)设计并实现的异构gStore系统的论文A New CPU-FPGA Heterogeneous gStore System被APWeb/WAIM 2020接收。

gStore是面向RDF知识图谱的开源图数据库系统,是基于多核CPU实现的。虽然gStore单机已经可以支持50亿规模的RDF三元组,但是当数据图规模过大时,查询效率会显著降低。由于gStore的查询原理是子图匹配的方式,所以JOIN操作是影响性能的关键。FPGA拥有着低功耗、高并发、可编程的优良特性,因此我们通过利用FPGA卡来加速JOIN操作。我们设计并实现了一个CPU-FPGA异构的gStore系统。其中,实现了一个基于FPGA的Join Module,由一个CPU Host端和一组FPGA kernels组成。CPU Host端负责处理FPGA的输入输出以及调度JOIN操作的执行顺序;FPGA kernels被设计为四阶段流水线,采用“外部流水,内部并发”的策略,负责执行具体的JOIN操作。同时,为了加速FPGA kernel对Global Memory的访存操作,我们设计了一种对FPGA访问友好的数据结构FFCSR,并利用FPGA的片上存储(BRAM)设计了缓存机制和预取机制。我们在LUBM的20亿规模的标准数据集上进行了测试,实验结果表明对于join query,CPU-FPGA异构的gStore比起基于CPU的gStore有着3-4倍的加速比。