Scalable Fine-Grained Parallel Cycle Enumeration Algorithms

02/19/2022
by   Jovan Blanuša, et al.
0

This paper investigates scalable parallelisation of state-of-the-art cycle enumeration algorithms by Johnson and Read-Tarjan along with their applications to temporal graphs. We provide a comprehensive theoretical analysis of various parallel versions of these algorithms and evaluate their performance on multi-core processors. We show that a straightforward coarse-grained parallelisation approach is not scalable and suffers from load imbalance issues. To eliminate the load imbalance, we modify the Johnson and the Read-Tarjan algorithms to exploit finer-grained parallelism. We show that our fine-grained parallel Read-Tarjan algorithm is theoretically work efficient – i.e., it does no more work than its serial version. However, our fine-grained parallel Johnson algorithm does not share this property. Yet, in practice, our fine-grained parallel Johnson algorithm outperforms our fine-grained parallel Read-Tarjan algorithm. In any case, both of our contributed fine-grained parallel algorithms are scalable, meaning that they can effectively utilise an increasing number of software threads, which we prove theoretically and demonstrate through extensive experiments. On a cluster of multi-core CPUs with 256 physical cores that can execute 1024 simultaneous threads, our fine-grained parallel Johnson and Read-Tarjan algorithms are respectively up to 435× and 470× faster than their single-threaded versions. On the same compute cluster, our fine-grained parallel algorithms are on average an order of magnitude faster than their coarse-grained parallel counterparts.

READ FULL TEXT
research
01/03/2023

Fast Parallel Algorithms for Enumeration of Simple, Temporal, and Hop-Constrained Cycles

Cycles are one of the fundamental subgraph patterns and being able to en...
research
09/16/2020

Exploration of Fine-Grained Parallelism for Load Balancing Eager K-truss on GPU and CPU

In this work we present a performance exploration on Eager K-truss, a li...
research
09/27/2016

An Evaluation of Coarse-Grained Locking for Multicore Microkernels

The trade-off between coarse- and fine-grained locking is a well underst...
research
07/27/2023

Automatic Parallelization of Software Network Functions

Software network functions (NFs) trade-off flexibility and ease of deplo...
research
11/12/2018

The Impact of Timestamp Granularity in Optimistic Concurrency Control

Optimistic concurrency control (OCC) can exploit the strengths of parall...
research
02/22/2020

Active Lighting Recurrence by Parallel Lighting Analogy for Fine-Grained Change Detection

This paper studies a new problem, namely active lighting recurrence (ALR...
research
04/26/2022

From Sand to Flour: The Next Leap in Granular Computing with NanoSort

The granularity of distributed computing is limited by communication tim...

Please sign up or login with your details

Forgot password? Click here to reset