Skip to content

Varun0157/distributed-super-linear-mst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Implementations of the calculation of a Minimum Spanning Tree of a given graph in a distributed setting (in a traditional massively parallel computing setting, as well as a map-reduce variant), assuming super-linear memory per node, as defined by Mohsen Ghaffari.

Benchmarking

Rounds vs Edges
Rounds vs Edges
Rounds vs Epsilon
Rounds vs Epsilon
Rounds vs Vertices
Rounds vs Vertices

The benchmarking was done with respect to the number of communication rounds rather than the wall-clock time, as in traditional MPC algorithms.

The Map-Reduce implementation consistently takes one more round than that of its MPC variant because it has to make an additional communication (map + reduce step) to filter down from the graph that can fit in a single node, down to the MST itself. In the MPC implementation, this computation is local to a node and does not require an additional communication.

Note

The MapReduce implementation always took longer to run, likely because of the repeated reads and writes to disk. Since the MPC implementation is just a local simulation, the cost of each communication was considerably less.

What?

The MPC Implementation

Is inspired by the Filtering Algorithm by Lattanzi et al..

For further details, see the corresponding directory.

The MapReduce Implementation

Was written with the intention of bridging theory and practice of Distributed Algorithms. It is implemented using Hadoop's primitives for this purpose.

For further details, see the corresponding directory.

Credits

Prof. Kishore Kothapalli for his guidance and knowledge of the above algorithms.

About

Implementations of MST calculation in a distributed setting, assuming super-linear memory.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published