Parallel Sparse Matrix Computations on Beowulf Clusters

Document Type


Publication Date



Computer Sciences | Physical Sciences and Mathematics


Mike Heroux, Computer Science


Sparse matrix computations are a critical component of computer simulation in many scientific and engineering applications. Faster and more efficient methods for doing computations with sparse matrices are extremely beneficial to scientists and engineers, allowing them to study larger models and perform more detailed simulations of their problems. Fluid dynamics, structural mechanics, and molecular dynamics are a few examples of the engineering and scientific areas of study that make extensive use of sparse matrix computations.

Heterogeneous computing clusters are designed to take advantage of rapidly improving technology. Such clusters are made up of two or more different types of computers, often with greatly varying speeds and capabilities, which communicate through a central network. New computers can be added to the cluster to take advantage of new technology; old nodes with obsolete technology can be removed altogether. The Beowulf cluster, with which this study was performed, is an example of a heterogeneous computing environment.

The flexibility of a heterogeneous cluster seems like a perfect fit for sparse matrix computations, but with that flexibility comes the necessity to avoid certain pitfalls of clustered computing. The amount of work to be done on each separate node must be carefully measured and divided. Also, older computing nodes must be eliminated from the cluster when they become obsolete. This study focuses on these two problem areas of heterogeneous computing, and provides guidelines for the types of problems and data that are best suited for use with heterogeneous clusters.