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
?
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.
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.
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.
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.
There is no single correct answer to such question. It all depends on a big number of different factors. For example:
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.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With