On Thu, 15 Jul 1999 [EMAIL PROTECTED] wrote:

> Howdy. I'm in the midst of cobbling together a beowulf cluster. I want to be
> able to demo some kind of application on the beast that will easily show speedup
> vs. scalability with 1 node, 2 nodes, 3 nodes...etc..16 nodes. Also, the demo
> should be as flashy as possible(to impress some rather calcified managers). Any
> ideas/suggestions? Thanks.

pvm+povray (pvmpov).  We used this at linux expo in the Extreme Linux
booth.  Very glitzy and cool, and obviously useful in the appropriate
environment, with near-linear speedup for as many nodes as you're likely
to have.  This ran on the IBM Netfinity cluster very beautifully.

We also used the mandelbrot set generator/display tool "xep" (slightly
hacked) that comes with PVM.  Basically I hacked it to:

  a) recycle colors mod 256, so that there is no easy "bottom" to the
colormap;

  b) increase the number of steps for escape to something much higher
than it was...2048?  This effectively slows it down in serial mode in
blank regions which makes the contrast of the PVM-distributed completion
time all the more striking.  Again there is near-linear speedup for any
reasonable number of nodes.  You can get absurdly far down in the set
effortlessly and quickly.

I don't have pvmpov in the form that we ran it, but Rahul Dave may -- he
is on the beowulf and extreme linux lists (which are better places to
ask than linux-smp, BTW).  I enclose below the patch for mtile.c in
pvm3/xep/.  I also offer The URL for a fairly nifty perltk application
launcher with the "extreme" penguin well displayed that one can use to
permit users to fire off demos or applications and click another button
to get a description of what is running and why it is running
better/faster in parallel.  It is at
http://www.phy.duke.edu/brahma/rundemos.tar.gz (needs perltk; you may
have to build Tk for the perl that comes with your distribution --
download it from CPAN and unpack, run perl Makefile.pl, make, make test,
make install).

  Hope this helps.

     rgb

P.S. -- At the Expo (caught up in the enthusiasm of the moment) we were
REALLY hoping to have the energy to put together a suite of parallel
stuff launchable from the rundemo script in a single "package" -- glitzy
demos, benchmarks, applications -- to help "sell" the beowulf and
extreme linux ideas in circumstances just like yours.  If you come up
with more stuff to run and can package it up at all to run under the
rundemo GUI, send it back to me and I'll see what I can do about
assembling just that thing.

Robert G. Brown                        http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:[EMAIL PROTECTED]


--- ../../pvm3.rsh/xep/mtile.c  Wed Jul  9 09:56:56 1997
+++ mtile.c     Thu May 20 08:59:40 1999
@@ -50,6 +50,18 @@
 #include <stdio.h>
 #include "pvm3.h"
 
+/*
+ * With modern processors and a parallel system, it is WAY too easy to
+ * saturate the colormap at only 256.  Of course, more depth takes longer,
+ * but that's why PVM is fun, right?  So we make this a compile-time
+ * parameter (and really should make this a command line variable on the
+ * master that we vary in such a way that the EVERY IMAGE ALWAYS has
+ * neither more nor less than the full colormap.  2048 is pretty damn
+ * deep, however, and we might run into various bit truncations in the
+ * real variable space before we reach it.
+ */
+#define MAXDEPTH       2048
+
 char* calc_tile();
 
 
@@ -125,7 +137,8 @@
                        x = (ix * x2) / wd + x1;
                        ar = x;
                        ai = y;
-                       for (ite = 0; ite < 255; ite++) {
+                       for (ite = 0; ite < MAXDEPTH; ite++) {
+/*                     for (ite = 0; ite < 255; ite++) { */
                                a1 = (ar * ar);
                                a2 = (ai * ai);
                                if (a1 + a2 > 4.0)
@@ -133,7 +146,7 @@
                                ai = 2 * ai * ar + y;
                                ar = a1 - a2 + x;
                        }
-                       pix[iy * wd + ix] = ~ite;
+                       pix[iy * wd + ix] = ~ite%256;
                }
        }
        return pix;

-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]

Reply via email to