Accelerating PageRank using Partition-Centric Processing

09/21/2017
by   Kartik Lakhotia, et al.
0

PageRank is a fundamental link analysis algorithm and a key representative of the performance of other graph algorithms and Sparse Matrix Vector (SpMV) multiplication. Calculating PageRank on sparse graphs generates large amount of random memory accesses resulting in low cache line utilization and poor use of memory bandwidth. In this paper, we present a novel Partition-Centric Processing Methodology (PCPM) that drastically reduces the amount of communication with DRAM and achieves high memory bandwidth. Similar to the state of the art Binning with Vertex-centric Gather-Apply-Scatter (BVGAS) method, PCPM performs partition wise scatter and gather of updates with both phases enjoying full cache line utilization. However, BVGAS suffers from random memory accesses and redundant read/write of update values from nodes to their neighbors. In contrast, PCPM propagates single update from source node to all destinations in a partition, thus decreasing redundancy effectively. We make use of this characteristic to develop a novel bipartite Partition-Node Graph (PNG) data layout for PCPM, that enables streaming memory accesses, with very little generation overhead. We perform detailed analysis of PCPM and provide theoretical bounds on the amount of communication and random DRAM accesses. We experimentally evaluate our approach using 6 large graph datasets and demonstrate an average 2.7x speedup in execution time and 1.7x reduction in communication, compared to the state of the art. We also show that unlike the BVGAS implementation, PCPM is able to take advantage of intelligent node labeling that enhances locality in graphs, by further reducing the amount of communication with DRAM. Although we use PageRank as the target application in this paper, our approach can be applied to generic SpMV computation.

READ FULL TEXT

page 1

page 9

page 10

research
06/21/2018

GPOP: A cache- and work-efficient framework for Graph Processing Over Partitions

The past decade has seen development of many shared-memory graph process...
research
07/27/2020

CARAM: A Content-Aware Hybrid PCM/DRAM Main Memory System Framework

The emergence of Phase-Change Memory (PCM) provides opportunities for di...
research
10/26/2016

Memshare: a Dynamic Multi-tenant Memory Key-value Cache

Web application performance is heavily reliant on the hit rate of memory...
research
01/16/2018

Inter-thread Communication in Multithreaded, Reconfigurable Coarse-grain Arrays

Traditional von Neumann GPGPUs only allow threads to communicate through...
research
11/09/2022

Performance Characterization of AutoNUMA Memory Tiering on Graph Analytics

Non-Volatile Memory (NVM) can deliver higher density and lower cost per ...
research
02/08/2017

Flashield: a Key-value Cache that Minimizes Writes to Flash

As its price per bit drops, SSD is increasingly becoming the default sto...
research
06/29/2019

Planting Trees for scalable and efficient Canonical Hub Labeling

Point-to-Point Shortest Distance (PPSD) query is a crucial primitive in ...

Please sign up or login with your details

Forgot password? Click here to reset