The owner of the local computer fixit shop recently invited me to clean out his storage shed, so now I'm the proud owner of at least two dozen new-to-me Pentium 233 and 200 MHz computers. Most of the boxes are capable of running FC3, the rest RH9.
They wouldn't be worth much more than the cost of shipping, so I thought why not build a Linux Beowulf cluster supercomputer? OK, I realize how goofy it is to build a computer without actually needing it, but so what! I figure the parts needed for upgrades have depreciated about as far as they are going to--they sell Pentium CPUs by the pound to smelt the gold out of them these days. Used 10/100 NICs are less than $2 each in quantity. If I'm going to learn Linux, I might as well have something potentially useful when I'm done.
If there were such a thing as a general purpose Beowulf, that'd be what I'm aiming for. I've found a pretty good HOW-TO to follow. Now to the point of this post:
1. How much swap area is enough and how much is too much? I'm putting 128 MB RAM, 4 GB and 2 GB hard drives in each slave node. I'm using 100 MB out of the 2 GB HD for /boot. What if I devote the rest of the drive to swap? The other 4 GB HD would have one partition for the root directory. My idea is the swap area gets its own drive controller. After it's booted, swap will have exclusive use, right? I know it won't be fast, but it'll be as fast as it gets without more RAM. If I use less than the remainder of the drive, it would either be wasted or I'd have to glom part onto the 4 gig via LVM. Useful? Overmuch? Or is my mental picture of how all this works wrong?
2. I've got a variety of other more and less obsolete computers laying around here. My HOW-TO says to pick the best machine for the head node. I figure the minimum would be a PII 400 MHz, but I've got a mid-range PIII and perhaps a 1.7 GHz P4 I could use. I want to choose something fast enough to feed the slave nodes at full capacity (which probably depends greatly on how the parallel program was written), but the network is only 100 Mb/s, and it can only talk to one slave at a time, so surely it needn't be smoking lightning. Suggestions? Musings?
3. I've got a spare hardware router from when I replaced it with the firewall version. Is there any reason not to let it handle the IP addressing? Why put the network overhead on the head node? I don't have any reason to connect the cluster to the internet for now.
4. Is there some way to mirror the FC3 updates? Once I've updated one slave node, there ought to be an easy way to let all the other slave nodes get the RPMs from the one that's been updated rather than hog web bandwidth updating each node individually. Not to mention LAN vs. web download speeds....
Please, no flamers. I know I'm wasting money upgrading these dustbunny cages, but they're what I've got to work with. I admit I'm curious to know if anyone would rent the cluster for enough to pay for the electricity once I've finished it. But I'm having fun and learning a few things. If those reasons aren't enough, then surely I'll have the fastest useless computer in the world.