In prior work, Gupta et al. (SPAA 2022) presented a distributed algorithm for multiplying sparse matrices, using computers. They assumed that the input matrices are uniformly sparse--there are at most non-zeros in each row and column--and the task is to compute a uniformly sparse part of the product matrix. The sparsity structure is globally known in advance (this is the supported setting). As input, each computer receives one row of each input matrix, and each computer needs to output one row of the product matrix. In each communication round each computer can send and receive one -bit message. Their algorithm solves this task in rounds, while the trivial bound is . We improve on the prior work in two dimensions: First, we show that we can solve the same task faster, in only rounds. Second, we explore what happens when matrices are not uniformly sparse. We consider the following alternative notions of sparsity: row-sparse matrices (at most non-zeros per row), column-sparse matrices, matrices with bounded degeneracy (we can recursively delete a row or column with at most non-zeros), average-sparse matrices (at most non-zeros in total), and general matrices.
View on arXiv