@incollection{NeugebauerBerrendorfMannuss2018, author = {Christian Neugebauer and Rudolf Berrendorf and Florian Mannuss}, title = {Improving the Performance of Parallel SpMV Operations on NUMA Systems with Adaptive Load Balancing}, series = {Bassini, Danelutto et al. (Eds.): Parallel computing is everywhere. Advances in Parallel Computing, vol. 32}, publisher = {IOS Press}, address = {Amsterdam}, isbn = {978-1-61499-842-6}, doi = {10.3233/978-1-61499-843-3-445}, pages = {445 -- 454}, year = {2018}, abstract = {For a parallel Sparse Matrix Vector Multiply (SpMV) on a multiprocessor, rather simple and efficient work distributions often produce good results. In cases where this is not true, adaptive load balancing can improve the balance and performance. This paper introduces a low overhead framework for adaptive load balancing of parallel SpMV operations. It uses statistical filters to gather relevant runtime performance data and detects an imbalance situation. Three different algorithms were compared that adaptively balance the load with high quality and low overhead. Results show that for sparse matrices, where the adaptive load balancing was enabled, an average speedup of 1.15 (regarding the total execution time) could be achieved with our best algorithm over 4 different matrix formats and two different NUMA systems.}, language = {en} }