关于面向消息的中间件,我指的是诸如高级消息队列协议这样的技术。
显然,AMQP与MPI不同,但我认为以主从方式操作的分布式内存计算可以使用AMQP进行琐碎的实现,让AMQP在奴隶完成任务时处理公平的工作分配,而不是在主服务器中显式地管理工作队列。
AMQP的另一个好处是(如果有数千台机器协同工作),一台机器的死亡不会阻碍MPI_Bcast的计算进程,因为AMQP可以使用扇出而不是MPI_Bcast,这将是对整个计算过程的非阻塞。
在分布式计算中,是否有使用AMQP进行任务协调的例子?
更新: 吉尔曼提供了一种非常好的容错分布式计算方法。
发布于 2010-10-02 10:25:24
我认为区分分布式计算和并行计算是有帮助的。我认为并行计算是分布式计算的一个子类.在分布式计算中,许多处理器被用来解决一个问题,这个问题可以被分解成各种各样的任务(例如客户机-服务器,给出一个非常简单的例子),处理器可能运行着各种各样的代码。
然而,在并行计算中,每个处理器都可能运行相同的代码,但需要处理数据的不同部分。
现在,在分布式计算结束和并行开始的时候,没有硬的和快速的线,但是如果你看一下频谱的两端,就会发现一些典型的例子,它们有非常不同的特性。我想Google可能会展示一个分布式计算的典型例子,而大型超级计算机中心运行的科学模拟则提供了一个典型的并行计算示例。
以上只是我对你问题的回答的背景:
是的,您当然可以使用AMQP来处理并行计算,也可以使用MPI来实现分布式计算,但我认为您将与针对频谱相反端的协议的特性进行斗争。
不,我不知道有人用AMQP来做我所说的并行计算。
https://stackoverflow.com/questions/3842300
复制相似问题