枚举简单环、时间环和跳数约束环的快速并行算法
Fast Parallel Algorithms for Enumeration of Simple, Temporal, and Hop-Constrained Cycles
AI总结:
本文针对简单环、时间环及跳数约束环枚举,提出最先进串行算法的细粒度并行方案,证明其可扩展性,并在256核集群上验证近线性扩展和平均一个数量级加速。
摘要:
环是基本子图模式之一,能够在图中枚举这些环可支撑金融、生物学、化学和网络科学等众多领域的重要应用。然而,要在实际应用中实现环枚举,需要高效的并行算法。在本工作中,我们提出了对最先进串行算法的可扩展并行化,用于枚举简单环、时间环和跳数约束环。首先,我们聚焦于简单环枚举问题,并以细粒度方式并行化 Johnson 算法以及 Read 和 Tarjan 的算法。我们从理论上证明,所得细粒度并行算法具有可扩展性,其中细粒度并行 Read-Tarjan 算法具有强可扩展性。相比之下,我们证明,这些利用边级或顶点级并行性的简单环枚举算法的直接粗粒度并行版本不具备可扩展性。接着,我们调整细粒度方法,使其能够在时间窗口、时间和跳数约束下枚举环。我们在一个拥有256个CPU核心、最多可执行1024个并发线程的集群上进行评估,结果表明,在上述约束下枚举环时,我们的细粒度并行算法表现出接近线性的可扩展性。在同一集群上,与相应的最先进环枚举算法的粗粒度并行版本相比,我们的细粒度并行算法平均实现了一个数量级的加速。随着使用更多CPU核心,细粒度并行算法与粗粒度并行算法之间的性能差距会增大。
英文摘要:
Cycles are one of the fundamental subgraph patterns and being able to enumerate them in graphs enables important applications in a wide variety of fields, including finance, biology, chemistry, and network science. However, to enable cycle enumeration in real-world applications, efficient parallel algorithms are required. In this work, we propose scalable parallelisation of state-of-the-art sequential algorithms for enumerating simple, temporal, and hop-constrained cycles. First, we focus on the simple cycle enumeration problem and parallelise the algorithms by Johnson and by Read and Tarjan in a fine-grained manner. We theoretically show that our resulting fine-grained parallel algorithms are scalable, with the fine-grained parallel Read-Tarjan algorithm being strongly scalable. In contrast, we show that straightforward coarse-grained parallel versions of these simple cycle enumeration algorithms that exploit edge- or vertex-level parallelism are not scalable. Next, we adapt our fine-grained approach to enable the enumeration of cycles under time-window, temporal, and hop constraints. Our evaluation on a cluster with 256 CPU cores that can execute up to 1024 simultaneous threads demonstrates a near-linear scalability of our fine-grained parallel algorithms when enumerating cycles under the aforementioned constraints. On the same cluster, our fine-grained parallel algorithms achieve, on average, one order of magnitude speedup compared to the respective coarse-grained parallel versions of the state-of-the-art algorithms for cycle enumeration. The performance gap between the fine-grained and the coarse-grained parallel algorithms increases as we use more CPU cores.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。