我所说的面向消息的中间件是指高级消息队列协议等技术。
显然 AMQP 是与 MPI 不同的野兽,但我认为以主从方式运行的分布式内存计算可以使用 AMQP 轻松实现,让 AMQP 在从属完成时处理公平的工作分配,而不是管理队列明确地在主人身上工作。
AMQP 的额外好处(如果您有数千台机器一起工作)将是单台机器的死亡不会在MPI_Bcast
s 处停止计算的进度,因为 AMQP 可以简单地使用扇出而MPI_Bcast
不是阻塞整个计算的进度。
有没有在分布式计算中用于任务协调的 AMQP 示例?
更新: Gearman为容错分布式计算提供了一种非常好的方法。