有人可以提供更好的和哪些情况?
我对ZeroMQ有一些经验(不多)而对OpenMPI没有经验。
我知道两者都是消息传递的框架。这两个框架之间的主要区别是什么?
答案 0 :(得分:3)
ZMQ是一个与传输无关的通用消息传递系统,它有一些有用的模式,比如pub / sub等。它只是简单地在你的网络/程序/线程周围移动字节,完全取决于你那些字节意思。许多人在ZMQ之上使用像Google Protocol Buffers这样的序列化技术来“让这些字节在任何地方都意味着合情合理”。
OpenMPI非常适合分布式数学应用程序,并且经常在超级计算机社区中使用,以便在其大型集群中的节点之间传播数据。 AFAIK它将在传输数据时执行矩阵变换等操作,需要程序将其数据描述为OpenMPI,以便可以完成变换。此外,似乎非常强调OpenMPI节点是单个进程 - 它并不真正用于线程间通信。此外,它有点接管你运行和构建代码的方式。