Design patterns for efficient graph algorithms in MapReduce

  • Authors:
  • Jimmy Lin;Michael Schatz

  • Affiliations:
  • University of Maryland, College Park;University of Maryland, College Park

  • Venue:
  • Proceedings of the Eighth Workshop on Mining and Learning with Graphs
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Graphs are analyzed in many important contexts, including ranking search results based on the hyperlink structure of the world wide web, module detection of proteinprotein interaction networks, and privacy analysis of social networks. Many graphs of interest are difficult to analyze because of their large size, often spanning millions of vertices and billions of edges. As such, researchers have increasingly turned to distributed solutions. In particular, MapReduce has emerged as an enabling technology for large-scale graph processing. However, existing best practices for MapReduce graph algorithms have significant shortcomings that limit performance, especially with respect to partitioning, serializing, and distributing the graph. In this paper, we present three design patterns that address these issues and can be used to accelerate a large class of graph algorithms based on message passing, exemplified by PageRank. Experiments show that the application of our design patterns reduces the running time of PageRank on a web graph with 1.4 billion edges by 69%.