我正试图围绕 MPI 进行思考。它似乎是并行科学计算的事实模型。但是,我看不出是什么让它如此特别以至于它比 JSON 或 xml 的服务器/客户端模型更受欢迎?
问问题
175 次
1 回答
8
事实上,MPI 是(分布式内存)并行科学计算的事实标准。人们只能推测为什么会这样。几个原因:
MPI 是一个 API 标准,它没有指定任何有线协议,将任何此类低级细节留给实现。(事实上,假设 MPI 实现可以使用 JSON 或 XML 并符合标准,尽管我很确定与当前使用高效二进制协议的实际实现相比性能会很糟糕。)这允许实现自由,在各种网络硬件架构上尽可能高效地实现 MPI,为应用程序提供“性能可移植性”。这很重要,因为大型应用程序的寿命往往比典型超级计算机的约 5 年要长得多。
MPI 不是客户端-服务器模型,尽管它足够灵活,可以让用户在用户愿意的情况下实现这样的通信方案。客户端-服务器模型往往受到可伸缩性限制,相反,大型 MPI 应用程序倾向于使用所有等级(几乎)相等的对称处理模型。
MPI 提供了多种用于科学应用的通信模式。例如广播、缩减、分散/聚集等集体操作。同样,由于 MPI 是一种 API 标准并且没有指定有线协议,因此 MPI 实现有很大的自由度可以为任何特定网络以有效的方式实现这些操作硬件和拓扑。
于 2013-08-12T05:30:18.647 回答