arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2202.09685cs.DCcs.DS
收藏

可扩展的细粒度并行循环枚举算法

Scalable Fine-Grained Parallel Cycle Enumeration Algorithms

Jovan Blanuša, Paolo Ienne, Kubilay Atasu

摘要:

枚举简单循环在计算生物学、网络科学和金融犯罪分析中有重要的应用。在这项工作中,我们专注于并行化的国家的最先进的简单的循环枚举算法的约翰逊和读取Tarjan以及他们的应用程序的时间图。据我们所知,我们是第一个以细粒度方式并行这两个算法的人。我们也是第一个实验证明线性性能缩放。这种扩展是通过我们将长顺序搜索分解为细粒度任务而实现的,然后在CPU内核之间动态调度这些任务,从而实现最佳的负载均衡。此外,我们表明,粗粒度的并行版本的约翰逊和读取Tarjan算法,利用边缘或顶点级并行是不可扩展的。在一个集群的四个多核CPU与$256$物理核心,我们的细粒度的并行算法,平均来说,一个数量级的速度比他们的粗粒度的并行同行。细粒度和粗粒度并行算法之间的性能差距随着我们使用更多的CPU内核而扩大。当使用所有256个CPU内核时,我们的并行算法枚举时间周期,平均而言,$260\times$比Kumar和Calders的串行算法快。

英文摘要:

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 $256$ 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\times$ faster than the serial algorithm of Kumar and Calders.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑