Cargando…

Managing Asynchronous Data in ATLAS's Concurrent Framework

In order to be able to make effective use of emerging hardware, where the amount of memory available to any CPU is rapidly decreasing as the core count continues to rise, ATLAS has begun a migration to a concurrent, multi-threaded software framework, known as AthenaMT. Significant progress has been...

Descripción completa

Detalles Bibliográficos
Autores principales: Baines, John, Bold, Tomasz, Calafiura, Paolo, Cranshaw, Jack, Dotti, Andrea, Farrell, Steven, Leggett, Charles, Malon, David, Stewart, Graeme, Snyder, Scott, van Gemmeren, Peter, Tsulaia, Vakhtang, Wynne, Benjamin
Lenguaje:eng
Publicado: 2016
Materias:
Acceso en línea:http://cds.cern.ch/record/2205187
Descripción
Sumario:In order to be able to make effective use of emerging hardware, where the amount of memory available to any CPU is rapidly decreasing as the core count continues to rise, ATLAS has begun a migration to a concurrent, multi-threaded software framework, known as AthenaMT. Significant progress has been made in implementing AthenaMT - we can currently run realistic Geant4 simulations on massively concurrent machines. the migration of realistic prototypes of reconstruction workflows is more difficult, given the large amounts of legacy code and the complexity and challenges of reconstruction software. These types of workflows, however, are the types that will most benefit from the memory reduction features of a multi-threaded framework. One of the challenges that we will report on in this paper is the re-design and implementation of several key asynchronous technologies whose behaviour is radically different in a concurrent environment than in a serial one, namely the management of Conditions data and the Detector Description, and the handling of asynchronous notifications (such as FileOpen). Since asynchronous data, such as Conditions or detector geometry, has a lifetime different than that of event data, it cannot be kept in the Event Store. However, multiple instances of the data need to be simultaneously accessible, such that concurrent events that are, for example processing conditions data from different validity intervals, can be executed concurrently in an efficient manner with low memory overhead, and without multi-threaded conflicts.