English

Scalable Fine-Grained Parallel Cycle Enumeration Algorithms

Distributed, Parallel, and Cluster Computing 2022-06-01 v2 Data Structures and Algorithms

Abstract

Enumerating simple cycles has important applications in computational biology, network science, and financial crime analysis. In this work, we focus on parallelising the state-of-the-art simple cycle enumeration algorithms by Johnson and Read-Tarjan along with their applications to temporal graphs. To our knowledge, we are the first ones to parallelise these two algorithms in a fine-grained manner. We are also the first to demonstrate experimentally a linear performance scaling. Such a scaling is made possible by our decomposition of long sequential searches into fine-grained tasks, which are then dynamically scheduled across CPU cores, enabling an optimal load balancing. Furthermore, we show that coarse-grained parallel versions of the Johnson and the Read-Tarjan algorithms that exploit edge- or vertex-level parallelism are not scalable. On a cluster of four multi-core CPUs with 256256 physical cores, our fine-grained parallel algorithms are, on average, an order of magnitude faster than their coarse-grained parallel counterparts. The performance gap between the fine-grained and the coarse-grained parallel algorithms widens as we use more CPU cores. When using all 256 CPU cores, our parallel algorithms enumerate temporal cycles, on average, 260×260\times faster than the serial algorithm of Kumar and Calders.

Keywords

Cite

@article{arxiv.2202.09685,
  title  = {Scalable Fine-Grained Parallel Cycle Enumeration Algorithms},
  author = {Jovan Blanuša and Paolo Ienne and Kubilay Atasu},
  journal= {arXiv preprint arXiv:2202.09685},
  year   = {2022}
}

Comments

To be published in Proceedings of the 34th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA '22). The source codes of all the algorithms evaluated in our experiments are available here https://github.com/IBM/parallel-cycle-enumeration