More cluster notes

I got seven of my eight machines connected to the  cluster and running the POV program.  With all seven running, I’m able to render the skyvase image in 43 seconds; a 61% savings over the 1:53 that it takes the Pentium 333 (onefish) to do it alone.

All of the machines currently in the cluster are old Dells that we had gathering dust in a closet.  The eighth machine, which isn’t running because I haven’t put a hard drive in it, is a generic clone box.  The fastest machine is the Pentium 333, and the slowest is a Pentium 75.  Two of the machines have 166 MHz Pentiums with MMX.  They outperform the 200 MHz Pentium on the ray trace.

The cluster is a tinkerer’s dream.  It’s hard not to get distracted running benchmarks with every possible combination, and trying different compilation options to optimize performance.  That’s not the point of my exercise, though.  Now that I have the cluster running, it’s time to learn a little about writing programs to take advantage of the multiple processors.  The PVM distribution has some sample programs, which I’m currently studying.  I’m also working on my Beowulf page, on which I’ll post more detailed results.  There are only so many hours in a day, though, so it may be a while before the page is ready.

More super computing

Everybody comes up with creative names for their Beowulf clusters.  At Catapult Systems, our computers are named for “things in the sea.”  My computer, for example, is Blowfish.  We have Humpback, Stingray, Mantaray, Grouper, etc.  I was going to call my cluster “School” (i.e. a group of fish), but that name was met with some resistance.  For the moment, I’m calling it “The Fishery.”  The individual computer names were easy enough.  I was going to call them fish1, fish2, etc., but then the president suggested onefish, twofish, redfish, bluefish.  I’ll have to make a trip to the kids section at the local bookstore for the Dr. Seuss classic so I can get more names.

Right now, I only have two machines on the cluster.  onefish is a 333 MHz Pentium 2 with 128 MB of RAM.  twofish is a 200 MHz Pentium with 64 MB of RAM.  Both are running SuSE Linux 7.0 with pretty much identical configurations (SuSE minimum system to which I’ve added a few networking services and some development tools).  Below are the results from some benchmark tests I ran last night.  All times are to render the skyvase.pov using this command line:

./pvmpov +iskyvase.pov +h480 +w640 +FT +v1 -x -d +a0.300 -q9 -mv2.0 -b1000 -nw32 -nh32 -nt4 -L/home/research/pvmpov3_1g_2/povray31/include

ComputerTime
onefish1:53
twofish4:52
cluster (onefish host)1:24
cluster (twofish host)1:24

So the addition of twofish to the cluster drops the time from 1:53 to 1:24, a difference of 29 seconds, or about 25 percent.  Not bad.  It’ll be interesting to see what happens as I add the four 166 machines.

My own super computer

The super computer is running.  This evening, with the help of the company’s CTO, I got the first two machines configured and cooperating and rendered the skyvase benchmark image using the parallel version of the Persistence of Vision Raytracer (Pov-ray).  As I said on Wednesday, I’m not setting any speed records.  It took these two machines a minute and 24 seconds to render the image.  I was in a hurry so I didn’t run the test with the 333 alone to get a baseline for comparison.  Maybe I’ll do that over the weekend.  I’ve configured the cluster so that I can VPN into the company network and then telnet to the host machine.  I don’t have to be at the office in order to play with my cluster.

I couldn’t have done things this quickly without the information found on the Pondermatic page.  The step-by-step instructions, although somewhat dated and not perfect, saved me a lot of time getting and installing PVM and Pov-ray.  I’m in the process of putting together a single archive that contains everything required to build the raytracer.  Not only will this make it easier for me to install on my six remaining machines, but perhaps it’ll help somebody else get things up and running quickly.  When I have it all together I’ll post it on my downloads page.  Or perhaps I’ll create a Beowulf page of my own. 

Beowulf cluster

I’ve always been intrigued by super computers and parallel processing machines, but never had access to even a dual processor machine.  When I got interested in Linux a couple of years ago I saw the Beowulf project and said:  “One of these days.”

I mentioned the idea to the company president last week.  His eyes lit up and two days later I had two working Dell Dimension Pentium 166 MHz machines.  We have a bunch of decommissioned hardware at the office, mostly old Dell 166 machines.  Since last week I’ve scrounged a 333, a 200, two more 166s, a 133, and a 75.  All but the 133 are Dells.  This evening I installed Linux on the 333 and the 200, and got them talking to each other.  It’s a start.  They’re not doing any cooperative processing yet—maybe tomorrow or Friday.

So what am I going to do with a “super computer?”  Mostly I’m just interested in learning a bit about distributed processing.  That means tinkering it together, running other people’s programs to verify that it’s working, and then coming up with a project of my own so I can learn how to write code for parallel processing.  I have a few vague project ideas, but nothing I’d like to discuss yet in public.  You’ll be hearing more about the project as time goes by.