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
- Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker,
and Jack Dongarra:
"MPI - The Complete Reference Volume 1, The MPI Core"
second edition, Massachusetts Institute of Technology, 1998.
Online documentation:
The Message Passing Interface (MPI) standard