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

Xunbin Su’ s paper “A New CPU-FPGA Heterogeneous gStore System” has been accepted by APWeb-WAIM 2020.

gStore is an open source graph-based RDF data management system on multi-core CPU. Even though gStore can already support the storage and query of 5 billion of RDF triples, the query performance will significantly decrease as the data size increases, especially the SPARQL query involving join process. gStore employs subgraph matching of the query graph over the RDF graph to get the query results. Therefore, the operation JOIN is a key factor in affecting performance. A FPGA has many advantages including low energy consumption, high concurrency and programmability, so we speed up the operation JOIN using a FPGA. We have designed and implemented a CPU-FPGA heterogeneous gStore system. We have implemented a Join Module based on a FPGA, consisting of a CPU Host and a set of FPGA kernels. A CPU Host is responsible for dealing with a FPGA’s I/O and determining the order of the operation JOIN. A FPGA kernel is designed as a four-stage pipeline performing specific computational tasks. In addition, we have designed a FPGA-friendly data structure FFCSR, a caching mechanism and a prefetching mechanism to facilitate a FPGA kernel access to the global memory. We make an experiment on LUBM2B and the experimental results demonstrate that a CPU-FPGA heterogeneous system has 3-4x speedups compared with a CPU gStore on join query.