TY - GEN
T1 - Quantifying Overheads in Charm++ and HPX Using Task Bench
AU - Wu, Nanmiao
AU - Gonidelis, Ioannis
AU - Liu, Simeng
AU - Fink, Zane
AU - Gupta, Nikunj
AU - Mohammadiporshokooh, Karame
AU - Diehl, Patrick
AU - Kaiser, Hartmut
AU - Kale, Laxmikant V.
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - Asynchronous Many-Task (AMT) runtime systems take advantage of multi-core architectures with light-weight threads, asynchronous executions, and smart scheduling. In this paper, we present the comparison of the AMT systems Charm++ and HPX with the main stream MPI, OpenMP, and MPI+OpenMP libraries using the Task Bench benchmarks. Charm++ is a parallel programming language based on C++, supporting stackless tasks as well as light-weight threads asynchronously along with an adaptive runtime system. HPX is a C++ library for concurrency and parallelism, exposing C++ standards conforming API. First, we analyze the commonalities, differences, and advantageous scenarios of Charm++ and HPX in detail. Further, to investigate the potential overheads introduced by the tasking systems of Charm++ and HPX, we utilize an existing parameterized benchmark, Task Bench, wherein 15 different programming systems were implemented, e.g., MPI, OpenMP, MPI + OpenMP, and extend Task Bench by adding HPX implementations. We quantify the overheads of Charm++, HPX, and the main stream libraries in different scenarios where a single task and multi-task are assigned to each core, respectively. We also investigate each system’s scalability and the ability to hide the communication latency.
AB - Asynchronous Many-Task (AMT) runtime systems take advantage of multi-core architectures with light-weight threads, asynchronous executions, and smart scheduling. In this paper, we present the comparison of the AMT systems Charm++ and HPX with the main stream MPI, OpenMP, and MPI+OpenMP libraries using the Task Bench benchmarks. Charm++ is a parallel programming language based on C++, supporting stackless tasks as well as light-weight threads asynchronously along with an adaptive runtime system. HPX is a C++ library for concurrency and parallelism, exposing C++ standards conforming API. First, we analyze the commonalities, differences, and advantageous scenarios of Charm++ and HPX in detail. Further, to investigate the potential overheads introduced by the tasking systems of Charm++ and HPX, we utilize an existing parameterized benchmark, Task Bench, wherein 15 different programming systems were implemented, e.g., MPI, OpenMP, MPI + OpenMP, and extend Task Bench by adding HPX implementations. We quantify the overheads of Charm++, HPX, and the main stream libraries in different scenarios where a single task and multi-task are assigned to each core, respectively. We also investigate each system’s scalability and the ability to hide the communication latency.
KW - Asynchronous Many-Task (AMT)
KW - Charm++
KW - HPX
KW - Task Bench
UR - https://www.scopus.com/pages/publications/85161451212
UR - https://www.scopus.com/pages/publications/85161451212#tab=citedBy
U2 - 10.1007/978-3-031-31209-0_1
DO - 10.1007/978-3-031-31209-0_1
M3 - Conference contribution
AN - SCOPUS:85161451212
SN - 9783031312083
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 5
EP - 16
BT - Euro-Par 2022
A2 - Singer, Jeremy
A2 - Elkhatib, Yehia
A2 - Blanco Heras, Dora
A2 - Diehl, Patrick
A2 - Brown, Nick
A2 - Ilic, Aleksandar
PB - Springer
T2 - 28th International European Conference on Parallel and Distributed Computing , Euro-Par 2022
Y2 - 22 August 2022 through 26 August 2022
ER -