Author(s)
|
Baines, John (Rutherford Appleton Laboratory) ; Bold, Tomasz (AGH University of Science and Technology, Faculty of Physics and Applied Computer Science, Krakow) ; Calafiura, Paolo (Lawrence Berkeley National Laboratory and University of California, Berkeley) ; Cranshaw, Jack (Argonne National Laboratory) ; Dotti, Andrea (SLAC National Accelerator Laboratory) ; Farrell, Steven (Lawrence Berkeley National Laboratory and University of California, Berkeley) ; Leggett, Charles (Lawrence Berkeley National Laboratory and University of California, Berkeley) ; Malon, David (Argonne National Laboratory) ; Stewart, Graeme (University of Glasgow, SUPA - School of Physics and Astronomy) ; Snyder, Scott (Brookhaven National Laboratory (BNL)) ; van Gemmeren, Peter (Argonne National Laboratory) ; Tsulaia, Vakhtang (Lawrence Berkeley National Laboratory and University of California, Berkeley) ; Wynne, Benjamin (University of Edinburgh) |
Abstract
| 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. |