Assignment #3: The Mandelbrot demo


Description:

This assignment deals with the classical Mandelbrot fractal generation problem. Wikipedia describes the details of this problem along with the common algorithm that generates the fractals corresponding to the Mandelbrot's set. Here is an example of the Mandelbrot's fractal in full  color. In this assignment, we use parallel algorithms to generate this fractal. The interesting aspect of this problem is that this problem can really benefit from parallelizing. Each worker processes a section of the image & each of them take different amounts of processing time. An ideal manager would always try to keep the workers busy & reuse them as and when they become free till all the sections of the image has been processed. In our algorithm, we try to achieve the same. The comments in the code describe the strategies in clearer terms. Please look through the comments in code.

Main areas explored in this assignment:

The main areas we explore & learn are:-

1.     MPE Graphics Capabilities,
2.     Dynamic Manager-Worker Processor Farm - Load sharing manager
3.     Advanced Logging Capabilities of MPE like event tracking & monitoring of states.

Assignment Resources:

  1. The Source Code

  2. Makefile
    Note: If you want to compile my programs using the above Makefile in UBC CS Deptt machines, replace this block in my Makefile
    ##### User configurable options #####
    bla bla bla ...
    ### End User configurable options ###
    with this block (simply copy & paste it over my original makefile, erasing the previous block).

  3. Textual Console inputs & Outputs

  4. Output:

    1. With 32 Colors, 1000 iterations.

    2. With 64 Colors, 1000 iterations

    3. With 64 Colors, 10,000 iterations

    4. With 32  Colors,  1,00,000 iterations
  5. SLOG2 File

  6. Jumpshot Visualization
    Description:
    The jumpshot visualization shows the various states described in the code using different colors. The computation zone (processing region) for different processors can be easily seen surrounded by blue borders. Other singular states like when the manager finds a free worker or when processors receives rendering command can be seen easily. One important thing to learn from this is that selecting the events to track & watch for within a parallel program requires experience. 


First Posted: Feb 10 2006. Last Updated: Feb 13 2006 Credits: 15

Page Last Revised:Monday March 31, 2008

Valid HTML 4.01 Transitional