Through message-oriented middleware, I mean technologies such as the Advanced Message Queuing Protocol .
Obviously, AMQP is a different beast than MPI, but I would have thought that distributed memory calculations that work in master-slave mode could be trivially implemented using AMQP, allowing AMQP to handle fair distribution of work with subordinates as they finish parts instead of managing the work queue is clearly in the main.
An additional advantage of AMQP (if you had thousands of machines working together) would be that the death of one machine would not stop the computation at MPI_Bcasts, because AMQP could just use the fork instead MPI_Bcast, and this would block the progress of all the calculations.
Are there any AMQP examples for coordinating tasks in distributed computing?
Update: Gearman provides a really good approach to fault tolerant distributed computing.
source
share