US $ p $垫VS MPI VS zeromq? [英] Spread vs MPI vs zeromq?
问题描述
在回答中的一个来<一href=\"http://stackoverflow.com/questions/31572/broadcast-like-udp-with-the-reliability-of-tcp#31629\">Broadcast如UDP和TCP 的可靠性,用户提到 US $ p $垫消息API。我还隔着一个叫ØMQ运行。我也有一些熟悉 MPI 。
In one of the answers to Broadcast like UDP with the Reliability of TCP, a user mentions the Spread messaging API. I've also run across one called ØMQ. I also have some familiarity with MPI.
所以,我的主要问题是:为什么我会选择一个比其他?更具体地讲,我为什么会选择将S $ P $垫或ØMQ时有要过MPI成熟的实现?
So, my main question is: why would I choose one over the other? More specifically, why would I choose to use Spread or ØMQ when there are mature implementations of MPI to be had?
推荐答案
MPI是deisgned紧耦合计算集群提供快速,可靠的网络。 US $ p $垫和ØMQ是专为大型分布式系统。如果你正在设计一个并行科学应用,顺应MPI,但如果你正在设计一个持续的分布式系统,需要有弹性故障和网络不稳定,使用别人的一个。
MPI was deisgned tightly-coupled compute clusters with fast, reliable networks. Spread and ØMQ are designed for large distributed systems. If you're designing a parallel scientific application, go with MPI, but if you are designing a persistent distributed system that needs to be resilient to faults and network instability, use one of the others.
MPI具有容错能力的设施非常有限;在大多数实现默认的错误处理的行为是一个全系统的失败。此外,MPI的语义要求所有发送的消息最终被消耗掉。这使得一个很大的意义集群上模拟,而不是为分布式应用程序。
MPI has very limited facilities for fault tolerance; the default error handling behavior in most implementations is a system-wide fail. Also, the semantics of MPI require that all messages sent eventually be consumed. This makes a lot of sense for simulations on a cluster, but not for a distributed application.
这篇关于US $ p $垫VS MPI VS zeromq?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!