Tasking framework for Adaptive Speculative Parallel Mesh Generation

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Tsolakis, Christos, Thomadakis, Polykarpos, Chrisochoides, Nikos
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910426431750144
author Tsolakis, Christos
Thomadakis, Polykarpos
Chrisochoides, Nikos
author_facet Tsolakis, Christos
Thomadakis, Polykarpos
Chrisochoides, Nikos
contents Handling the ever-increasing complexity of mesh generation codes along with the intricacies of newer hardware often results in codes that are both difficult to comprehend and maintain. Different facets of codes such as thread management and load balancing are often intertwined, resulting in efficient but highly complex software. In this work, we present a framework which aids in establishing a core principle, deemed separation of concerns, where functionality is separated from performance aspects of various mesh operations. In particular, thread management and scheduling decisions are elevated into a generic and reusable tasking framework. The results indicate that our approach can successfully abstract the load balancing aspects of two case studies, while providing access to a plethora of different execution back-ends. One would expect, this new flexibility to lead to some additional cost. However, for the configurations studied in this work, we observed up to 13% speedup for some meshing operations and up to 5.8% speedup over the entire application runtime compared to hand-optimized code. Moreover, we show that by using different task creation strategies, the overhead compared to straight-forward task execution models can be improved dramatically by as much as 1200% without compromises in portability and functionality.
format Preprint
id arxiv_https___arxiv_org_abs_2404_18023
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Tasking framework for Adaptive Speculative Parallel Mesh Generation
Tsolakis, Christos
Thomadakis, Polykarpos
Chrisochoides, Nikos
Distributed, Parallel, and Cluster Computing
Handling the ever-increasing complexity of mesh generation codes along with the intricacies of newer hardware often results in codes that are both difficult to comprehend and maintain. Different facets of codes such as thread management and load balancing are often intertwined, resulting in efficient but highly complex software. In this work, we present a framework which aids in establishing a core principle, deemed separation of concerns, where functionality is separated from performance aspects of various mesh operations. In particular, thread management and scheduling decisions are elevated into a generic and reusable tasking framework. The results indicate that our approach can successfully abstract the load balancing aspects of two case studies, while providing access to a plethora of different execution back-ends. One would expect, this new flexibility to lead to some additional cost. However, for the configurations studied in this work, we observed up to 13% speedup for some meshing operations and up to 5.8% speedup over the entire application runtime compared to hand-optimized code. Moreover, we show that by using different task creation strategies, the overhead compared to straight-forward task execution models can be improved dramatically by as much as 1200% without compromises in portability and functionality.
title Tasking framework for Adaptive Speculative Parallel Mesh Generation
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2404.18023