Font Size: a A A

Research On FPGA-based Simple Path Enumeration On Massive Graphs

Posted on:2022-06-10Degree:MasterType:Thesis
Country:ChinaCandidate:Z M LaiFull Text:PDF
GTID:2480306479993289Subject:Software engineering
Abstract/Summary:
Graph plays a vital role in representing entities and their relationships in a variety of fields,such as e-commerce networks,social networks and biological networks.Given two vertices s and t,one of the fundamental problems in graph databases is to investigate the relationships between s and t.A well-studied problem in such area is k-hop constrained s-t simple path enumeration.Nevertheless,all existing algorithms targeting this problem follow the DFS-based paradigm,which cannot scale up well.Moreover,using hardware devices like FPGA to accelerate graph computation has become popular.Motivated by the above insights,in this paper,we propose the first CPUFPGA-based algorithm PEFP to solve the problem of k-hop constrained s-t simple path enumeration efficiently.On the host side,we develop a preprocessing algorithm Pre-BFS to reduce the graph size and search space.On the FPGA side in PEFP,a novel DFS-based batching technique is designed to save on-chip memory efficiently.In addition,we also adopt caching techniques to cache necessary data in FPGA BRAM(FPGA on-chip memory),which overcome the latency bottleneck brought by the read/write operations from/to FPGA DRAM(FPGA external memory).Finally,we propose a data separation technique to enable dataflow optimization for the path verification module;hence the sub-stages in that module can be executed in parallel.Comprehensive experiments on 12 real datasets show that PEFP outperforms the state-of-the-art algorithm JOIN by more than 1 order of magnitude by average,and up to 2 orders of magnitude in terms of preprocessing time,query processing time and total time,respectively.
Keywords/Search Tags:Graph Algorithm, Path Enumeration, Constrained Hop, FPGA
Related items