Bhuiyan Hasanuzzaman, Khan Maleq, Chen Jiangzhuo, Marathe Madhav
Department of Computer Science, Virginia Tech, 2202 Kraft Drive, Blacksburg, VA 24061, USA.
Network Dynamics and Simulation Science Laboratory, Biocomplexity Institute of Virginia Tech, 1015 Life Science Circle, Blacksburg, VA 24061, USA.
J Parallel Distrib Comput. 2017 Jun;104:19-35. doi: 10.1016/j.jpdc.2016.12.005. Epub 2016 Dec 28.
An edge switch is an operation on a graph (or network) where two edges are selected randomly and one of their end vertices are swapped with each other. Edge switch operations have important applications in graph theory and network analysis, such as in generating random networks with a given degree sequence, modeling and analyzing dynamic networks, and in studying various dynamic phenomena over a network. The recent growth of real-world networks motivates the need for efficient parallel algorithms. The dependencies among successive edge switch operations and the requirement to keep the graph simple (i.e., no self-loops or parallel edges) as the edges are switched lead to significant challenges in designing a parallel algorithm. Addressing these challenges requires complex synchronization and communication among the processors leading to difficulties in achieving a good speedup by parallelization. In this paper, we present distributed memory parallel algorithms for switching edges in massive networks. These algorithms provide good speedup and scale well to a large number of processors. A harmonic mean speedup of 73.25 is achieved on eight different networks with 1024 processors. One of the steps in our edge switch algorithms requires the computation of multinomial random variables in parallel. This paper presents the first non-trivial parallel algorithm for the problem, achieving a speedup of 925 using 1024 processors.
边交换是对图(或网络)进行的一种操作,即随机选择两条边,并将它们的一个端点相互交换。边交换操作在图论和网络分析中有重要应用,例如用于生成具有给定度序列的随机网络、对动态网络进行建模和分析,以及研究网络上的各种动态现象。现实世界网络的近期发展推动了对高效并行算法的需求。连续边交换操作之间的依赖性以及在交换边时保持图简单(即无自环或平行边)的要求,给并行算法的设计带来了重大挑战。应对这些挑战需要处理器之间进行复杂的同步和通信,这导致通过并行化实现良好加速比存在困难。在本文中,我们提出了用于在大规模网络中交换边的分布式内存并行算法。这些算法具有良好的加速比,并且能很好地扩展到大量处理器。在具有1024个处理器的八个不同网络上实现了73.25的调和平均加速比。我们的边交换算法中的一个步骤需要并行计算多项随机变量。本文提出了针对该问题的首个非平凡并行算法,使用1024个处理器实现了925的加速比。