Asynchronous Distributed-Memory Triangle Counting and LCC with RMA Caching

02/28/2022
by   András Strausz, et al.
0

Triangle count and local clustering coefficient are two core metrics for graph analysis. They find broad application in analyses such as community detection and link recommendation. Current state-of-the-art solutions suffer from synchronization overheads or expensive pre-computations needed to distribute the graph, achieving limited scaling capabilities. We propose a fully asynchronous implementation for triangle counting and local clustering coefficient based on 1D partitioning, using remote memory accesses for transferring data and avoid synchronization. Additionally, we show how these algorithms present data reuse on remote memory accesses and how the overall communication time can be improved by caching these accesses. Finally, we extend CLaMPI, a software-layer caching system for MPI RMA, to include application-specific scores for cached entries and influence the eviction procedure to improve caching efficiency. Our results show improvements on shared memory, and we achieve 14x speedup from 4 to 64 nodes for the LiveJournal1 graph on distributed memory. Moreover, we demonstrate how caching remote accesses reduces total running time by up to 73 non-cached version. Finally, we compare our implementation to TriC, the 2020 graph champion paper, and achieve up to 100x faster results for scale-free graphs.

READ FULL TEXT
research
07/22/2019

A 2D Parallel Triangle Counting Algorithm for Distributed-Memory Architectures

Triangle counting is a fundamental graph analytic operation that is used...
research
09/16/2023

Fast Triangle Counting

Listing and counting triangles in graphs is a key algorithmic kernel for...
research
02/22/2023

Engineering a Distributed-Memory Triangle Counting Algorithm

Counting triangles in a graph and incident to each vertex is a fundament...
research
03/18/2020

GraphChallenge.org Triangle Counting Performance

The rise of graph analytic systems has created a need for new ways to me...
research
02/12/2018

DiSLR: Distributed Sampling with Limited Redundancy For Triangle Counting in Graph Streams

Given a web-scale graph that grows over time, how should its edges be st...
research
03/14/2021

TRUST: Triangle Counting Reloaded on GPUs

Triangle counting is a building block for a wide range of graph applicat...
research
02/24/2019

clusterNOR: A NUMA-Optimized Clustering Framework

Clustering algorithms are iterative and have complex data access pattern...

Please sign up or login with your details

Forgot password? Click here to reset