Skip to main content
QUICK REVIEW

[论文解读] Parallel Algorithms for Counting Triangles in Networks with Large Degrees.

Shaikh Arifuzzaman, Maleq Khan|arXiv (Cornell University)|Jun 22, 2014
Complex Network Analysis Techniques参考文献 26被引用 3
一句话总结

本文提出两种基于MPI的并行算法,用于在具有高阶节点的大规模网络中计数三角形,现有方法因中间数据过多或工作负载不平衡而失效。第一种方法采用非重叠分区以提高内存效率;第二种方法在内存内网络中采用动态负载均衡,实现了在大规模处理器数量下的强可扩展性和高性能。

ABSTRACT

Finding the number of triangles in a network is an important problem in the analysis of complex networks. The number of triangles also has important applications in data mining. Existing distributed memory parallel algorithms for counting triangles are either Map-Reduce based or message passing interface (MPI) based and work with overlapping partitions of the given network. These algorithms are designed for very sparse networks and do not work well when the degrees of the nodes are relatively larger. For networks with larger degrees, Map-Reduce based algorithm generates prohibitively large intermediate data, and in MPI based algorithms with overlapping partitions, each partition can grow as large as the original network, wiping out the benefit of partitioning the network. In this paper, we present two efficient MPI-based parallel algorithms for counting triangles in massive networks with large degrees. The first algorithm is a space-efficient algorithm for networks that do not fit in the main memory of a single compute node. This algorithm divides the network into non-overlapping partitions. The second algorithm is for the case where the main memory of each node is large enough to contain the entire network. We observe that for such a case, computation load can be balanced dynamically and present a dynamic load balancing scheme which improves the performance significantly. Both of our algorithms scale well to large networks and to a large number of processors.

研究动机与目标

  • 解决现有Map-Reduce和重叠分区MPI算法在高阶节点网络中可扩展性受限的问题。
  • 设计一种空间高效的算法,用于在单台计算节点主内存容量无法容纳网络时进行三角形计数。
  • 为内存内网络设计一种动态负载均衡方案,以提升性能并平衡处理器间的计算负载。
  • 确保两种算法在大规模网络和大量处理器下均能有效扩展。
  • 克服现有方法的不足,如中间数据过多和分区大小增长过快。

提出的方法

  • 将网络划分为非重叠分区,以避免重叠分区MPI方法中出现的内存爆炸问题。
  • 采用基于MPI的通信模型,协调跨分布式节点的三角形计数。
  • 实现一种空间高效的算法,独立处理各分区并聚合部分三角形计数。
  • 对于内存内网络,应用一种在执行过程中重新分配任务的动态负载均衡策略,以保持处理器利用率。
  • 利用网络的高阶结构优化数据分布并减少冗余计算。
  • 设计算法以最小化通信开销,并在分布式内存系统中最大化并行效率。

实验结果

研究问题

  • RQ1非重叠分区策略是否能有效减少高阶网络中三角形计数的中间数据量和内存压力?
  • RQ2在全网络可装入主内存的情况下,动态负载均衡如何提升性能?
  • RQ3所提出的算法在网络规模和处理器数量增加时,其可扩展性达到何种程度?
  • RQ4与Map-Reduce和重叠分区MPI方法相比,所提出的MPI算法在性能和内存使用方面表现如何?
  • RQ5节点度分布对三角形计数算法效率有何影响?

主要发现

  • 与Map-Reduce和重叠分区MPI方法相比,非重叠分区策略显著减少了中间数据量。
  • 动态负载均衡方案通过在内存内场景中保持高处理器利用率,提升了性能。
  • 两种算法在大规模网络和大量处理器下均表现出良好的可扩展性,展现出强可扩展性。
  • 空间高效算法使得在单台计算节点主内存容量不足时仍可进行三角形计数。
  • 对于高阶节点度的网络,所提算法在内存效率和运行时间方面均优于现有方法。
  • 动态负载均衡方法减少了空闲时间和通信瓶颈,从而在大规模图上实现更快收敛。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。