Archive for October, 2011

Comparing MPI and Map-Reduce

2011-10-27 1 comment

This paper shows some general guidelines on choosing MPI  or Map-Reduce in your applications:

Chen, W.-Y.; Song, Y.; Bai, H.; Lin, C.-J. & Chang, E. Y.
Parallel Spectral Clustering in Distributed Systems. IEEE Trans. Pattern Anal. Mach. Intell., 2011, 33, 568-586

“… In general, MapReduce is suitable for noniterative algorithms where nodes require little data exchange to proceed (noniterative and independent); MPI is appropriate for iterative algorithms where nodes require data exchange to proceed (iterative and dependent).”

My unverified understanding: Map-reduce is more suitable for data-intensive task, while MPI is more appropriate for computation-intensive task. In Mapreduce, the data is less correlated, making it easier to allocate to MAP modules.

Some key differences are listed below:

  • Map-reduce is easier to learn, while MPI is distinctly more complex with lots of functions. MPI can control the parallel process in a finer granularity.
  • Map-Reduce communicates between nodes by disk I/O (on GFS, which is faster than NTFS/EXT3), while MPI performs communication by message passing.
  • Map-reduce provides a fault-tolerant mechanism, that is, when one node fails, map-reduce restarts the same task on another node. All MPI processes will exit if one of them fails.
Categories: Structured Storage Tags:

Text/Image vertically middle-align in a DIV

Define the line height in a DIV as the same height of the DIV:

div{line-height:   20px;
    height:   20px;}

For images, write “vertical-align:middle” in its style then you make it.

Categories: Programming Languages Tags: