A New Execution Model and Executor for Adaptively Optimizing the Performance of Parallel Algorithms Using HPX Runtime System

Developing parallel algorithms efficiently requires careful management of concurrency across diverse hardware architectures. C++ executors provide a standardized interface that simplifies the development process, allowing developers to write portable and uniform code. However, in some cases, they ma...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:SN computer science Ročník 6; číslo 8; s. 911
Hlavní autori: Mohammadiporshokooh, Karame, Brandt, Steven R., Kaiser, Hartmut
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Singapore Springer Nature Singapore 01.12.2025
Springer Nature B.V
Predmet:
ISSN:2661-8907, 2662-995X, 2661-8907
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:Developing parallel algorithms efficiently requires careful management of concurrency across diverse hardware architectures. C++ executors provide a standardized interface that simplifies the development process, allowing developers to write portable and uniform code. However, in some cases, they may not fully leverage hardware capabilities or optimally allocate resources for specific workloads, leading to potential performance inefficiencies. Building on our earlier conference paper [Adaptively Optimizing the Performance of HPX's Parallel Algorithms], which introduced a preliminary strategy based on cores and chunking (workload), and integrated it into HPX’s executor API, that dynamically optimizes for workload distribution and resource allocation, based on runtime metrics and overheads, this paper, introduces a more detailed model of that strategy. It evaluates the efficiency of this implementation (as an HPX executor) across a wide range of compute-bound and memory-bound workloads on different architectures and with different algorithms. The results show consistent speedups across all tests, configurations, and workloads studied, offering improved performance through a familiar and user-friendly C ++ executor API. Additionally, the paper highlights how runtime-driven executor adaptations can simplify performance optimization without increasing the complexity of algorithm development.
Bibliografia:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:2661-8907
2662-995X
2661-8907
DOI:10.1007/s42979-025-04442-y