By message-oriented middleware I am referring to technologies such as Advanced Message Queuing Protocol.
Obviously AMQP is a different beast than MPI, but I would think distributed-memory computations that operate in a master-slave manner could be trivially implemented using AMQP, letting AMQP handle equitable work distribution to slaves as they finish pieces instead of managing the queue of work explicitly in the master.
The added benefit of AMQP (if you had thousands of machines working together) would be that the death of a single machine wouldn't stall progress of the computation at MPI_Bcast
s, because AMQP could simply use a fanout instead of MPI_Bcast
and that would be non-blocking to the progress of the overall computation.
Are there any examples of AMQP being used for task coordination in distributed computation?