[comp.windows.x] MandelSpawn version 0.05 available

gson@joker.hut.fi (Andreas Gustafsson) (10/06/90)

MandelSpawn, version 0.05, is now available for anonymous FTP from
funic.funet.fi, file /pub/unix/X11/contrib/ms-0.05.tar.Z.  

MandelSpawn is a distributed Mandelbrot program for the X window
system.  It consists of an X11-based interactive client program and a
computation server program that is typically run on several hosts to
do the Mandelbrot calculations in parallel.  The hosts may be of
different types, and they need not all run X.  On some architectures,
MandelSpawn uses fixed-point arithmetic for greater speed.

The ideal environment for MandelSpawn is a workstation class with
5..50 Unix machines.  A typical 1152 x 900 pixel, 250-colour image is
calculated in less than 30 seconds using 30 68030-based workstations.

Changes from version 0.04 include bug fixes, more flexible colormap
handling, and faster calculation of areas inside the Mandelbrot set.

MandelSpawn is available under the GNU General Public License,
version 1.
-- 
Andreas Gustafsson
Internet: gson@niksula.hut.fi
Voice: +358 0 563 5592

twegner@mwunix.mitre.org (Timothy Wegner) (10/09/90)

gson@joker.hut.fi (Andreas Gustafsson) writes:

>The ideal environment for MandelSpawn is a workstation class with
>5..50 Unix machines.  A typical 1152 x 900 pixel, 250-colour image is
>calculated in less than 30 seconds using 30 68030-based workstations.

Sounds like a really great project! As a basis of comparison, FRACTINT on
a 25mhz 80386 PC can do a 1024 x 768 Mandelbrot in 39 seconds. Not fair
really, not a "typical" image - so I zoomed in about 13 times, and it took
around 3 minutes. The key for you is to put in other optimizations besides
parallel processing. SOunds like you may have a start since you mentioned
cutting time inside the lake. The speedups we use are 1. fixed point math
instead of floating point when we can get away with it 2. exploit symmetry
when we can 3. detect periodicity inside the lake to bailout sooner and
4. make very educated guesses about solid areas and avoid calculations.

All of these are possible for you, although #1 may not be worth it. I would
say #4 is the most important because it is the most general. #2 is a non-factor
for deep zooms, and #3 only helps if you are in the lake. 

I would be curious to know how you divide up the fractal. To use optimization
#4, each CPU should do a rectangle rather than a row. You don't want the
"guessing" algorithm to require network traffic.

Keep it up, and good luck. Tim