$ pvmmandel N xmin xmax ymin ymax maxiter
where:
N is the number of processes to spawn
xmin, ymin, ymin, ymax define the boundary of the rectangular region
in the complex plane.
Maxiter is the maximum number of iterations to execute the computation
loop.
Assume a fixed screen size: 1024 x 1024 pixels
Each group will be assigned a decomposition method from the table below.
Decomposition method | |
|
Dynamic task assignment. Granularity: single pixel. Master will send information for a single pixel to a slave. Slave will determine if point is in the set or not and return this information to the master |
|
Dynamic task assignment. Granularity: an entire row of pixels. Master will send information for an entire row of pixels to a slave. Slave will determine if specified points are in the set or not and return this information to the master. When a slave finishes, master will send it more work (if any remains). |
|
Static task assignment. Granularity: 1/Nth of the pixels. For example, since there are 1024 rows, you could simply decide to divide 1024 by N and send the first N-1 slaves 1024/N rows and the remainder to the last slave ( you could also have the master do the remainder - but that's a bit more complicated) |
In each case, you will need to determine what information the slave and master need to exchange and the sequence of pvm calls needed.
Notes:
A sample program that uses X-windows is available in the alpha class
library. To compile this program enter:
cc mandel.c -lX11 -o mandel
To qualify for A level credit you must exceed the requirements listed
above. Any of the following would be adequate:
You should include a section in your report that describes how you
qualify for A-level credit.
the decomposition approach you used
PVM message content issues
speedup results
1 image file ( if program does not use X-windows )
the parameters used for the submitted BMP file
Appendix (source files)