繁体   English   中英

连通组件的并行算法

[英]Parallel algorithm for connected components

我必须找到已知的用于图的连通分量的并行计算的最佳算法。

以下是我的数据和计算机体系结构的简要概述:

  • 我可以访问具有数千个处理器的计算集群(内存不是共享的,但我希望单个节点中应该有足够的内存来评估我对整个数据的需求)。
  • 我的图表边缘数与顶点数的比例相当小(约为5)
  • 我希望大多数连接组件都非常小(2-3个顶点)
  • 然而,将有非常大的组件具有数百万个顶点(甚至构成总顶点数的10%)。

我已经阅读了关于计算图的连通分量的并行算法。 正如我所注意到的,其中一些基于经典BFS方法的序列化案例。 说实话,我在这些算法的数量上有点迷失。 任何人都可以给我一些建议,哪种算法对我的目的最好?

对于单机多核实现, Ligra要么是最先进的,要么接近它。 它应该能够处理您的图形没有问题。

我的同事JakubŁącki,Vahab Mirrokni和MichałWłodarczyk 通过局部收缩进行了大规模连接组件 ,是MapReduce算法的最新技术(至少我知道)。 我们在比您大一千倍的图表上使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM