solving the heat distribution problem

We applied Euler's method to the heat equation, extending our treatment of the Laplace equation. The resulting time stepping method is yet another synchronous iteration method. Domain decomposition is the method to create a parallel version of the program, distributing the grid evenly among the processors, overlapping the rows. Unlike Jacobi iteration, the communication cost does not depend on the number of processors and yields thus a better speedup.

We briefly mentioned the square partitioning as a decomposition which may result in a reduction of the communication cost, as soon as we have more than 4 processors and a relatively low startup communication cost.

The lecture ended with a discussion on cellular automata. While cellular automata are alternatives to differential equations (analogous to Monte Carlo and integration to compute volumes), its parallel implementation resembles strongly the domain decomposition method for the heat equation.

At this point in the book, the MPI_Bsend() combined with int MPI_Buffer_Attach ( void *buffer, int *size ) is introduced to avoid the potentially unsafe method of all Send operations filling up all the buffers.

Bibliography