Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: OpenMPI Vs. RabbitMQ

Suppose that one is interested to write a python app where there should be communication between different processes. The communications will be done by sending strings and/or numpy arrays.

What are the considerations to prefer OpenMPI vs. a tool like RabbitMQ?

like image 799
user3262424 Avatar asked Jul 20 '11 03:07

user3262424


People also ask

Which message broker is best?

RabbitMQ is one of the most popular message brokers, with tens of thousands of users. It is a lightweight messaging system that can be deployed on-premises or in the cloud. Besides, it may be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.

Is AMQP and RabbitMQ same?

RabbitMQ is a messaging system that uses AMQP 0.9. 1 as the basis for a set of standards controlling the entire message passing process. AMQP 0.9. 1 was published in November 2008, which is also the version that will be covered in this article.

Which is better RabbitMQ or Kafka?

Kafka offers much higher performance than message brokers like RabbitMQ. It uses sequential disk I/O to boost performance, making it a suitable option for implementing queues. It can achieve high throughput (millions of messages per second) with limited resources, a necessity for big data use cases.

What is difference between ActiveMQ and RabbitMQ?

ActiveMQ is used in enterprise projects to store multiple instances and supports clustering environments based on the JMS messaging specification. RabbitMQ is a message broker which is executed in low-level AMQP protocol and acts as an intermediator between two application in the communication process.


1 Answers

There is no single correct answer to such question. It all depends on a big number of different factors. For example:

  1. What kind of communications do you have? Are you sending large packets or small packets, do you need good bandwidth or low latency?
  2. What kind of delivery guarantees do you need?
  3. OpenMPI can instantly deliver messages only to a running process, while different MQ solutions can queue messages and allow fancy producer-consumer configurations.
  4. What kind of network do you have? If you are running on the localhost, something like ZeroMQ would probably be the fastest. If you are running on the set of hosts, depends on the interconnections available. E.g. OpenMPI can utilize infiniband/mirynet links.
  5. What kind of processing are you doing? With MPI all processes are usually started at the same time, do the processing and terminate all at once.
like image 197
abbot Avatar answered Oct 08 '22 16:10

abbot