Experience with multi-threaded C++ applications in the ATLAS DataFlow software
S.Gadomski, et al

TL;DR
This paper shares practical insights and experiences from developing multi-threaded C++ applications within the ATLAS DataFlow system, highlighting challenges and solutions in a real-time Linux environment.
Contribution
It provides an in-depth account of using POSIX threads and STL in a high-performance, real-time data acquisition system for particle physics experiments.
Findings
Effective multi-threaded design strategies for real-time data processing
Challenges faced with POSIX threads in high-throughput environments
Lessons learned for developing reliable C++ applications in scientific computing
Abstract
The DataFlow is sub-system of the ATLAS data acquisition responsible for the reception, buffering and subsequent movement of partial and full event data to the higher level triggers: Level 2 and Event Filter. The design of the software is based on OO methodology and its implementation relies heavily on the use of posix threads and the Standard Template Library. This article presents our experience with Linux, posix threads and the Standard Template Library in the real time environment of the ATLAS data flow.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Particle Detector Development and Performance · Advanced Data Storage Technologies
