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...

Descripción completa

Detalles Bibliográficos
Autores principales: Bramas, Bérenger, Ketterlin, Alain
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