4

我从未使用过消息传递接口 (MPI),但我听说过它的名字,最近一次是使用 Windows HPC Server。我快速浏览了亚马逊,看看是否有任何书籍,但它们的日期都是大约 7 年或更长时间。MPI 是否仍然是新应用程序的有效技术选择,还是已在很大程度上被其他分布式编程替代方案(例如 DataSynapse GridServer)取代?

由于它不是真正的实现,而是一个标准,学习它会导致更好的分布式编程系统设计的可能性有多大(假设它没有死)?还有什么我应该看的吗?

4

4 回答 4

12

对于 MPI 的优点,它仍然是一个不错的选择。有可能没有关于该主题的最新书籍,因为现有书籍已经足够好,而且我们大多数使用 MPI 的人不再需要任何东西。

我不会将 MPI 描述为分布式编程标准,更多的是分布式内存计算机上的并行编程标准——它涵盖了目前世界上大多数最大的计算机。

如果我打赌它会被替换,我会关注ChapelX10,或者最有可能的是 Fortran 2008。

您应该查看的内容取决于您的要求,但如果它们包括用于科学和工程代码的高性能数字运算,那么您应该考虑使用带有 MPI 的 Fortran 或 C/C++。我从未听说过 DataSynapse GridServer,一个快速的 Google 向我建议它针对的是完全不同的一类计算问题。

编辑:我刚刚在亚马逊上查看了“关于 MPI”的书籍。虽然 Gropp等人的书籍现在有点老了,但仍有很多其他书籍正在出版,涵盖(使用)MPI。这部分反映了 MPI 的使用。这对计算机科学家来说并不是很有趣,所以关于“为了 MPI 的缘故 MPI”的书籍并不多,但是许多计算科学家对它很感兴趣,所以有源源不断的“使用 MPI 的物理学”和“使用 MPI 进行工程”的书籍. 如果这些超出了您的兴趣范围,那么 MPI 可能也是如此。

于 2010-06-01T11:59:44.747 回答
3

2016 年更新。MPI 仍然是可靠计算节点的低延迟网络上分布式内存编程的王者。我认为问题提出者是正确的,因为 MPI 可能不是应该发生容错的协议层。大约在 2006 年,我们在 SunGridEngine 上拥有 MPI。最近,Mesos上的 MPI 变得流行起来。


MPI 标准正在积极开发中:http: //meetings.mpi-forum.org/MPI_3.0_main_page.php

主要问题是现在我们有一些拥有超过 10,000 个处理器的机器,而 MPI 本身很难扩展。许多开放的研究问题。http://www.springerlink.com/content/q11r042317g88230/

于 2010-06-14T07:10:50.743 回答
2

你为什么需要一本书?API 有据可查。

在分布式系统上,除了 MPI 之外,您实际上没有任何其他选择。

一些 Fortran 编译器,例如来自 Cray 和 G95 的编译器支持 coarrays。然后你有UPC,但我还没有看到有人使用它。

于 2010-06-25T20:24:11.073 回答
0

好吧,可能是因为仅 API 描述和一些示例还不够(或者用户群仍然太小,或者他们太聪明),不足以支持单独的书。但是,许多并行编程书籍确实将其作为几种并行方法之一进行了介绍。最近的一篇(2010 年 2 月)是:“并行编程:用于多核和集群系统”,作者:Thomas Rauber,Gudula Rünger。我还没有读过它,我提到它是因为它是最近的,并且是该领域的真正专家(两者 => MPI 都没有死)。至于帮助您了解如何使用 MPI 的最佳书籍,我只能参考人们在 Amazon 上的评论。但在标题中寻找“平行”。

于 2010-06-29T17:52:06.797 回答