On Optimizing Locality of Graph Transposition on Modern Architectures

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Esfahani, Mohsen Koohi, Vandierendonck, Hans
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866913645779222528
author Esfahani, Mohsen Koohi
Vandierendonck, Hans
author_facet Esfahani, Mohsen Koohi
Vandierendonck, Hans
contents This paper investigates the shared-memory Graph Transposition (GT) problem, a fundamental graph algorithm that is widely used in graph analytics and scientific computing. Previous GT algorithms have significant memory requirements that are proportional to the number of vertices and threads which obstructs their use on large graphs. Moreover, atomic memory operations have become comparably fast on recent CPU architectures, which creates new opportunities for improving the performance of concurrent atomic accesses in GT. We design PoTra, a GT algorithm which leverages graph structure and processor and memory architecture to optimize locality and performance. PoTra limits the size of additional data structures close to CPU cache sizes and utilizes the skewed degree distribution of graph datasets to optimize locality and performance. We present the performance model of PoTra to explain the connection between cache and memory response times and graph locality. Our evaluation of PoTra on three CPU architectures and 20 real-world and synthetic graph datasets with up to 128 billion edges demonstrates that PoTra achieves up to 8.7 times speedup compared to previous works and if there is a performance loss it remains limited to 15.7%, on average.
format Preprint
id arxiv_https___arxiv_org_abs_2501_06872
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle On Optimizing Locality of Graph Transposition on Modern Architectures
Esfahani, Mohsen Koohi
Vandierendonck, Hans
Distributed, Parallel, and Cluster Computing
Hardware Architecture
Data Structures and Algorithms
Performance
This paper investigates the shared-memory Graph Transposition (GT) problem, a fundamental graph algorithm that is widely used in graph analytics and scientific computing. Previous GT algorithms have significant memory requirements that are proportional to the number of vertices and threads which obstructs their use on large graphs. Moreover, atomic memory operations have become comparably fast on recent CPU architectures, which creates new opportunities for improving the performance of concurrent atomic accesses in GT. We design PoTra, a GT algorithm which leverages graph structure and processor and memory architecture to optimize locality and performance. PoTra limits the size of additional data structures close to CPU cache sizes and utilizes the skewed degree distribution of graph datasets to optimize locality and performance. We present the performance model of PoTra to explain the connection between cache and memory response times and graph locality. Our evaluation of PoTra on three CPU architectures and 20 real-world and synthetic graph datasets with up to 128 billion edges demonstrates that PoTra achieves up to 8.7 times speedup compared to previous works and if there is a performance loss it remains limited to 15.7%, on average.
title On Optimizing Locality of Graph Transposition on Modern Architectures
topic Distributed, Parallel, and Cluster Computing
Hardware Architecture
Data Structures and Algorithms
Performance
url https://arxiv.org/abs/2501.06872