DOE OSTI · 1798467
Concurrent data structures in the ATLAS offline software
Abstract
In preparation for Run 3 of the LHC, the ATLAS experiment is modifying its offline software to be fully multithreaded. An important part of this is data structures that can be concurrently accessed from many threads both efficiently and safely. A standard way of achieving this is through mutual exclusion; however, the overhead from this can sometimes be excessive. Fully lockless implementations are known for some data structures; however, they are typically complex, and the overhead they require can sometimes be larger than that required for locking implementations. An interesting compromise is to allow lockless access only for reading but not for writing. This often allows the data structures to be much simpler, while still giving good performance for read-mostly access patterns. This proceeding shows some examples of this strategy in data structures used by the ATLAS offline software. It also gives examples of synchronization strategies inspired by read-copy-update, as well as helpers for memorizing values in a multithreaded environment.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Snyder, Scott. 2019-11-04. Concurrent data structures in the ATLAS offline software. https://doi.org/10.1051/epjconf%2F202024505007
Cite the original work for its findings. Save a collection to share your selection of sources.