Abstract

Given a directed graph G, a source node s, and a target node t, the personalized PageRank (PPR) p(s,t) measures the importance of node t with respect to node s. In this work, we study the single source PPR query, which takes a source node s as input, and outputs the PPR values of all nodes in G with respect to s. The single source PPR query finds many important applications, e.g., community detection and recommendation. The cost of deriving the exact answers for single-source PPR queries is prohibitive. Most existing work focuses on approximate solutions. Nevertheless, existing approximate solutions are still inefficient in terms of response time, and it is challenging to compute single-source PPR queries efficiently for online applications. This motivates us to devise efficient parallel algorithms running on shared-memory multi-core systems, which avoid expensive synchronization cost compared to distributed systems and provide sufficient memory support compared to GPUs.In this thesis, we present an approach to efficiently parallelize the state-of-the-art index-based solution FORA, and theoretically analyze the complexity of the parallel algorithms. We prove that our proposed algorithm achieves a time complexity of O(W/P + (log2 n), where W is the time complexity of sequential FORA algorithm, P is the number of processors used, and n is the number of nodes in the graph. FORA includes a forward push phase and a random walk phase, and we present optimization techniques for both phases, including effective maintenance of active nodes, improving the efficiency of memory access, and cache-aware scheduling. An extensive experimental evaluation demonstrates that our solution can achieve up to 37x speedup on 40 cores and 3.3x faster than alternative methods on 40 cores. Moreover, the forward push alone can be used for local graph clustering, and our parallel algorithm for the forward push is 4.8x faster than existing parallel alternative method.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call