Balanced label propagation for partitioning massive graphs
Authors:
Top Cited Papers
Open Access
- 4 February 2013
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 507-516
Abstract
Partitioning graphs at scale is a key challenge for any application that involves distributing a graph across disks, machines, or data centers. Graph partitioning is a very well studied problem with a rich literature, but existing algorithms typically can not scale to billions of edges, or can not provide guarantees about partition sizes. In this work we introduce an efficient algorithm, balanced label propagation, for precisely partitioning massive graphs while greedily maximizing edge locality, the number of edges that are assigned to the same shard of a partition. By combining the computational efficiency of label propagation --- where nodes are iteratively relabeled to the same 'label' as the plurality of their graph neighbors --- with the guarantees of constrained optimization --- guiding the propagation by a linear program constraining the partition sizes --- our algorithm makes it practically possible to partition graphs with billions of edges. Our algorithm is motivated by the challenge of performing graph predictions in a distributed system. Because this requires assigning each node in a graph to a physical machine with memory limitations, it is critically necessary to ensure the resulting partition shards do not overload any single machine. We evaluate our algorithm for its partitioning performance on the Facebook social graph, and also study its performance when partitioning Facebook's 'People You May Know' service (PYMK), the distributed system responsible for the feature extraction and ranking of the friends-of-friends of all active Facebook users. In a live deployment, we observed average query times and average network traffic levels that were 50.5% and 37.1% (respectively) when compared to the previous naive random sharding.Keywords
This publication has 11 references indexed in Scilit:
- Streaming graph partitioning for large distributed graphs2012
- Community Structure in Time-Dependent, Multiscale, and Multiplex NetworksScience, 2010
- Community detection in graphsPhysics Reports, 2010
- Detecting network communities by propagating labels under constraintsPhysical Review E, 2009
- Community Structure in Large Networks: Natural Cluster Sizes and the Absence of Large Well-Defined ClustersInternet Mathematics, 2009
- Near linear time algorithm to detect community structures in large-scale networksPhysical Review E, 2007
- Group formation in large social networks2006
- Geographic routing in social networksProceedings of the National Academy of Sciences, 2005
- Finding and evaluating community structure in networksPhysical Review E, 2004
- Multilevelk-way Partitioning Scheme for Irregular GraphsJournal of Parallel and Distributed Computing, 1998