Cargando…

Concurrent data structures in the ATLAS offline software}

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 efficiently and safely concurrently accessed from many threads. A standard way of achieving this is through mutual exclusion...

Descripción completa

Detalles Bibliográficos
Autor principal: Snyder, Scott
Lenguaje:eng
Publicado: 2019
Materias:
Acceso en línea:http://cds.cern.ch/record/2694042
_version_ 1780964065181433856
author Snyder, Scott
author_facet Snyder, Scott
author_sort Snyder, Scott
collection CERN
description 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 efficiently and safely concurrently accessed from many threads. 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 talk will show some examples of this strategy in data structures used by the ATLAS offline software. It will also give examples of synchronization strategies inspired by read-copy-update, as well as helpers for memoizing values in a multithreaded environment.
id cern-2694042
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2019
record_format invenio
spelling cern-26940422019-10-18T18:44:08Zhttp://cds.cern.ch/record/2694042engSnyder, ScottConcurrent data structures in the ATLAS offline software}Particle Physics - ExperimentIn 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 efficiently and safely concurrently accessed from many threads. 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 talk will show some examples of this strategy in data structures used by the ATLAS offline software. It will also give examples of synchronization strategies inspired by read-copy-update, as well as helpers for memoizing values in a multithreaded environment.ATL-SOFT-SLIDE-2019-780oai:cds.cern.ch:26940422019-10-18
spellingShingle Particle Physics - Experiment
Snyder, Scott
Concurrent data structures in the ATLAS offline software}
title Concurrent data structures in the ATLAS offline software}
title_full Concurrent data structures in the ATLAS offline software}
title_fullStr Concurrent data structures in the ATLAS offline software}
title_full_unstemmed Concurrent data structures in the ATLAS offline software}
title_short Concurrent data structures in the ATLAS offline software}
title_sort concurrent data structures in the atlas offline software}
topic Particle Physics - Experiment
url http://cds.cern.ch/record/2694042
work_keys_str_mv AT snyderscott concurrentdatastructuresintheatlasofflinesoftware