Accelerating Graph-Connected Component Computation With Emerging Processing-In-Memory Architecture

Computing the connected component (CC) of a graph is a basic graph computing problem, which has numerous applications like graph partitioning and pattern recognition. Existing methods for computing CC suffer from memory wall problems because of the frequent data transmission between CPU and memory. To overcome this challenge, in this article, we propose to accelerate CC computation with the emerging processing-in-memory (PIM) architecture through an algorithm–architecture co-design manner. The innovation lies in computing CC with bitwise logical operations (such as AND and OR), and the customized data flow management methods to accelerate computation and reduce energy consumption. As a proof of concept, experimental results with computational spin-transfer torque magnetic RAM (STT-MRAM) arrays demonstrate on average <inline-formula> <tex-math notation="LaTeX">$19.8\times $ </tex-math></inline-formula> and <inline-formula> <tex-math notation="LaTeX">$12.4\times $ </tex-math></inline-formula> speedups compared with the CPU and GPU implementations, and a <inline-formula> <tex-math notation="LaTeX">$35.4 \times $ </tex-math></inline-formula> energy efficiency improvement over the CPU implementation. Moreover, we investigate the potential associations between graph computing and bitwise Boolean logic, which could help design more general in-memory graph computing accelerators in the future.