AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading

ATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Eve...

Descripción completa

Detalles Bibliográficos
Autores principales: Leggett, Charles, Baines, John, Bold, Tomasz, Calafiura, Paolo, Farrell, Steven, Malon, David, Ritsch, Elmar, Stewart, Graeme, Snyder, Scott, Tsulaia, Vakhtang, Wynne, Benjamin, van Gemmeren, Peter
Lenguaje:eng
Publicado: 2016
Materias:
Acceso en línea:http://cds.cern.ch/record/2222298
_version_ 1780952296229699584
author Leggett, Charles
Baines, John
Bold, Tomasz
Calafiura, Paolo
Farrell, Steven
Malon, David
Ritsch, Elmar
Stewart, Graeme
Snyder, Scott
Tsulaia, Vakhtang
Wynne, Benjamin
van Gemmeren, Peter
author_facet Leggett, Charles
Baines, John
Bold, Tomasz
Calafiura, Paolo
Farrell, Steven
Malon, David
Ritsch, Elmar
Stewart, Graeme
Snyder, Scott
Tsulaia, Vakhtang
Wynne, Benjamin
van Gemmeren, Peter
author_sort Leggett, Charles
collection CERN
description ATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Even the multi-process version of Athena, AthenaMP, will not scale to the range of architectures we expect to use beyond Run2. After concluding a rigorous requirements phase, where many design components were examined in detail, ATLAS has begun the migration to a new data-flow driven, multi-threaded framework, which enables the simultaneous processing of singleton, thread unsafe legacy Algorithms, cloned Algorithms that execute concurrently in their own threads with different Event contexts, and fully re-entrant, thread safe Algorithms. In this paper we will report on the process of modifying the framework to safely process multiple concurrent events in different threads, which entails significant changes in the underlying handling of features such as event and time dependent data, asynchronous callbacks, metadata, integration with the Online High Level Trigger for partial processing in certain regions of interest, concurrent I/O, as well as ensuring thread safety of core services. We will also report on the migration of user code to the new framework, including that of upgrading select Algorithms to be fully re-entrant.
id cern-2222298
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2016
record_format invenio
spelling cern-22222982019-09-30T06:29:59Zhttp://cds.cern.ch/record/2222298engLeggett, CharlesBaines, JohnBold, TomaszCalafiura, PaoloFarrell, StevenMalon, DavidRitsch, ElmarStewart, GraemeSnyder, ScottTsulaia, VakhtangWynne, Benjaminvan Gemmeren, PeterAthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-ThreadingParticle Physics - ExperimentATLAS's current software framework, Gaudi/Athena, has been very successful for the experiment in LHC Runs 1 and 2. However, its single threaded design has been recognised for some time to be increasingly problematic as CPUs have increased core counts and decreased available memory per core. Even the multi-process version of Athena, AthenaMP, will not scale to the range of architectures we expect to use beyond Run2. After concluding a rigorous requirements phase, where many design components were examined in detail, ATLAS has begun the migration to a new data-flow driven, multi-threaded framework, which enables the simultaneous processing of singleton, thread unsafe legacy Algorithms, cloned Algorithms that execute concurrently in their own threads with different Event contexts, and fully re-entrant, thread safe Algorithms. In this paper we will report on the process of modifying the framework to safely process multiple concurrent events in different threads, which entails significant changes in the underlying handling of features such as event and time dependent data, asynchronous callbacks, metadata, integration with the Online High Level Trigger for partial processing in certain regions of interest, concurrent I/O, as well as ensuring thread safety of core services. We will also report on the migration of user code to the new framework, including that of upgrading select Algorithms to be fully re-entrant.ATL-SOFT-SLIDE-2016-786oai:cds.cern.ch:22222982016-10-06
spellingShingle Particle Physics - Experiment
Leggett, Charles
Baines, John
Bold, Tomasz
Calafiura, Paolo
Farrell, Steven
Malon, David
Ritsch, Elmar
Stewart, Graeme
Snyder, Scott
Tsulaia, Vakhtang
Wynne, Benjamin
van Gemmeren, Peter
AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title_full AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title_fullStr AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title_full_unstemmed AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title_short AthenaMT: Upgrading the ATLAS Software Framework for the Many-Core World with Multi-Threading
title_sort athenamt: upgrading the atlas software framework for the many-core world with multi-threading
topic Particle Physics - Experiment
url http://cds.cern.ch/record/2222298
work_keys_str_mv AT leggettcharles athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT bainesjohn athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT boldtomasz athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT calafiurapaolo athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT farrellsteven athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT malondavid athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT ritschelmar athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT stewartgraeme athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT snyderscott athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT tsulaiavakhtang athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT wynnebenjamin athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading
AT vangemmerenpeter athenamtupgradingtheatlassoftwareframeworkforthemanycoreworldwithmultithreading