Scaling Dynamic Conversations: An Efficient Incremental APSP via Map-Reduce

An Efficient Map-Reduce Algorithm for the Incremental Computation of All-Pairs Shortest Paths in Social Networks

2012-08-01
Sushant S. Khopkar, Rakesh Nagi, Alexander G. Nikolaev
Summary
Problem
Method
Results
Takeaways
Abstract

This paper presents a Map-Reduce implementation of the 'Khopkar-Nagi' incremental algorithm for the All-Pairs Shortest Path (APSP) problem in large-scale social networks. By leveraging previous shortest path information, the method updates network metrics like closeness and betweenness centrality with complexity instead of re-computation.

TL;DR

Social networks never stop growing. Instead of re-calculating the entire network structure (All-Pairs Shortest Path) every time a new user joins, this paper proposes a Map-Reduce version of the Khopkar-Nagi incremental algorithm. It reduces the theoretical complexity from to by updating only what changed, though the implementation demonstrates that cloud infrastructure (I/O) can be just as much a bottleneck as the math itself.

Background: The Cost of Connection

In social network analysis, Centrality is everything. Closeness and Betweenness centralities tell us who the "influencers" and "gatekeepers" are. However, calculating these metrics requires solving the All-Pairs Shortest Path (APSP) problem. On a static graph, this is manageable. But on Facebook or Twitter, where nodes are added every second, running a full re-computation from scratch is a massive waste of resources.

The "Why": Incremental Insight

The core philosophy of this work is re-use. If a new node is added, a shortest path between two existing nodes and only changes if it now passes through .

The authors leverage a physical intuition: to reach or leave , you must pass through its immediate neighbors. If we already know the shortest paths in the original network, we can update the entire graph by simply checking the "bridging" distance through .

Revised shortest paths via new node

Methodology: The Map-Reduce Pivot

The paper translates the 'Khopkar-Nagi' incremental logic into three distinct Map-Reduce (MR) jobs:

  1. MR Job 1 (Neighbor Sync): Maps existing shortest paths to the new node by checking connections to 's neighbors ( and ).
  2. MR Job 2 (Global Broadcasting): Aggregates these new potential paths through and makes them available to every node pair in the network.
  3. MR Job 3 (The Update): A final comparison. For every pair , if , the path is updated.

This distributed workflow allows the algorithm to theoretically handle networks far larger than what a single machine's RAM could hold.

Experiments and Reality Checks

The authors tested the implementation on the Wikipedia Voting Dataset (7k nodes, 103k edges) using Amazon’s EMR.

Schematic of MR incremental algorithm

The Hardware Constraint: A fascinating finding in the paper isn't just the algorithm, but the failure mode. The incremental version suffered from SocketTimeoutException. In cloud environments like Amazon S3/EMR, if a "Map" task spends too much time doing CPU-intensive calculations (like path optimizations) without requesting more data, the S3 service assumes the connection is dead and kills the task.

Number of NodesTime Required (Static APSP)
163h 34m
324h 30m

Note: Surprisingly, the 32-node cluster took longer, likely due to the overhead of data distribution and the relatively small size of the 7k-node dataset.

Critical Analysis & Takeaways

The paper successfully maps a sequential incremental algorithm to a parallel paradigm. However, it reveals a critical gap in 2011-era distributed computing: low-intensity data, high-intensity compute tasks are a mismatch for the original Map-Reduce/HDFS model, which was designed for high-volume data streaming (like word counts).

Future Outlook: Today, this work would likely thrive on Apache Spark or GraphX, which keep data in-memory and avoid the expensive S3/HDFS I/O bottlenecks that hindered the authors' incremental implementation. Nonetheless, the mathematical logic of the Khopkar-Nagi update remains a foundational approach for anyone trying to avoid the "brute-force" trap in dynamic graph analysis.

Find Similar Papers

Try Our Examples

  • Which recent papers have successfully optimized CPU-intensive graph algorithms on Map-Reduce to avoid SocketTimeoutException or S3 interface bottlenecks?
  • What are the performance differences between the Khopkar-Nagi algorithm and more recent fully dynamic APSP algorithms proposed after 2011 for massive graphs?
  • How can the incremental APSP logic presented here be extended to handle edge deletions while maintaining the $O(n^2)$ complexity bound in a distributed environment?
Contents
Scaling Dynamic Conversations: An Efficient Incremental APSP via Map-Reduce
1. TL;DR
2. Background: The Cost of Connection
3. The "Why": Incremental Insight
4. Methodology: The Map-Reduce Pivot
5. Experiments and Reality Checks
6. Critical Analysis & Takeaways