Cargando…
Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering
The task-based approach is a parallelization paradigm in which an algorithm is transformed into a direct acyclic graph of tasks: the vertices are computational elements extracted from the original algorithm and the edges are dependencies between those. During the execution, the management of the dep...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
PeerJ Inc.
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924455/ https://www.ncbi.nlm.nih.gov/pubmed/33816899 http://dx.doi.org/10.7717/peerj-cs.247 |
_version_ | 1783659093597093888 |
---|---|
author | Bramas, Bérenger Ketterlin, Alain |
author_facet | Bramas, Bérenger Ketterlin, Alain |
author_sort | Bramas, Bérenger |
collection | PubMed |
description | The task-based approach is a parallelization paradigm in which an algorithm is transformed into a direct acyclic graph of tasks: the vertices are computational elements extracted from the original algorithm and the edges are dependencies between those. During the execution, the management of the dependencies adds an overhead that can become significant when the computational cost of the tasks is low. A possibility to reduce the makespan is to aggregate the tasks to make them heavier, while having fewer of them, with the objective of mitigating the importance of the overhead. In this paper, we study an existing clustering/partitioning strategy to speed up the parallel execution of a task-based application. We provide two additional heuristics to this algorithm and perform an in-depth study on a large graph set. In addition, we propose a new model to estimate the execution duration and use it to choose the proper granularity. We show that this strategy allows speeding up a real numerical application by a factor of 7 on a multi-core system. |
format | Online Article Text |
id | pubmed-7924455 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
publisher | PeerJ Inc. |
record_format | MEDLINE/PubMed |
spelling | pubmed-79244552021-04-02 Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering Bramas, Bérenger Ketterlin, Alain PeerJ Comput Sci Algorithms and Analysis of Algorithms The task-based approach is a parallelization paradigm in which an algorithm is transformed into a direct acyclic graph of tasks: the vertices are computational elements extracted from the original algorithm and the edges are dependencies between those. During the execution, the management of the dependencies adds an overhead that can become significant when the computational cost of the tasks is low. A possibility to reduce the makespan is to aggregate the tasks to make them heavier, while having fewer of them, with the objective of mitigating the importance of the overhead. In this paper, we study an existing clustering/partitioning strategy to speed up the parallel execution of a task-based application. We provide two additional heuristics to this algorithm and perform an in-depth study on a large graph set. In addition, we propose a new model to estimate the execution duration and use it to choose the proper granularity. We show that this strategy allows speeding up a real numerical application by a factor of 7 on a multi-core system. PeerJ Inc. 2020-01-13 /pmc/articles/PMC7924455/ /pubmed/33816899 http://dx.doi.org/10.7717/peerj-cs.247 Text en ©2020 Bramas and Ketterlin https://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. |
spellingShingle | Algorithms and Analysis of Algorithms Bramas, Bérenger Ketterlin, Alain Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title | Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title_full | Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title_fullStr | Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title_full_unstemmed | Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title_short | Improving parallel executions by increasing task granularity in task-based runtime systems using acyclic DAG clustering |
title_sort | improving parallel executions by increasing task granularity in task-based runtime systems using acyclic dag clustering |
topic | Algorithms and Analysis of Algorithms |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924455/ https://www.ncbi.nlm.nih.gov/pubmed/33816899 http://dx.doi.org/10.7717/peerj-cs.247 |
work_keys_str_mv | AT bramasberenger improvingparallelexecutionsbyincreasingtaskgranularityintaskbasedruntimesystemsusingacyclicdagclustering AT ketterlinalain improvingparallelexecutionsbyincreasingtaskgranularityintaskbasedruntimesystemsusingacyclicdagclustering |