Computer modelling is now routinely applied throughout the earth sciences in an attempt to create synthetic data for comparison with real data. However, the accuracy and complexity of the models are limited since they require large amounts of computer time and memory. Super Computers represent an obvious solution to these limitations. Here, an alternative solution is presented for those who either do not have access to or cannot afford a Super Computer. The alternative method is inexpensive, convenient, portable and efficiently utilises the resources already available.
Clustering a set of workstations or PC's by means of a network creates a virtually parallel machine which uses the processors available on each machine to perform calculations simultaneously. The software required is a PVM message passing library which is freely available on the internet. The software performs the tasks of setting up the cluster, communicating between machines, converting data to the correct formats for machines of different architectures, while the subroutines it provides takes care of buffers, message passing etc. The programmer is required to asses the original algorithm and decompose its calculations to run over the different machines using these subroutines. The conversion of the serial algorithm to a parallel algorithm can be performed in FORTRAN or C and it can be run over a cluster of workstations or PC's. It does not require knowledge of a parallel computing language although PVM can be incorporated in parallel codes.
The example we have used to test and illustrate the benefits of PVM is an algorithm which calculates the finite difference solution to the acoustic wave equation. This method is used since at present there is no analytical solution to the wave equation which allows wave simulations in a "geologically realistic" (complex) media. Consequently, computationally expensive numerical solutions to the wave equation are required. When using this seismic wave simulation method the grid sizes and the number of time steps required to ensure stability and sufficiently long propagation distances are limited due to the demand on computer time and memory. By using PVM we have reduced wall-clock times and increased array sizes. Observed speed-ups of five times are obtained and grid sizes which were previously impossible to run are also presented. Wall-clock times for both a geometrically decomposed algorithm and a load balanced algorithm on four machines are contrasted illustrating the benefits of the latter. Also shown is a comparison of times needed to run the load balanced algorithm over various clusters of machines of different architectures with varying distances between them. The machines used in the clusters range from Sparc 1's to Sparc 20's, HP's and a Convex.