// readme

FairMQ

C++ Message Queuing Library and Framework

Docs: Book

Find all FairMQ releases here.

Introduction

FairMQ is designed to help implementing large-scale data processing workflows needed in next-generation Particle Physics experiments. FairMQ is written in C++ and aims to

  • provide an asynchronous message passing abstraction of different data transport technologies,
  • provide a reasonably efficient data transport service (zero-copy, high throughput),
  • be data format agnostic, and
  • provide basic building blocks that can be used to implement higher level data processing workflows.

The core of FairMQ provides an abstract asynchronous message passing API with scalability protocols inspired by ZeroMQ (e.g. PUSH/PULL, PUB/SUB). FairMQ provides multiple implementations for its API (so-called β€œtransports”, e.g. zeromq and shmem (latest release of the ofi transport in v1.4.56, removed since v1.5+)) to cover a variety of use cases (e.g. inter-thread, inter-process, inter-node…