Optimizing Parallel Applications via Dynamic Concurrency Throttling and Turbo Boosting
Sandro M. Marques, Thiarles S. Medeiros, Matheus S. Serpa, Fábio Diniz Rossi, Marcelo Caggiani Luizelli, Philippe Navaux, Antonio Carlos Schneider Beck, Arthur F. Lorenzon · 2021
With the increasing number of cores in modern systems, dynamic concurrency throttling (DCT) and turbo-boosting techniques are becoming a solution to better use the hardware resources. While DCT techniques tune the number of running threads, boosting techniques speed up sequential phases or unbalanced threads. However, as each region of an application may behave differently, optimizing both knobs is not straightforward. Hence, we propose two strategies that apply DCT and turbo-boosting: DBF, which aims to find an ideal configuration for each parallel/sequential region, and DBC, which considers the combination of parallel/sequential regions during the optimization. We show that DBF and DBC improve the EDP by up to 19% and 27% compared to a DCT-only strategy and by up to 95% and 96% compared to a Boost-only technique. We also show that DBF is more suitable for applications with high variability in the CPU workload, while DBC is better when there is low workload variability.