Iterative Methods for Sparse Linear Systems, Second Edition

Parallel computing has recently gained widespread acceptance as a means of handling very large computational tasks. Since iterative methods are appealing for large linear systems of equations, it is no surprise that they are the prime candidates for implementations on parallel architectures. There have been two traditional approaches for developing parallel iterative techniques thus far. The first extracts parallelism whenever possible from standard algorithms. The advantage of this viewpoint is that it is easier to understand in general since the underlying method has not changed from its sequential equivalent. The second approach is to develop alternative algorithms that have enhanced parallelism. This chapter will give an overview of implementations and will emphasize methods in the first category. The later chapters will consider alternative algorithms that have been developed specifically for parallel computing environments.
Because of the increased importance of three-dimensional models and the high cost associated with sparse direct methods for solving these problems, iterative techniques play a major role in application areas. The main appeal of iterative methods is their low storage requirement. Another advantage is that they are far easier to implement on parallel computers than sparse direct methods because they only require a rather small set of computational kernels. Increasingly, direct solvers are being used in conjunction with iterative solvers to develop robust preconditioners.
The first considerations for high performance implementations of iterative methods involved implementations on vector computers. These efforts started in the mid-1970s, when the first vector computers appeared. Currently, there is a...