Asynchronous runtime with distributed manager for task-based programming models
Parallel task-based programming models, like OpenMP, allow application developers to easily create a parallel version of their sequential codes. The standard OpenMP 4.0 introduced the possibility of describing a set of data dependences per task that the runtime uses to order the tasks execution. Thi...
| Autores: | , , , , |
|---|---|
| Tipo de recurso: | artículo |
| Fecha de publicación: | 2020 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/330058 |
| Acceso en línea: | https://hdl.handle.net/2117/330058 https://dx.doi.org/10.1016/j.parco.2020.102664 |
| Access Level: | acceso abierto |
| Palabra clave: | Parallel programming (Computer science) Application program interfaces (Computer software) OmpSs OpenMP Task-based Task-graph Dependence manager Runtime Programació en paral·lel (Informàtica) Interfícies de programació d'aplicacions (Programari) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| id |
ES_d370f915d2600a0d40e6c9531b18522a |
|---|---|
| oai_identifier_str |
oai:upcommons.upc.edu:2117/330058 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Asynchronous runtime with distributed manager for task-based programming modelsBosch Pons, Jaume|||0000-0002-4040-3416Álvarez Martínez, Carlos|||0000-0003-0536-5183Jiménez González, Daniel|||0000-0001-6064-7883Martorell Bofill, Xavier|||0000-0002-0417-3430Ayguadé Parra, Eduard|||0000-0002-5146-103XParallel programming (Computer science)Application program interfaces (Computer software)OmpSsOpenMPTask-basedTask-graphDependence managerRuntimeProgramació en paral·lel (Informàtica)Interfícies de programació d'aplicacions (Programari)Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadorsParallel task-based programming models, like OpenMP, allow application developers to easily create a parallel version of their sequential codes. The standard OpenMP 4.0 introduced the possibility of describing a set of data dependences per task that the runtime uses to order the tasks execution. This order is calculated using shared graphs, which are updated by all threads in exclusive access using synchronization mechanisms (locks) to ensure the dependence management correctness. The contention in the access to these structures becomes critical in many-core systems because several threads may be wasting computation resources waiting their turn. This paper proposes an asynchronous management of the runtime structures, like task dependence graphs, suitable for task-based programming model runtimes. In such organization, the threads request actions to the runtime instead of doing them directly. The requests are then handled by a distributed runtime manager (DDAST) which does not require dedicated resources. Instead, the manager uses the idle threads to modify the runtime structures. The paper also presents an implementation, analysis and performance evaluation of such runtime organization. The performance results show that the proposed asynchronous organization outperforms the speedup obtained by the original runtime for different benchmarks and different many-core architectures.This work is partially supported by the European Union H2020 Research and Innovation Action (projects 801051, 754337 and 780681), by the Spanish Government (projects SEV-2015-0493 and TIN2015-65316-P, grant BES-2016-078046), and by the Generalitat de Catalunya (contracts 2017-SGR-1414 and 2017-SGR-1328).Peer Reviewed20202020-09-0120202020-10-08journal articlehttp://purl.org/coar/resource_type/c_6501AMhttp://purl.org/coar/version/c_ab4af688f83e57aainfo:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/2117/330058https://dx.doi.org/10.1016/j.parco.2020.102664reponame:UPCommons. Portal del coneixement obert de la UPCinstname:Universitat Politècnica de Catalunya (UPC)InglésengMinisterio de Economía y Competitividad http://doi.org/10.13039/501100003329 TIN2015-65316-P COMPUTACION DE ALTAS PRESTACIONES VIIEuropean Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 801051 European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing (EPEEC)European Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 754337 Co-designed Innovation and System for Resilient Exascale Computing in Europe: From Applications to SiliconEuropean Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 780681 Low Energy Toolset for Heterogeneous ComputingMinisterio de Economía y Competitividad http://doi.org/10.13039/501100003329 SEV-2015-0493 BARCELONA SUPERCOMPUTING CENTER - CENTRO. NACIONAL DE SUPERCOMPUTACIONopen accesshttp://purl.org/coar/access_right/c_abf2Attribution-NonCommercial-NoDerivatives 4.0 Internationalhttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessoai:upcommons.upc.edu:2117/3300582026-05-27T15:37:01Z |
| dc.title.none.fl_str_mv |
Asynchronous runtime with distributed manager for task-based programming models |
| title |
Asynchronous runtime with distributed manager for task-based programming models |
| spellingShingle |
Asynchronous runtime with distributed manager for task-based programming models Bosch Pons, Jaume|||0000-0002-4040-3416 Parallel programming (Computer science) Application program interfaces (Computer software) OmpSs OpenMP Task-based Task-graph Dependence manager Runtime Programació en paral·lel (Informàtica) Interfícies de programació d'aplicacions (Programari) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| title_short |
Asynchronous runtime with distributed manager for task-based programming models |
| title_full |
Asynchronous runtime with distributed manager for task-based programming models |
| title_fullStr |
Asynchronous runtime with distributed manager for task-based programming models |
| title_full_unstemmed |
Asynchronous runtime with distributed manager for task-based programming models |
| title_sort |
Asynchronous runtime with distributed manager for task-based programming models |
| dc.creator.none.fl_str_mv |
Bosch Pons, Jaume|||0000-0002-4040-3416 Álvarez Martínez, Carlos|||0000-0003-0536-5183 Jiménez González, Daniel|||0000-0001-6064-7883 Martorell Bofill, Xavier|||0000-0002-0417-3430 Ayguadé Parra, Eduard|||0000-0002-5146-103X |
| author |
Bosch Pons, Jaume|||0000-0002-4040-3416 |
| author_facet |
Bosch Pons, Jaume|||0000-0002-4040-3416 Álvarez Martínez, Carlos|||0000-0003-0536-5183 Jiménez González, Daniel|||0000-0001-6064-7883 Martorell Bofill, Xavier|||0000-0002-0417-3430 Ayguadé Parra, Eduard|||0000-0002-5146-103X |
| author_role |
author |
| author2 |
Álvarez Martínez, Carlos|||0000-0003-0536-5183 Jiménez González, Daniel|||0000-0001-6064-7883 Martorell Bofill, Xavier|||0000-0002-0417-3430 Ayguadé Parra, Eduard|||0000-0002-5146-103X |
| author2_role |
author author author author |
| dc.subject.none.fl_str_mv |
Parallel programming (Computer science) Application program interfaces (Computer software) OmpSs OpenMP Task-based Task-graph Dependence manager Runtime Programació en paral·lel (Informàtica) Interfícies de programació d'aplicacions (Programari) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| topic |
Parallel programming (Computer science) Application program interfaces (Computer software) OmpSs OpenMP Task-based Task-graph Dependence manager Runtime Programació en paral·lel (Informàtica) Interfícies de programació d'aplicacions (Programari) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| description |
Parallel task-based programming models, like OpenMP, allow application developers to easily create a parallel version of their sequential codes. The standard OpenMP 4.0 introduced the possibility of describing a set of data dependences per task that the runtime uses to order the tasks execution. This order is calculated using shared graphs, which are updated by all threads in exclusive access using synchronization mechanisms (locks) to ensure the dependence management correctness. The contention in the access to these structures becomes critical in many-core systems because several threads may be wasting computation resources waiting their turn. This paper proposes an asynchronous management of the runtime structures, like task dependence graphs, suitable for task-based programming model runtimes. In such organization, the threads request actions to the runtime instead of doing them directly. The requests are then handled by a distributed runtime manager (DDAST) which does not require dedicated resources. Instead, the manager uses the idle threads to modify the runtime structures. The paper also presents an implementation, analysis and performance evaluation of such runtime organization. The performance results show that the proposed asynchronous organization outperforms the speedup obtained by the original runtime for different benchmarks and different many-core architectures. |
| publishDate |
2020 |
| dc.date.none.fl_str_mv |
2020 2020-09-01 2020 2020-10-08 |
| dc.type.none.fl_str_mv |
journal article http://purl.org/coar/resource_type/c_6501 AM http://purl.org/coar/version/c_ab4af688f83e57aa |
| dc.type.openaire.fl_str_mv |
info:eu-repo/semantics/article |
| format |
article |
| dc.identifier.none.fl_str_mv |
https://hdl.handle.net/2117/330058 https://dx.doi.org/10.1016/j.parco.2020.102664 |
| url |
https://hdl.handle.net/2117/330058 https://dx.doi.org/10.1016/j.parco.2020.102664 |
| dc.language.none.fl_str_mv |
Inglés eng |
| language_invalid_str_mv |
Inglés |
| language |
eng |
| dc.relation.none.fl_str_mv |
Ministerio de Economía y Competitividad http://doi.org/10.13039/501100003329 TIN2015-65316-P COMPUTACION DE ALTAS PRESTACIONES VII European Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 801051 European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing (EPEEC) European Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 754337 Co-designed Innovation and System for Resilient Exascale Computing in Europe: From Applications to Silicon European Commission http://doi.org/10.13039/100010661 Horizon 2020 Framework Programme 780681 Low Energy Toolset for Heterogeneous Computing Ministerio de Economía y Competitividad http://doi.org/10.13039/501100003329 SEV-2015-0493 BARCELONA SUPERCOMPUTING CENTER - CENTRO. NACIONAL DE SUPERCOMPUTACION |
| dc.rights.none.fl_str_mv |
open access http://purl.org/coar/access_right/c_abf2 Attribution-NonCommercial-NoDerivatives 4.0 International https://creativecommons.org/licenses/by-nc-nd/4.0/ |
| dc.rights.openaire.fl_str_mv |
info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
open access http://purl.org/coar/access_right/c_abf2 Attribution-NonCommercial-NoDerivatives 4.0 International https://creativecommons.org/licenses/by-nc-nd/4.0/ |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.source.none.fl_str_mv |
reponame:UPCommons. Portal del coneixement obert de la UPC instname:Universitat Politècnica de Catalunya (UPC) |
| instname_str |
Universitat Politècnica de Catalunya (UPC) |
| reponame_str |
UPCommons. Portal del coneixement obert de la UPC |
| collection |
UPCommons. Portal del coneixement obert de la UPC |
| repository.name.fl_str_mv |
|
| repository.mail.fl_str_mv |
|
| _version_ |
1869420459987042304 |
| score |
15,301603 |