Saturday, March 6, 2010

Rocks Cluster Distro Rox!

It's time for a bit of introspection.  We have not gotten much running on the new 64bit dual-core AMD Athlon based cluster.  So, here's what I'm thinking about.  I'm talking to the powers-that-be at my school about: 

(1) installing an all linux environment ( for my parallel programming class and other programming classes
(2) moderninzing my intro programming class to use "Mathematics for the Digital Age" and SAGE to teach discrete math and programming 
(3) running a Calculus Research Lab using SAGE to teach Calculus using computers (every other day like a science lab in addition to Calculus class in a PC classroom) 

I've seen LittleFe (get it? not "big iron"), its actually based on BCCD which I've used (1.0 based on openMosix, 2.0 based on MPICH, 3.0 based on openMPI). I'm not interested in building the hardware, however. I want to make use of the dualcore AMD 64bit Athons we have! BTW, we've also used clusterKNOPPIX/parallelKNOPPIX/Quantian based on openMosix as well as pelicanHPC based on LAMMPI, MPITB and Octave. I'd like to emulate the pelicanHPC model in a permanently installed cluster.

I have a dedicated ftp server (to share files with my students) and sftp server (for students to save their work) based on Slackware. So all they really need the Linux desktop for is to anonymous ftp or ssh with a passwd into one of those servers and do their work there. I don't use WIMxP for anything.... So, maybe its time to nuke the WIMxP partition and set up a Rocks Cluster!

OK, I think my Computing Independent Study students have more programming vs. hardware experience, so I'd like to leverage that (although, they helped me reinstall my classroom with Fedora). So, "hiding the details" of seting up the cluster is OK at this point. I'd like to focus on parallel programming. I read some of the beginner's dox and have the following concerns: 

(1) Does the master node have to be dedicated or can it be dual boot? My dept likes WimpDoze for some reason. So, all our PCs have WIMxP on hda1 and 64bit Fedora 12 on hda2. 
ANSWER: Yes it is dedicated. In fact, the install process is simplified to such an extent that nuking the partition table is automatic! 
(2) Does eth0 have to be on the private network? We have always had the internet (public network) on eth0 and the cluster (private network) on eth1. 
ANSWER: Yes, so we'll just have to switch the ethernet cables around.  

(3) When installing the compute nodes, can I specify a partition? When the compute node PXE boots, Rocks gets installed to the hdd, right? Or does the cluster just run in RAM on the compute nodes? 
ANSWER: Nope, the compute nodes are installed to hdd from the master node via PXE and the partition tables are nuked again!
(4) When installing the compute nodes, can I boot from CD/DVD as with the master node? PXE boot has had issues in my lab (conflicting DHCP servers?). 
ANSWER: Yes, but PXE boot is a time saver so lets see if we can do it that way.
(5) Is the resulting installation usable as a desktop for everyday tasks when the cluster is not in use? I teach AP Computer Science with Fedora as the desktop and slackware running my ftp (for sharing files with my students) and sftp (for students to save their work) servers. 
ANSWER: Yes, you get a stable FLOSS version of RHEL that's even better than Fedora called Centos.  

BTW, we've been playing with clusters for a while: 
Colossus: 486 PCs + ethernet + PVM 
Guardian: Pentium I&II PCs + ethernet + openMosix
Centauri: Pentium III&IV PCs + fast ethernet + openMosix 
Shadowfax: 64bit AMD Athon PCs + gigE + ??? 

We got the latest hardware upgrade last school year. At that point we didn't know what to do with it all. So, we installed Debian and wrote bash scrpts to scatter/gather povray jobs via publicly authenticated ssh. This year, we started by installing 64bit Fedora 11 (then Fedora 12) and trying out openMPI. We are having a bear of a time getting openMPI to work over our public key authenticated ssh. Then I read about Rocks and found that it has a similar goal. Rocks is based, in part, on RHEL and openMPI! 
Here's some nice dox: 

No comments:

Post a Comment