ZeroMQ#

ZeroMQ (also known as 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply. It’s fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.

Read more about ZeroMQ on their website.

Licensing#

The libzmq library is licensed under the GNU Lesser General Public License V3 plus a static linking exception.

The ZeroMQ module on the HPC#

The ZeroMQ module can be loaded into your environment with the following command:

$ module add zeromq

The ZeroMQ module is available on ARC3:

System

Version

Command

ARC3

zeromq 4.3.1

module add zeromq/4.3.1