我正在研究各种并行编程模型,但我偶然发现了MPI。有几件事我不确定。据我所知:需要对MPI进行一些说明
- MPI的主要功能是允许在集群中并行运行相关进程之间的通信。它是否正确?
- 程序在主节点上运行,主节点又将特定任务传递给工作节点 - 并接收结果。不需要在每个工作节点上都有一份代码副本。
此外,我发现的几个更新的MPI框架似乎只支持一组受限制的语言。我正在用Java进行实验,但是我发现的所有Java MPI库都是过时的,或者似乎没有C和Fortran的成熟度。这是为什么?我认为消息传递对于编写并行或分布式程序的任何人来说都是一个非常有用的功能,那么为什么MPI在它的利基之外更受欢迎呢?
MPI更多地用于科学编程,它有一个使用历史,并且科学界选择的语言(很长一段时间)一直是/ C/Fortran。 – arynaq
(1)是正确的; (2)不是。 –
*那么为什么MPI在它的利基之外更受欢迎呢?可能是因为管理MPI发展和它的用户社区的人并不关心它在其利基之外的受欢迎程度,而是他们关心它的效率和效率它的利基。 MPI并不是唯一的消息传递库,Java程序员可以使用其他选项。 –