点差 vs MPI vs zeromq? [英] Spread vs MPI vs zeromq?

查看:27
本文介绍了点差 vs MPI vs zeromq?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

像 UDP 一样使用TCP 的可靠性,一位用户提到了 Spread 消息传递 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.

所以,我的主要问题是:为什么我会选择一个而不是另一个?更具体地说,既然有成熟的 MPI 实现,我为什么要选择使用 Spread 或 ØMQ?

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 被设计为具有快速、可靠网络的紧耦合计算集群.Spread 和 Ø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.

这篇关于点差 vs MPI vs zeromq?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆