HPX Smart Executors
Zahra Khatami, Lukas Troska, Hartmut Kaiser, J. Ramanujam and, Adrian Serio

TL;DR
This paper presents a machine learning-based framework with HPX smart executors that automatically optimize loop execution parameters, significantly improving parallel application performance.
Contribution
It introduces a novel method using machine learning to automatically determine execution policies and parameters for HPX loops, enhancing performance without manual tuning.
Findings
Speedup of 12%-35% in benchmarks using smart executors
Effective automatic tuning of execution policies and parameters
Improved parallel performance over manual and auto-parallelization methods
Abstract
The performance of many parallel applications depends on loop-level parallelism. However, manually parallelizing all loops may result in degrading parallel performance, as some of them cannot scale desirably to a large number of threads. In addition, the overheads of manually tuning loop parameters might prevent an application from reaching its maximum parallel performance. We illustrate how machine learning techniques can be applied to address these challenges. In this research, we develop a framework that is able to automatically capture the static and dynamic information of a loop. Moreover, we advocate a novel method by introducing HPX smart executors for determining the execution policy, chunk size, and prefetching distance of an HPX loop to achieve higher possible performance by feeding static information captured during compilation and runtime-based dynamic information to our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
