mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
Add references
This commit is contained in:
parent
6b619e68e0
commit
bb99a66dd9
16
readme.md
16
readme.md
|
@ -1,17 +1,17 @@
|
||||||
FairMQ in a nutshell
|
## FairMQ in a nutshell
|
||||||
|
|
||||||
Next-generation Particle Physics Experiments at FAIR and CERN are facing unprecedented data processing challenges. High detector data readout rates alone already require a non-trivial amount of distributed compute resources in the order of hundreds of servers per experiment. To achieve sufficient data compression rates in order to stay within the limits of economically feasible data storage capacity requirements, the complexity of tasks that need to be performed during the synchronous (online) data processing is significantly increased as well compared to previous generations of experiments.
|
Next-generation Particle Physics Experiments at [GSI](https://www.gsi.de)/[FAIR](https://www.gsi.de/forschungbeschleuniger/fair) and [CERN](https://home.web.cern.ch/) are facing unprecedented data processing challenges. High detector data readout rates alone already require a non-trivial amount of distributed compute resources in the order of hundreds of servers per experiment. To achieve sufficient data compression rates in order to stay within the limits of economically feasible data storage capacity requirements, the complexity of tasks that need to be performed during the synchronous (online) data processing is significantly increased as well compared to previous generations of experiments.
|
||||||
|
|
||||||
The FairMQ C++ library is designed to aid the implementation of such large-scale online data processing workflows by
|
The FairMQ C++ library is designed to aid the implementation of such large-scale online data processing workflows by
|
||||||
* providing an asynchronous message passing abstraction that integrates different existing data transport technologies (no need to re-invent the wheel),
|
* providing an **asynchronous message passing abstraction** that integrates different existing data transport technologies (no need to re-invent the wheel),
|
||||||
* providing a reasonably efficient data transport service (zero-copy, high throughput - TCP, SHMEM, and RDMA implementations available),
|
* providing a **reasonably efficient data transport service** (zero-copy, high throughput - TCP, SHMEM, and RDMA implementations available),
|
||||||
* being data format agnostic (suitable data formats are usually experiment-specific), and
|
* being **data format agnostic** (suitable data formats are usually experiment-specific), and
|
||||||
* providing other basic building blocks such as a simple state machine based execution framework and a plugin mechanism to integrate with external config/control systems.
|
* providing other **basic building blocks** such as a simple state machine based execution framework and a plugin mechanism to integrate with external config/control systems.
|
||||||
|
|
||||||
FairMQ is not an end-user application, but a library and framework used by experiment software experts to implement higher-level experiment-specific applications.
|
FairMQ is not an end-user application, but a library and framework used by experiment software experts to implement higher-level experiment-specific applications.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The screenshot shows a visualization of the data processing workflow on a single Alice event processing node (The "O2 Framework debug GUI" tool in the screenshot is part of the AliceO2 project). Data logically flows along the yellow edges (in this case via the FairMQ shmem data transport) through the various processing stages of which some are implemented as GPU and others as CPU algorithms.
|
The screenshot shows a visualization of the data processing workflow on a single [Alice](https://home.cern/science/experiments/alice) event processing node (The "O2 Framework debug GUI" tool in the screenshot is part of the [AliceO2 project](https://aliceo2group.github.io/AliceO2/)). Data logically flows along the yellow edges (in this case via the FairMQ shmem data transport) through the various processing stages of which some are implemented as GPU and others as CPU algorithms.
|
||||||
|
|
||||||
(TODO Although FairMQ was initially designed for the synchronous (online) data processing, it has been succesfully used to parallelize asynchronous (offline) simulation and analysis tasks. references?)
|
Although FairMQ was initially designed for the synchronous (online) data processing, it has been succesfully used to parallelize asynchronous (offline) simulation and analysis tasks. (TODO references?)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user