Home
 

2D Heat Distribution

Assignment

Sample Heat Distribution

Report

Speedup Results
==================
Parameters: 10000 iterations (on a 128 by 128 grid)

Speedups
slaves      total time (sec)    barrier (sec)    speedup
0                  86                -              -
2                 177               91           0.49
4                 147               65           0.59
8                 140               56           0.61
16                165               65           0.52

Notes: Sharing the machine with 42 other people leads to falsified times.

Why is this approach not optimal?
=================================
Simple answer: A maximum speedup of 0.61,which even decreases with the number
of slaves is not desireable.

Long answer:
  First, much data needs to be copied to and from the slaves.  This is done via
shared memory, which is not too bad.  But since all slaves share the data it
should best be kept all the time in the shared memory only.  Or, with PVM, send
each slave only the required data.
  A static decomposition approach is used.  When we have a small number of
slaves, the speed of the slowest slave slows things down since the chunk
for each slave is quite large.  That's why the barrier waiting time in the
master is quite large.  As the chunk size decreases (and the number
of slaves increases), the results get better.
  With a large number of slaves, one would expect the total time
would increase again, because sending the whole data and gathering
the results costs much.  If this is the case, the barrier time should stay
about the same.

Why this program is worth some extra points
===========================================
* Used master/slave approach

* Implemented several different approaches
    - *broadcast* and single sent of current heat distribution
    - *gather* and single receive of results

* MPEG movie of heat spread

Included files
==============
Program source

heat0.tga,jpg
  initial heat distribution (0 iterations)

heat10000.tga,jpg
  After 10000 iterations

heat40000.tga,jpg
  After 40000 iterations

heat50000.mpg
  1001 frames animation of 50000 iterations

Test Results
============
Serial Program
--------------
slaves=0
t_inc=0.000100
t_final=1.000000
Total solving time: 86 sec

Parallel Programs
-----------------
slaves=2
t_inc=0.000100
t_final=1.000000
Actual number of slaves: 2
Total solving time: 177 sec
Total barrier time: 91 sec
barrier/solve ratio: 51.665626%

slaves=4
t_inc=0.000100
t_final=1.000000
Actual number of slaves: 4
Total solving time: 147 sec
Total barrier time: 65 sec
barrier/solve ratio: 44.759598%

slaves=8
t_inc=0.000100
t_final=1.000000
Actual number of slaves: 8
Total solving time: 140 sec
Total barrier time: 56 sec
barrier/solve ratio: 40.050311%

slaves=16
t_inc=0.000100
t_final=1.000000
Actual number of slaves: 16
Total solving time: 165 sec
Total barrier time: 65 sec
barrier/solve ratio: 39.503814%