Effective Techniques for Message Reduction and Load Balancing in Distributed Graph Computation
arXiv:1503.00626
Abstract
Massive graphs, such as online social networks and communication networks, have become common today. To efficiently analyze such large graphs, many distributed graph computing systems have been developed. These systems employ the "think like a vertex" programming paradigm, where a program proceeds in iterations and at each iteration, vertices exchange messages with each other. However, using Pregel's simple message passing mechanism, some vertices may send/receive significantly more messages than others due to either the high degree of these vertices or the logic of the algorithm used. This forms the communication bottleneck and leads to imbalanced workload among machines in the cluster. In this paper, we propose two effective message reduction techniques: (1)vertex mirroring with message combining, and (2)an additional request-respond API. These techniques not only reduce the total number of messages exchanged through the network, but also bound the number of messages sent/received by any single vertex. We theoretically analyze the effectiveness of our techniques, and implement them on top of our open-source Pregel implementation called Pregel+. Our experiments on various large real graphs demonstrate that our message reduction techniques significantly improve the performance of distributed graph computation.
This is a long version of the corresponding WWW 2015 paper, with all proofs included
Cited by in corpus (8)
- G-thinker: Big Graph Mining Made Easier and Faster
- Efficient Processing of Very Large Graphs in a Small Cluster
- A Meta-graph Approach to Analyze Subgraph-centric Distributed Programming Models
- Load Balancing for Skewed Streams on Heterogeneous Cluster
- Start Late or Finish Early: A Distributed Graph Processing System with Redundancy Reduction
- GraphMP: An Efficient Semi-External-Memory Big Graph Processing System on a Single Machine
- Scalable De Novo Genome Assembly Using Pregel
- Composing Optimization Techniques for Vertex-Centric Graph Processing via Communication Channels