We have developed both parallel direct and iterative methods in this research, with parallel direct implementations yielding speedups of nearly ten for double precision LU factorization and even greater speedups for complex variate LU factorization with 32 processors. Speedups for parallel block-diagonal-bordered Choleski factorization were less than for LU factorization, only 4.5 for 32 processors, and there are formidable problems implementing forward reduction due to the distribution of data to processors in the last diagonal block. Meanwhile, we were able to obtain significantly greater speedups, 17 to 21 for 32 processors, with our parallel block-diagonal-bordered sparse Gauss-Seidel solver implementations, although the only matrix types where there is assurance of convergence for Gauss-Seidel methods are diagonally dominant and positive definite matrices. Choleski factorization is limited to either of these symmetric matrix types. When comparing the performance of parallel sparse Choleski solvers and parallel sparse Gauss-Seidel algorithm, we show that there is potential for significant algorithmic speedup with the use of the iterative solver.
Power systems applications use sparse linear solvers in conjunction with either non-linear equation solvers or differential-algebraic equation solvers. Often applications reuse a factored matrix numerous times, as a trade-off is made between the computational costs of repeated factorization and additional iterations in the non-linear equation solvers. A new LU factorization is not calculated every iteration -- instead, an old LU decomposition is used to solve an approximate linear system. A new factorization is only calculated every few iterations. The cost of multiple linear solutions for dishonest reuse would be a linear combination of the cost for factorization plus the cost for the repeated number of factorization (re)uses:
where:¯
is the total time for a single factorization and
triangular solutions.
is the time for (parallel) factorization.
is the number of dishonest (re)uses:.
is the time for a (parallel) triangular solution.
It is important to note that both the sequential and parallel implementations of Gauss-Seidel yield the same convergence rate. The parallel block-diagonal-bordered form Gauss-Seidel solver maintains the same strict precedence relation in the calculations as does the sequential algorithm.