SlideShare a Scribd company logo
MapReduce Programming Model
To Solve Graph Problems
Presented By:
Nishant Gandhi
M.Tech. - CSE 1st Year
1311CS05
Guided By:
Dr. Rajiv Misra
Seminar Overview
• Introduction to MapReduce
• MapReduce Programming Model
– Word Count problem
• Graph Problems & MapReduce
– Breath First Search
– Augmenting Edges with Degree
– Enumerating Triangles from Graph
Introduction to MapReduce
• History of Computing
– Moore’s Law
• Not holding since last few years
• Memory is still bottle neck for large GHZ processor
– Distributed Problems
• Indexing The Web, Simulating Internet Sized Network, Speeding Up
Content Delivery, Rendering Multiple Frames
– Parallel Computing (1975-1985)
• Synchronization Problems
• Very Costly Super Computers
– Distributed Computing (1995-Today)
• Cost Effective Solution
• Use Commodity Hardware
• Google has no Super Computer
Introduction to MapReduce
• History of MapReduce at Google
– Problem at Google
• Computing Large Amount of Data on DS
• Parallelize Computing, Distribute Data, Handle Failure
– One Solution
• New Abstract that allows simple computation & hide
all other mess
• Automatics Parallelization, Distribution, Fault Handling
• MapReduce Paper 2004
MapReduce Programming Model
• Motivation
– Automatic Parallelization & Distribution
– Fault tolerant
– Provides Status & Monitoring Tool
– Clean Abstract For Programmer
MapReduce Programming Model
• Programming Model
– Borrows From Functional Programming
– User Implement interface of two functions
• Map & Reduce
• map (in_key, in_value) --> (out_key, intermediate_value)
list
• reduce (out_key, intermediate_value list) --> out_value list
MapReduce Programming Model
map: (K1,V1) → list (K2,V2)
reduce: (K2,list(V2)) → list (K3,V3)
1. Map function is applied to every input key-value pair
2. Map function generates intermediate key-value pairs
3. Intermediate key-values are sorted and grouped by key
4. Reduce is applied to sorted and grouped intermediate
key-values
5. Reduce emits result key-values
MapReduce Programming Model
MapReduce Programming Model
Example: WordCount
Graph Problems
Graphs are ubiquitous in modern society. Some
examples:
• The hyperlink structure of the web
• Social networks on social networking sites like
Facebook, IMDB, email, text messages and tweet
flows (like Twitter)
• Transportation networks (roads, trains, fights etc)
• Human body can be seen as a graph of genes,
proteins, cells etc..
Graph Problems & MapReduce
• Performing Computation on a graph data
structure requires processing at each node
• Each node contain node-specific data as well
as links (edges) to other nodes
• Computation must traverse the graph and
perform the computation step
• How do we traverse a graph in MapReduce?
How do we represent the graph for this?
Breath First Search & MapReduce
Problem:
This does not fit into MapReduce
Solution:
Iterated passes through
MapReduce-map some nodes,
result includes additional nodes
which are fed into successive
MapReduce passes
Breath First Search & MapReduce
Example
Representation as adjacent list
ID EDGES|DISTANCE_FROM_SOURCE|COLOR|
• Input to MAP
1 2,5|0|GRAY|
2 1,3,4,5|Integer.MAX_VALUE|WHITE|
3 2,4|Integer.MAX_VALUE|WHITE|
4 2,3,5|Integer.MAX_VALUE|WHITE|
5 1,2,4|Integer.MAX_VALUE|WHITE|
Breath First Search & MapReduce
Example
• 1st iteration of Map
1 2,5|0|BLACK|
2 NULL|1|GRAY|
5 NULL|1|GRAY|
2 1,3,4,5|Integer.MAX_VALUE|WHITE|
3 2,4|Integer.MAX_VALUE|WHITE|
4 2,3,5|Integer.MAX_VALUE|WHITE|
5 1,2,4|Integer.MAX_VALUE|WHITE|
•1st iteration for Reduce(result only for node 2)
2 NULL|1|GRAY|
2 1,3,4,5|Integer.MAX_VALUE|WHITE|
The reducers job is to take all
this data and construct a new
node using
the non-null list of edges
the minimum distance
the darkest color
Breath First Search & MapReduce
Example
•Output of 1st iteration
1 2,5,|0|BLACK
2 1,3,4,5,|1|GRAY
3 2,4,|Integer.MAX_VALUE|WHITE
4 2,3,5,|Integer.MAX_VALUE|WHITE
5 1,2,4,|1|GRAY
•Output of 2st iteration
1 2,5,|0|BLACK
2 1,3,4,5,|1|BLACK
3 2,4,|2|GRAY
4 2,3,5,|2|GRAY
5 1,2,4,|1|BLACK
Breath First Search & MapReduce
Example
•Output of 3st iteration
1 2,5,|0|BLACK
2 1,3,4,5,|1|BLACK
3 2,4,|2|BLACK
4 2,3,5,|2|BLACK
5 1,2,4,|1|BLACK
Augmenting Edges with Degrees &
MapReduce
Problem:
This does not fit into MapReduce
Solution:
Requires two MapReduce
jobs: two reduce steps and two
map steps,
one of which is the identity map.
Augmenting Edges with Degrees &
MapReduce Example
Mapper:
for each input record, the map creates two
output records, one keyed under each
vertex in the edge.
Reducer:
The reduce takes all edges mapped to a
single vertex (“Fred” here), counts them to
obtain the degree, and emits a record for
each input record, each keyed under the
edge it represents.
Augmenting Edges with Degrees &
MapReduce Example
Mapper:
the identity mapper preserves the records
unchanged, so the records are binned by
the edges they represent.
Reducer:
The reducer combines the partial-degree
information to produce a complete record,
which it exports.
Enumerating Triangles & MapReduce
Example
 Problem:
Enumerating 3-cycle sub graph
from given graph
 Solution:
• augmenting the edge records
with vertex valence
• two MapReduce jobs
Enumerating Triangles & MapReduce
Example
• In the first map operation for enumerating triangles, the
mapper records each edge under the vertex with the lowest
degree.
• The incoming records’ key doesn’t matter.
Enumerating Triangles & MapReduce
Example
• In the first map operation for enumerating triangles, the
mapper records each edge under the vertex with the lowest
degree.
• The incoming records’ key doesn’t matter.
Enumerating Triangles & MapReduce
Example
• The second map for enumerating triangles brings together
the edge and open triad records.
• In the process, it rekeys the edge records so that both record
types are binned under the vertices they connect.
Enumerating Triangles & MapReduce
Example
• In the second reduce, each bin contains at most one edge record
and some number of triad records (perhaps none).
• For every combination of edge record and triad record in a bin, the
reduce emits a triangle record. The output key isn’t significant.
Bibliography
1. J. Dean and S. Ghemawat, “MapReduce: Simplified Data Processing on
Large Clusters,” Comm. ACM, vol. 51, no. 1,2008, pp. 107–112.
2. GoogleDevelopers, “Lecture 5: Parallel Graph Algorithms with
MapReduce,” 28 Aug. 2007; http://youtube.com/watch?v=BT-piFBP4fE.
3. Jonathan Cohen, Graph Twiddling in a MapReduce World. Comp. in
Science & Engineering, July/August 2009, 29-41.
Thank You

More Related Content

What's hot (20)

PPTX
Human Computer Interaction unit 1
Vinoth Chandrasekaran
 
PDF
CS878 Green Computing Anna University Question Paper
Gobinath Subramaniam
 
PPTX
Github
IFEDAYO ADEYEMI
 
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
Kathirvel Ayyaswamy
 
PPTX
unit-4-dynamic programming
hodcsencet
 
PPTX
Spiral Model in Software Engineering with Case Study
Sahil Bansal
 
PPT
Managing people and organizing teams
tumetr1
 
PPT
14 relationship between processes
myrajendra
 
PDF
Multithreading
Dr. A. B. Shinde
 
PDF
Basic communication operations - One to all Broadcast
RashiJoshi11
 
PPTX
Presentation on Shared Memory Parallel Programming
Vengada Karthik Rangaraju
 
PPTX
Rad model
Dyanara Pritz Menia
 
PPTX
DELPHI METHOD (COST ESTIMATION MODELT)
Arsalan Ghaffar
 
PPTX
Backpatching1
SanaAkram41
 
PPTX
Peephole optimization techniques in compiler design
Anul Chaudhary
 
PPTX
software engineering 2 Chapter notes of software engineering in detail to stu...
preetidamakale
 
PDF
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Hai Dinh Tuan
 
PDF
CS8078-Green Computing Question Bank
Gobinath Subramaniam
 
PPTX
Shortest path algorithm
sana younas
 
PPTX
Spiral model of SDLC
Animesh Chakraborty
 
Human Computer Interaction unit 1
Vinoth Chandrasekaran
 
CS878 Green Computing Anna University Question Paper
Gobinath Subramaniam
 
MG6088 SOFTWARE PROJECT MANAGEMENT
Kathirvel Ayyaswamy
 
unit-4-dynamic programming
hodcsencet
 
Spiral Model in Software Engineering with Case Study
Sahil Bansal
 
Managing people and organizing teams
tumetr1
 
14 relationship between processes
myrajendra
 
Multithreading
Dr. A. B. Shinde
 
Basic communication operations - One to all Broadcast
RashiJoshi11
 
Presentation on Shared Memory Parallel Programming
Vengada Karthik Rangaraju
 
DELPHI METHOD (COST ESTIMATION MODELT)
Arsalan Ghaffar
 
Backpatching1
SanaAkram41
 
Peephole optimization techniques in compiler design
Anul Chaudhary
 
software engineering 2 Chapter notes of software engineering in detail to stu...
preetidamakale
 
Equal Cost Multipath Routing in FOKUS OpenSDNCore
Hai Dinh Tuan
 
CS8078-Green Computing Question Bank
Gobinath Subramaniam
 
Shortest path algorithm
sana younas
 
Spiral model of SDLC
Animesh Chakraborty
 

Similar to Map reduce programming model to solve graph problems (20)

PPTX
Introduction to MapReduce
Hassan A-j
 
PPTX
This gives a brief detail about big data
chinky1118
 
PDF
Introduction to map reduce
Bhupesh Chawda
 
PDF
Graph Algorithms - Map-Reduce Graph Processing
Jason J Pulikkottil
 
PDF
Big Data, a space adventure - Mario Cartia - Codemotion Rome 2015
Codemotion
 
PDF
Big data shim
tistrue
 
PDF
An Introduction to MapReduce
Sina Ebrahimi
 
PPT
Big Data, a space adventure - Mario Cartia - Codemotion Milan 2014
Codemotion
 
PPTX
Introduction to Map Reduce
Apache Apex
 
PDF
MapReduce
ahmedelmorsy89
 
PPTX
Hadoop and Mapreduce for .NET User Group
Csaba Toth
 
PDF
Lecture 1 mapreduce
Shubham Bansal
 
PPT
Hadoop classes in mumbai
Vibrant Technologies & Computers
 
PPTX
iot.pptx
SabthamiS1
 
PDF
MapReduce
Amir Payberah
 
PDF
2004 map reduce simplied data processing on large clusters (mapreduce)
anh tuan
 
PDF
Map reduce
Shahbaz Sidhu
 
PPT
An Introduction To Map-Reduce
Francisco Pérez-Sorrosal
 
PDF
lec8_ref.pdf
vishal choudhary
 
PDF
Mapreduce2008 cacm
lmphuong06
 
Introduction to MapReduce
Hassan A-j
 
This gives a brief detail about big data
chinky1118
 
Introduction to map reduce
Bhupesh Chawda
 
Graph Algorithms - Map-Reduce Graph Processing
Jason J Pulikkottil
 
Big Data, a space adventure - Mario Cartia - Codemotion Rome 2015
Codemotion
 
Big data shim
tistrue
 
An Introduction to MapReduce
Sina Ebrahimi
 
Big Data, a space adventure - Mario Cartia - Codemotion Milan 2014
Codemotion
 
Introduction to Map Reduce
Apache Apex
 
MapReduce
ahmedelmorsy89
 
Hadoop and Mapreduce for .NET User Group
Csaba Toth
 
Lecture 1 mapreduce
Shubham Bansal
 
Hadoop classes in mumbai
Vibrant Technologies & Computers
 
iot.pptx
SabthamiS1
 
MapReduce
Amir Payberah
 
2004 map reduce simplied data processing on large clusters (mapreduce)
anh tuan
 
Map reduce
Shahbaz Sidhu
 
An Introduction To Map-Reduce
Francisco Pérez-Sorrosal
 
lec8_ref.pdf
vishal choudhary
 
Mapreduce2008 cacm
lmphuong06
 
Ad

More from Nishant Gandhi (8)

PPTX
Customer Feedback Analytics for Starbucks
Nishant Gandhi
 
PDF
Guest Lecture: Introduction to Big Data at Indian Institute of Technology
Nishant Gandhi
 
PPT
Processing Large Graphs
Nishant Gandhi
 
PDF
Graph Coloring Algorithms on Pregel Model using Hadoop
Nishant Gandhi
 
DOCX
Neo4j vs giraph
Nishant Gandhi
 
DOCX
Packet tracer practical guide
Nishant Gandhi
 
DOCX
Hadoop Report
Nishant Gandhi
 
PPSX
Hadoop
Nishant Gandhi
 
Customer Feedback Analytics for Starbucks
Nishant Gandhi
 
Guest Lecture: Introduction to Big Data at Indian Institute of Technology
Nishant Gandhi
 
Processing Large Graphs
Nishant Gandhi
 
Graph Coloring Algorithms on Pregel Model using Hadoop
Nishant Gandhi
 
Neo4j vs giraph
Nishant Gandhi
 
Packet tracer practical guide
Nishant Gandhi
 
Hadoop Report
Nishant Gandhi
 
Ad

Recently uploaded (20)

PDF
Indian National movement PPT by Simanchala Sarab, Covering The INC(Formation,...
Simanchala Sarab, BABed(ITEP Secondary stage) in History student at GNDU Amritsar
 
PDF
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
PDF
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
PPTX
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
PPTX
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
PDF
Andreas Schleicher_Teaching Compass_Education 2040.pdf
EduSkills OECD
 
PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
PDF
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
PPTX
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
PDF
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
PDF
TLE 8 QUARTER 1 MODULE WEEK 1 MATATAG CURRICULUM
denniseraya1997
 
PPTX
How to Add a Custom Button in Odoo 18 POS Screen
Celine George
 
PDF
TechSoup Microsoft Copilot Nonprofit Use Cases and Live Demo - 2025.06.25.pdf
TechSoup
 
PPTX
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
PPTX
Exploring Linear and Angular Quantities and Ergonomic Design.pptx
AngeliqueTolentinoDe
 
PDF
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
PDF
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
 
PPTX
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
PPTX
Iván Bornacelly - Presentation of the report - Empowering the workforce in th...
EduSkills OECD
 
PDF
I3PM Case study smart parking 2025 with uptoIP® and ABP
MIPLM
 
Indian National movement PPT by Simanchala Sarab, Covering The INC(Formation,...
Simanchala Sarab, BABed(ITEP Secondary stage) in History student at GNDU Amritsar
 
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
Ward Management: Patient Care, Personnel, Equipment, and Environment.pptx
PRADEEP ABOTHU
 
Andreas Schleicher_Teaching Compass_Education 2040.pdf
EduSkills OECD
 
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
TLE 8 QUARTER 1 MODULE WEEK 1 MATATAG CURRICULUM
denniseraya1997
 
How to Add a Custom Button in Odoo 18 POS Screen
Celine George
 
TechSoup Microsoft Copilot Nonprofit Use Cases and Live Demo - 2025.06.25.pdf
TechSoup
 
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
Exploring Linear and Angular Quantities and Ergonomic Design.pptx
AngeliqueTolentinoDe
 
Lean IP - Lecture by Dr Oliver Baldus at the MIPLM 2025
MIPLM
 
DIGESTION OF CARBOHYDRATES ,PROTEINS AND LIPIDS
raviralanaresh2
 
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
Iván Bornacelly - Presentation of the report - Empowering the workforce in th...
EduSkills OECD
 
I3PM Case study smart parking 2025 with uptoIP® and ABP
MIPLM
 

Map reduce programming model to solve graph problems

  • 1. MapReduce Programming Model To Solve Graph Problems Presented By: Nishant Gandhi M.Tech. - CSE 1st Year 1311CS05 Guided By: Dr. Rajiv Misra
  • 2. Seminar Overview • Introduction to MapReduce • MapReduce Programming Model – Word Count problem • Graph Problems & MapReduce – Breath First Search – Augmenting Edges with Degree – Enumerating Triangles from Graph
  • 3. Introduction to MapReduce • History of Computing – Moore’s Law • Not holding since last few years • Memory is still bottle neck for large GHZ processor – Distributed Problems • Indexing The Web, Simulating Internet Sized Network, Speeding Up Content Delivery, Rendering Multiple Frames – Parallel Computing (1975-1985) • Synchronization Problems • Very Costly Super Computers – Distributed Computing (1995-Today) • Cost Effective Solution • Use Commodity Hardware • Google has no Super Computer
  • 4. Introduction to MapReduce • History of MapReduce at Google – Problem at Google • Computing Large Amount of Data on DS • Parallelize Computing, Distribute Data, Handle Failure – One Solution • New Abstract that allows simple computation & hide all other mess • Automatics Parallelization, Distribution, Fault Handling • MapReduce Paper 2004
  • 5. MapReduce Programming Model • Motivation – Automatic Parallelization & Distribution – Fault tolerant – Provides Status & Monitoring Tool – Clean Abstract For Programmer
  • 6. MapReduce Programming Model • Programming Model – Borrows From Functional Programming – User Implement interface of two functions • Map & Reduce • map (in_key, in_value) --> (out_key, intermediate_value) list • reduce (out_key, intermediate_value list) --> out_value list
  • 7. MapReduce Programming Model map: (K1,V1) → list (K2,V2) reduce: (K2,list(V2)) → list (K3,V3) 1. Map function is applied to every input key-value pair 2. Map function generates intermediate key-value pairs 3. Intermediate key-values are sorted and grouped by key 4. Reduce is applied to sorted and grouped intermediate key-values 5. Reduce emits result key-values
  • 10. Graph Problems Graphs are ubiquitous in modern society. Some examples: • The hyperlink structure of the web • Social networks on social networking sites like Facebook, IMDB, email, text messages and tweet flows (like Twitter) • Transportation networks (roads, trains, fights etc) • Human body can be seen as a graph of genes, proteins, cells etc..
  • 11. Graph Problems & MapReduce • Performing Computation on a graph data structure requires processing at each node • Each node contain node-specific data as well as links (edges) to other nodes • Computation must traverse the graph and perform the computation step • How do we traverse a graph in MapReduce? How do we represent the graph for this?
  • 12. Breath First Search & MapReduce Problem: This does not fit into MapReduce Solution: Iterated passes through MapReduce-map some nodes, result includes additional nodes which are fed into successive MapReduce passes
  • 13. Breath First Search & MapReduce Example Representation as adjacent list ID EDGES|DISTANCE_FROM_SOURCE|COLOR| • Input to MAP 1 2,5|0|GRAY| 2 1,3,4,5|Integer.MAX_VALUE|WHITE| 3 2,4|Integer.MAX_VALUE|WHITE| 4 2,3,5|Integer.MAX_VALUE|WHITE| 5 1,2,4|Integer.MAX_VALUE|WHITE|
  • 14. Breath First Search & MapReduce Example • 1st iteration of Map 1 2,5|0|BLACK| 2 NULL|1|GRAY| 5 NULL|1|GRAY| 2 1,3,4,5|Integer.MAX_VALUE|WHITE| 3 2,4|Integer.MAX_VALUE|WHITE| 4 2,3,5|Integer.MAX_VALUE|WHITE| 5 1,2,4|Integer.MAX_VALUE|WHITE| •1st iteration for Reduce(result only for node 2) 2 NULL|1|GRAY| 2 1,3,4,5|Integer.MAX_VALUE|WHITE| The reducers job is to take all this data and construct a new node using the non-null list of edges the minimum distance the darkest color
  • 15. Breath First Search & MapReduce Example •Output of 1st iteration 1 2,5,|0|BLACK 2 1,3,4,5,|1|GRAY 3 2,4,|Integer.MAX_VALUE|WHITE 4 2,3,5,|Integer.MAX_VALUE|WHITE 5 1,2,4,|1|GRAY •Output of 2st iteration 1 2,5,|0|BLACK 2 1,3,4,5,|1|BLACK 3 2,4,|2|GRAY 4 2,3,5,|2|GRAY 5 1,2,4,|1|BLACK
  • 16. Breath First Search & MapReduce Example •Output of 3st iteration 1 2,5,|0|BLACK 2 1,3,4,5,|1|BLACK 3 2,4,|2|BLACK 4 2,3,5,|2|BLACK 5 1,2,4,|1|BLACK
  • 17. Augmenting Edges with Degrees & MapReduce Problem: This does not fit into MapReduce Solution: Requires two MapReduce jobs: two reduce steps and two map steps, one of which is the identity map.
  • 18. Augmenting Edges with Degrees & MapReduce Example Mapper: for each input record, the map creates two output records, one keyed under each vertex in the edge. Reducer: The reduce takes all edges mapped to a single vertex (“Fred” here), counts them to obtain the degree, and emits a record for each input record, each keyed under the edge it represents.
  • 19. Augmenting Edges with Degrees & MapReduce Example Mapper: the identity mapper preserves the records unchanged, so the records are binned by the edges they represent. Reducer: The reducer combines the partial-degree information to produce a complete record, which it exports.
  • 20. Enumerating Triangles & MapReduce Example  Problem: Enumerating 3-cycle sub graph from given graph  Solution: • augmenting the edge records with vertex valence • two MapReduce jobs
  • 21. Enumerating Triangles & MapReduce Example • In the first map operation for enumerating triangles, the mapper records each edge under the vertex with the lowest degree. • The incoming records’ key doesn’t matter.
  • 22. Enumerating Triangles & MapReduce Example • In the first map operation for enumerating triangles, the mapper records each edge under the vertex with the lowest degree. • The incoming records’ key doesn’t matter.
  • 23. Enumerating Triangles & MapReduce Example • The second map for enumerating triangles brings together the edge and open triad records. • In the process, it rekeys the edge records so that both record types are binned under the vertices they connect.
  • 24. Enumerating Triangles & MapReduce Example • In the second reduce, each bin contains at most one edge record and some number of triad records (perhaps none). • For every combination of edge record and triad record in a bin, the reduce emits a triangle record. The output key isn’t significant.
  • 25. Bibliography 1. J. Dean and S. Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters,” Comm. ACM, vol. 51, no. 1,2008, pp. 107–112. 2. GoogleDevelopers, “Lecture 5: Parallel Graph Algorithms with MapReduce,” 28 Aug. 2007; http://youtube.com/watch?v=BT-piFBP4fE. 3. Jonathan Cohen, Graph Twiddling in a MapReduce World. Comp. in Science & Engineering, July/August 2009, 29-41.