Volume 21, pp. 47-65, 2005.

Communication balancing in parallel sparse matrix-vector multiplication

Rob H. Bisseling and Wouter Meesen


Given a partitioning of a sparse matrix for parallel matrix–vector multiplication, which determines the total communication volume, we try to find a suitable vector partitioning that balances the communication load among the processors. We present a new lower bound for the maximum communication cost per processor, an optimal algorithm that attains this bound for the special case where each matrix column is owned by at most two processors, and a new heuristic algorithm for the general case that often attains the lower bound. This heuristic algorithm tries to avoid raising the current lower bound when assigning vector components to processors. Experimental results show that the new algorithm often improves upon the heuristic algorithm that is currently implemented in the sparse matrix partitioning package Mondriaan. Trying both heuristics combined with a greedy improvement procedure solves the problem optimally in most practical cases. The vector partitioning problem is proven to be NP-complete.

Full Text (PDF) [285 KB]

Key words

vector partitioning, matrix–vector multiplication, parallel computing, sparse matrix, bulk synchronous parallel

AMS subject classifications

05C65, 65F10, 65F50, 65Y05

ETNA articles which cite this article

Vol. 37 (2010), pp. 263-275 Joachim Georgii and Rüdiger Westermann: A streaming approach for sparse matrix products and its application in Galerkin multigrid methods

< Back