MPI标准与Map-Reduce编程模型的比较?

4

我学习了各种并行编程范式的基础知识,如OpenMP、MPI和OpenCL。但是我对Map-Reduce编程模型的了解不多。

众所周知,许多流行的公司都采用Map-Reduce编程模型来解决大规模数据密集型任务。而MPI则是为高性能计算机和工作站集群设计的。

因此,我的第一个困惑是... 我可以使用Map-Reduce模型代替MPI标准,还是反之亦然?还是要根据具体应用情况而定?

它们之间的确切区别是什么?

Which one is better and when?
1个回答

5

您可以将Map-Reduce理解为MPI功能的一个子集,因为它有点像MPI的带有用户定义函数的集体操作。因此,您可以使用MPI代替Map-Reduce,但反之则不行,因为在MPI中您可以描述更多的操作。 Map-Reduce的主要优点似乎是集中于这个单一的并行概念,从而减少了您需要学习以使用它的接口。


这是一个非常好的问题...现在假设我们有一个只需要集体操作的问题,那么在这种情况下,哪个选项会更好地解决问题? - Gopal
1
好的,请看这个链接:http://www.unixer.de/publications/img/hoefler-map-reduce-mpi.pdf,它描述了如何在MPI之上实现map-reduce以使其更快。因此,结论可能是如果你想要速度,那么使用MPI会更好。否则,你需要更具体地定义你的更好标准。 - haraldkl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接