Nothing Special   »   [go: up one dir, main page]

CERN Accelerating science

ATLAS Slides
Report number ATL-DAQ-SLIDE-2019-848
Title Event-driven RDMA network communication in the ATLAS DAQ system with NetIO
Author(s) Schumacher, Jorn (European Laboratory for Particle Physics, CERN)
Corporate author(s) The ATLAS collaboration
Collaboration ATLAS Collaboration
Submitted to 24th International Conference on Computing in High Energy and Nuclear Physics, Adelaide, Australia, 4 - 8 Nov 2019
Submitted by jorn.schumacher@cern.ch on 15 Nov 2019
Subject category Particle Physics - Experiment
Accelerator/Facility, Experiment CERN LHC ; ATLAS
Free keywords Data acquisition ; Software frameworks ; Networking
Abstract Event-driven RDMA network communication in the ATLAS DAQ system with NetIO NetIO is a network communication library that enables distributed applications to exchange messages using high-level communication patterns such as publish/subscribe. NetIO is based on libfabric and supports various types of RDMA networks, for example Infiniband, RoCE, or OmniPath. NetIO is currently being used in the data acquisition chain of the ATLAS experiment Major parts of NetIO were recently rewritten using a novel, event-driven approach. All actions are processed asynchronously by a single-threaded central event loop. The event loop is backed by the Linux epoll system. The event-driven design implies that software written with NetIO uses callbacks to react to events. The motivation for the architectural modifications to NetIO was to improve processing efficiency. Initial benchmarks show that the updated NetIO implementation yields the same or higher throughput, while the CPU resource utilization is reduced by an order of magnitude. The cause for this efficiency gain is largely due to significantly reduced thread synchronization, that became obsolete in the event driven approach. The paper will show this architecture is very suitable for IO-heavy workloads that are typically found in DAQ systems of High-Energy Physics experiments. The event-driven architecture will be explained in detail and compared with the original NetIO. The challenges of writing event-driven code are identified. A performance study of the event-driven NetIO in comparison with the original implementation as well as other RDMA networking solutions will be given.



 Registro creado el 2019-11-15, última modificación el 2019-11-15


Texto completo:
Descargar el texto completoPDF
Enlace externo:
Descargar el texto completoOriginal Communication (restricted to ATLAS)