Load Plus Communication Balancing in Contiguous Partitions for Distributed Sparse Matrices: Linear-Time Algorithms

07/31/2020
by   Peter Ahrens, et al.
0

We study partitioning to parallelize multiplication of one or more dense vectors by a sparse matrix (SpMV or SpMM). We consider contiguous partitions, where the rows (or columns) of the matrix are split into K parts without reordering. We present exact and approximate contiguous partitioning algorithms that minimize the runtime of the longest-running processor under cost models that combine work factors and hypergraph communication factors. This differs from traditional graph or hypergraph partitioning models which minimize total communication under a work balance constraint. We address regimes where partitions of the row space and column space are expected to match (the symmetric case) or are allowed to differ (the nonsymmetric case). Our algorithms use linear space. Our exact algorithm runs in linear time when K^2 is sublinear. Our (1 + ϵ)-approximate algorithm runs in linear time when Klog(1/ϵ) is sublinear. We combine concepts from high-performance computing and computational geometry. Existing load balancing algorithms optimize a linear model of per-processor work. We make minor adaptations to optimize arbitrary nonuniform monotonic increasing or decreasing cost functions which may be expensive to evaluate. We then show that evaluating our model of communication is equivalent to planar dominance counting. We specialize Chazelle's dominance counting algorithm to points in the bounded integer plane and generalize it to trade reduced construction time for increased query time, since our partitioners make very few queries. Our algorithms split the original row (or column) ordering into parts to optimize diverse cost models. Combined with reordering or embedding techniques, our algorithms might be used to build more general heuristic partitioners, as they can optimally round one-dimensional embeddings of direct K-way noncontiguous partitioning problems.

READ FULL TEXT
research
05/25/2020

On Optimal Partitioning For Sparse Matrices In Variable Block Row Format

The Variable Block Row (VBR) format is an influential blocked sparse mat...
research
12/03/2018

Efficient Distributed-Memory Parallel Matrix-Vector Multiplication with Wide or Tall Unstructured Sparse Matrices

This paper presents an efficient technique for matrix-vector and vector-...
research
04/19/2021

Linear-time uniform generation of random sparse contingency tables with specified marginals

We give an algorithm that generates a uniformly random contingency table...
research
11/15/2021

Recognizing Series-Parallel Matrices in Linear Time

A series-parallel matrix is a binary matrix that can be obtained from an...
research
03/07/2018

Fast in-database cross-matching of high-cadence, high-density source lists with an up-to-date sky model

Coming high-cadence wide-field optical telescopes will image hundreds of...
research
09/07/2018

A general-purpose hierarchical mesh partitioning method with node balancing strategies for large-scale numerical simulations

Large-scale parallel numerical simulations are essential for a wide rang...

Please sign up or login with your details

Forgot password? Click here to reset