Space and time efficient implementations of parallel nested dissection
Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures - SPAA '92
Nested dissection (ND) is a method for solving sparse n × n linear systems efficiently by imposing an order of elimination on the variables. Parallel nested dissection (PND) algorithms, which perform this variable elimination in parallel, have been developed for the PRAM model and for grid architectures. In this paper, we describe the following improvements to the known PND algorithms: 1. FAST PND: a fast PND algorithm for the PRAM model, which reduces the time bound by a factor of O(log n),
... tor of O(log n), without significantly increasing the processor bound. 2. COMPACT PND: a PND algorithm for a mesh-connected processor array, applicable to matrices representable by a grid graph, that uses O(n) processors and takes O( √ n) time, and reduces the space bounds to a constant factor of the size of the input matrix, without significant increase in time or processor bounds. 3. GENERALIZED COMPACT PND: a PND algorithm for a mesh-connected processor array, that uses O(n) processors and takes O( √ n) time for the more general case of matrices representable by a graph of constant degree and separator size √ n (as required for many 2D PDE applications). In addition to these practical results, we show, using known theoretical results about parallel matrix multiplication, that it is theoretically possible to achieve tighter bounds on the amount of work performed by PND algorithms. We also show how our algorithms generalize to solve all-pairs minimal-cost path problems, within the same complexity.