Design patterns for efficient graph algorithms in MapReduce

Jimmy Lin, Michael Schatz

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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%.

Original languageEnglish (US)
Title of host publicationProceedings of the 8th Workshop on Mining and Learning with Graphs, MLG'10
Pages78-85
Number of pages8
DOIs
StatePublished - 2010
Externally publishedYes
Event8th Workshop on Mining and Learning with Graphs, MLG'10 - Washington, DC, United States
Duration: Jul 24 2010Jul 25 2010

Publication series

NameProceedings of the 8th Workshop on Mining and Learning with Graphs, MLG'10

Conference

Conference8th Workshop on Mining and Learning with Graphs, MLG'10
Country/TerritoryUnited States
CityWashington, DC
Period7/24/107/25/10

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Graphics and Computer-Aided Design
  • Software

Fingerprint

Dive into the research topics of 'Design patterns for efficient graph algorithms in MapReduce'. Together they form a unique fingerprint.

Cite this