Documentation of 'edu.rit.clu.fractal.MandelbrotSetClu2' Java class
MandelbrotSetClu2
edu.rit.clu.fractal

Class MandelbrotSetClu2



  • public class MandelbrotSetClu2
    extends java.lang.Object
    Class MandelbrotSetClu2 is a cluster parallel program that calculates the Mandelbrot Set. The program uses the master-worker pattern for load balancing. Each worker process in the program calculates a series of row slices of the Mandelbrot Set image, as assigned by the master process. The worker processes send the slices to the master process. After receiving all the slices, the master process writes the image to a file.

    The row slices are determined by the pj.schedule property specified on the command line; the default is to divide the rows evenly among the processes (i.e. no load balancing). For further information about the pj.schedule property, see class PJProperties.

    Usage: java -Dpj.np=K [ -Dpj.schedule=schedule ] edu.rit.clu.fractal.MandelbrotSetClu2 width height xcenter ycenter resolution maxiter gamma filename
    K = Number of parallel processes
    schedule = Load balancing schedule
    width = Image width (pixels)
    height = Image height (pixels)
    xcenter = X coordinate of center point
    ycenter = Y coordinate of center point
    resolution = Pixels per unit
    maxiter = Maximum number of iterations
    gamma = Used to calculate pixel hues
    filename = PJG image file name

    The program considers a rectangular region of the complex plane centered at (xcenter,ycenter) of width pixels by height pixels, where the distance between adjacent pixels is 1/resolution. The program takes each pixel's location as a complex number c and performs the following iteration:

    z0 = 0
    zi+1 = zi2 + c

    until zi's magnitude becomes greater than or equal to 2, or i reaches a limit of maxiter. The complex numbers c where i reaches a limit of maxiter are considered to be in the Mandelbrot Set. (Actually, a number is in the Mandelbrot Set only if the iteration would continue forever without zi becoming infinite; the foregoing is just an approximation.) The program creates an image with the pixels corresponding to the complex numbers c and the pixels' colors corresponding to the value of i achieved by the iteration. Following the traditional practice, points in the Mandelbrot set are black, and the other points are brightly colored in a range of colors depending on i. The exact hue of each pixel is (i/maxiter)gamma. The image is stored in a Parallel Java Graphics (PJG) file specified on the command line.

    The computation is performed in parallel in multiple processors. The program measures the computation's running time, including the time to write the image file.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static void main(java.lang.String[] args)
      Mandelbrot Set main program.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • main

        public static void main(java.lang.String[] args)
                         throws java.lang.Exception
        Mandelbrot Set main program.
        Throws:
        java.lang.Exception

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.