Cargando…
I/O Strategies for Multicore Processing in ATLAS
A critical component of any multicore/manycore application architecture is the handling of input and output. Even in the simplest of models, design decisions interact both in obvious and in subtle ways with persistence strategies. When multiple workers handle I/O independently using distinct instanc...
Autores principales: | , , , , , |
---|---|
Lenguaje: | eng |
Publicado: |
2012
|
Materias: | |
Acceso en línea: | https://dx.doi.org/10.1088/1742-6596/396/2/022054 http://cds.cern.ch/record/1446657 |
_version_ | 1780924807318077440 |
---|---|
author | van Gemmeren, P Binet, S Calafiura, P Lavrijsen, W Malon, D Tsulaia, V |
author_facet | van Gemmeren, P Binet, S Calafiura, P Lavrijsen, W Malon, D Tsulaia, V |
author_sort | van Gemmeren, P |
collection | CERN |
description | A critical component of any multicore/manycore application architecture is the handling of input and output. Even in the simplest of models, design decisions interact both in obvious and in subtle ways with persistence strategies. When multiple workers handle I/O independently using distinct instances of a serial I/O framework, for example, it may happen that because of the way data from consecutive events are compressed together, there may be serious inefficiencies, with workers redundantly reading the same buffers, or multiple instances thereof. With shared reader strategies, caching and buffer management by the persistence infrastructure and by the control framework may have decisive performance implications for a variety of design choices. Providing the next event may seem straightforward when all event data are contiguously stored in a block, but there may be performance penalties to such strategies when only a subset of a given event's data are needed; conversely, when event data are partitioned by type in persistent storage, providing the next event becomes more complicated, requiring marshalling of data from many I/O buffers. Output strategies pose similarly subtle problems, with complications that may lead to significant serialization and the possibility of serial bottlenecks, either during writing or in post-processing, e.g., during data stream merging. In this paper we describe the I/O components of AthenaMP, the multicore implementation of the ATLAS control framework, and the considerations that have led to the current design, with attention to how these I/O components interact with ATLAS persistent data organization and infrastructure. |
id | cern-1446657 |
institution | Organización Europea para la Investigación Nuclear |
language | eng |
publishDate | 2012 |
record_format | invenio |
spelling | cern-14466572019-09-30T06:29:59Zdoi:10.1088/1742-6596/396/2/022054http://cds.cern.ch/record/1446657engvan Gemmeren, PBinet, SCalafiura, PLavrijsen, WMalon, DTsulaia, VI/O Strategies for Multicore Processing in ATLASDetectors and Experimental TechniquesA critical component of any multicore/manycore application architecture is the handling of input and output. Even in the simplest of models, design decisions interact both in obvious and in subtle ways with persistence strategies. When multiple workers handle I/O independently using distinct instances of a serial I/O framework, for example, it may happen that because of the way data from consecutive events are compressed together, there may be serious inefficiencies, with workers redundantly reading the same buffers, or multiple instances thereof. With shared reader strategies, caching and buffer management by the persistence infrastructure and by the control framework may have decisive performance implications for a variety of design choices. Providing the next event may seem straightforward when all event data are contiguously stored in a block, but there may be performance penalties to such strategies when only a subset of a given event's data are needed; conversely, when event data are partitioned by type in persistent storage, providing the next event becomes more complicated, requiring marshalling of data from many I/O buffers. Output strategies pose similarly subtle problems, with complications that may lead to significant serialization and the possibility of serial bottlenecks, either during writing or in post-processing, e.g., during data stream merging. In this paper we describe the I/O components of AthenaMP, the multicore implementation of the ATLAS control framework, and the considerations that have led to the current design, with attention to how these I/O components interact with ATLAS persistent data organization and infrastructure.ATL-SOFT-PROC-2012-014oai:cds.cern.ch:14466572012-05-08 |
spellingShingle | Detectors and Experimental Techniques van Gemmeren, P Binet, S Calafiura, P Lavrijsen, W Malon, D Tsulaia, V I/O Strategies for Multicore Processing in ATLAS |
title | I/O Strategies for Multicore Processing in ATLAS |
title_full | I/O Strategies for Multicore Processing in ATLAS |
title_fullStr | I/O Strategies for Multicore Processing in ATLAS |
title_full_unstemmed | I/O Strategies for Multicore Processing in ATLAS |
title_short | I/O Strategies for Multicore Processing in ATLAS |
title_sort | i/o strategies for multicore processing in atlas |
topic | Detectors and Experimental Techniques |
url | https://dx.doi.org/10.1088/1742-6596/396/2/022054 http://cds.cern.ch/record/1446657 |
work_keys_str_mv | AT vangemmerenp iostrategiesformulticoreprocessinginatlas AT binets iostrategiesformulticoreprocessinginatlas AT calafiurap iostrategiesformulticoreprocessinginatlas AT lavrijsenw iostrategiesformulticoreprocessinginatlas AT malond iostrategiesformulticoreprocessinginatlas AT tsulaiav iostrategiesformulticoreprocessinginatlas |