Accelerated execution via eager-release of dependencies in task-based workflows
Task-based programming models offer a flexible way to express the unstructured parallelism patterns of nowadays complex applications. This expressive capability is required to achieve maximum possible performance for applications that are executed in distributed execution platforms. In current task-...
| Autores: | , , , |
|---|---|
| Tipo de recurso: | artículo |
| Fecha de publicación: | 2021 |
| 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/341363 |
| Acceso en línea: | https://hdl.handle.net/2117/341363 https://dx.doi.org/10.1177/1094342021997558 |
| Access Level: | acceso abierto |
| Palabra clave: | High performance computing Parallel programming (Computer science) Task-based workflows Partial dependencies Lazy dependency release Eager dependency release Distributed execution Càlcul intensiu (Informàtica) Programació en paral·lel (Informàtica) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| id |
ES_fca44a1ff5aebb0bfe1698e9d56668fc |
|---|---|
| oai_identifier_str |
oai:upcommons.upc.edu:2117/341363 |
| network_acronym_str |
ES |
| network_name_str |
España |
| repository_id_str |
|
| spelling |
Accelerated execution via eager-release of dependencies in task-based workflowsElshazly, Hatem Mohamed Abdelfattah Eid|||0000-0002-8591-1502Lordan Gomis, Francesc|||0000-0002-9845-8890Ejarque Artigas, JorgeBadia Sala, Rosa Maria|||0000-0003-2941-5499High performance computingParallel programming (Computer science)Task-based workflowsPartial dependenciesLazy dependency releaseEager dependency releaseDistributed executionCàlcul intensiu (Informàtica)Programació en paral·lel (Informàtica)Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadorsTask-based programming models offer a flexible way to express the unstructured parallelism patterns of nowadays complex applications. This expressive capability is required to achieve maximum possible performance for applications that are executed in distributed execution platforms. In current task-based workflows, tasks are launched for execution when their data dependencies are satisfied. However, even though the data dependencies of a certain task might have been already produced, the execution of this task will be delayed until its predecessor tasks completely finish their execution. As a consequence of this approach of releasing dependencies, the amount of parallelism inherent in applications is limited and performance improvement opportunities are wasted. To mitigate this limitation, we propose an eager approach for releasing data dependencies. Following this approach, the execution of tasks will not be delayed until their predecessor tasks completely finish their execution, instead, tasks will be launched for execution as soon as their data requirements are available. Hence, more parallelism is exposed and applications can achieve higher levels of performance by overlapping the execution of tasks. Towards achieving this goal, in this paper we propose applying two changes to task-based workflow systems. First, modifying the dependency relationships of tasks to be specified not only in terms of predecessor and successor tasks but also in terms of the data that caused these dependencies. Second, triggering the release of dependencies as soon as a predecessor task generates the output data instead of having to wait until the end of the predecessor execution to release all of its dependencies. We realize this proposal using PyCOMPSs: a task-based programming model for parallelizing Python applications. Our experiments show that using an eager approach for releasing dependencies achieves more than 50% performance improvement in the total execution time as compared to the default approach of releasing dependencies.This work is partially supported by the European Union through the Horizon 2020 research and innovation programme under contracts 721865 (EXPERTISE Project) by the Spanish Government (SEV2015-0493,TIN2015-65316-P) and the Generalitat de Catalunya (contract 2014-SGR1051).Peer ReviewedSage20212021-07-0120212021-03-10journal articlehttp://purl.org/coar/resource_type/c_6501AMhttp://purl.org/coar/version/c_ab4af688f83e57aainfo:eu-repo/semantics/articleapplication/pdfhttps://hdl.handle.net/2117/341363https://dx.doi.org/10.1177/1094342021997558reponame: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 721865 models, EXperiments and high PERformance computing for Turbine mechanical Integrity and Structural dynamics in Europeopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:upcommons.upc.edu:2117/3413632026-05-27T15:37:01Z |
| dc.title.none.fl_str_mv |
Accelerated execution via eager-release of dependencies in task-based workflows |
| title |
Accelerated execution via eager-release of dependencies in task-based workflows |
| spellingShingle |
Accelerated execution via eager-release of dependencies in task-based workflows Elshazly, Hatem Mohamed Abdelfattah Eid|||0000-0002-8591-1502 High performance computing Parallel programming (Computer science) Task-based workflows Partial dependencies Lazy dependency release Eager dependency release Distributed execution Càlcul intensiu (Informàtica) Programació en paral·lel (Informàtica) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| title_short |
Accelerated execution via eager-release of dependencies in task-based workflows |
| title_full |
Accelerated execution via eager-release of dependencies in task-based workflows |
| title_fullStr |
Accelerated execution via eager-release of dependencies in task-based workflows |
| title_full_unstemmed |
Accelerated execution via eager-release of dependencies in task-based workflows |
| title_sort |
Accelerated execution via eager-release of dependencies in task-based workflows |
| dc.creator.none.fl_str_mv |
Elshazly, Hatem Mohamed Abdelfattah Eid|||0000-0002-8591-1502 Lordan Gomis, Francesc|||0000-0002-9845-8890 Ejarque Artigas, Jorge Badia Sala, Rosa Maria|||0000-0003-2941-5499 |
| author |
Elshazly, Hatem Mohamed Abdelfattah Eid|||0000-0002-8591-1502 |
| author_facet |
Elshazly, Hatem Mohamed Abdelfattah Eid|||0000-0002-8591-1502 Lordan Gomis, Francesc|||0000-0002-9845-8890 Ejarque Artigas, Jorge Badia Sala, Rosa Maria|||0000-0003-2941-5499 |
| author_role |
author |
| author2 |
Lordan Gomis, Francesc|||0000-0002-9845-8890 Ejarque Artigas, Jorge Badia Sala, Rosa Maria|||0000-0003-2941-5499 |
| author2_role |
author author author |
| dc.subject.none.fl_str_mv |
High performance computing Parallel programming (Computer science) Task-based workflows Partial dependencies Lazy dependency release Eager dependency release Distributed execution Càlcul intensiu (Informàtica) Programació en paral·lel (Informàtica) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| topic |
High performance computing Parallel programming (Computer science) Task-based workflows Partial dependencies Lazy dependency release Eager dependency release Distributed execution Càlcul intensiu (Informàtica) Programació en paral·lel (Informàtica) Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| description |
Task-based programming models offer a flexible way to express the unstructured parallelism patterns of nowadays complex applications. This expressive capability is required to achieve maximum possible performance for applications that are executed in distributed execution platforms. In current task-based workflows, tasks are launched for execution when their data dependencies are satisfied. However, even though the data dependencies of a certain task might have been already produced, the execution of this task will be delayed until its predecessor tasks completely finish their execution. As a consequence of this approach of releasing dependencies, the amount of parallelism inherent in applications is limited and performance improvement opportunities are wasted. To mitigate this limitation, we propose an eager approach for releasing data dependencies. Following this approach, the execution of tasks will not be delayed until their predecessor tasks completely finish their execution, instead, tasks will be launched for execution as soon as their data requirements are available. Hence, more parallelism is exposed and applications can achieve higher levels of performance by overlapping the execution of tasks. Towards achieving this goal, in this paper we propose applying two changes to task-based workflow systems. First, modifying the dependency relationships of tasks to be specified not only in terms of predecessor and successor tasks but also in terms of the data that caused these dependencies. Second, triggering the release of dependencies as soon as a predecessor task generates the output data instead of having to wait until the end of the predecessor execution to release all of its dependencies. We realize this proposal using PyCOMPSs: a task-based programming model for parallelizing Python applications. Our experiments show that using an eager approach for releasing dependencies achieves more than 50% performance improvement in the total execution time as compared to the default approach of releasing dependencies. |
| publishDate |
2021 |
| dc.date.none.fl_str_mv |
2021 2021-07-01 2021 2021-03-10 |
| 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/341363 https://dx.doi.org/10.1177/1094342021997558 |
| url |
https://hdl.handle.net/2117/341363 https://dx.doi.org/10.1177/1094342021997558 |
| 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 721865 models, EXperiments and high PERformance computing for Turbine mechanical Integrity and Structural dynamics in Europe |
| dc.rights.none.fl_str_mv |
open access http://purl.org/coar/access_right/c_abf2 |
| 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 |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Sage |
| publisher.none.fl_str_mv |
Sage |
| 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_ |
1869425441051246592 |
| score |
15,300724 |