R.H.S. Computer Cluster Project

Home Current Progress Details

The Hardware

Almost all of my hardware is donated equipment from my high school. The only things I have had to go out and buy are some power strips, power cables, a keyboard or two, and a mouse.

IBM, Compaq, Dell, HP, if you want to donate some equipment (like some really nice server-class boxes), I would be quite happy to integrate it into the cluster. You know, furthering education, good PR, good karma, all that :-)

The computers themselves are Pentium and Pentium II class machines, with speeds ranging from 200Mhz to 400Mhz. They have between 64 and 512MB of RAM, and between ~1.5 and 13 Gigabytes of hard drive space. The best machine (PII, 512MB RAM, 13GB drive space) is my "master" node.

master

The "master" node. (with a nice CAT-5 noose hanging over the box)

A plain old node

Just a node, node05 to be exact

I have about 6 monitors at my disposal, 10 ATX keyboards, 2 PS/2 keyboards, a serial mouse, and a PS/2 mouse. Although I have plenty of monitors, I only have three connected at any one time. One of the nodes seems to require that it have a monitor and one of my few PS/2 keyboards connected to it at all times or else it will freeze. The master node always has a monitor connected, as well as a PS/2 keyboard and mouse whenever I don't need them to work on another node. The other monitor is usually connected to one of the nodes along with an ATX keyboard. To access the nodes without monitors or keyboards I use ssh (www.openssh.com).

The network is a simple "star" network, with the nodes all plugged into a 24-port 10BaseT hub. The cables I used were either given to me or made by me during class.

The hub

The hub for the cluster

The Software

All of the computers are running Debian Linux stable. Of all the Linux distributions I have used over the past few years (SuSE, RedHat, Slackware, Debian, DyneBolic, Morphix), I have found that Debian is my favorite. It has an excellent package management system and plenty of packages that I need. Although it tends to be a little behind the times, that usually means that the software is very stable.

The clustering system I am using is openMosix. openMosix is a kernel extension, meaning that you apply a patch to the Linux kernel source and then compile a new kernel. That new kernel will then be able to handle the job-sharing that openMosix does. There is also a set of utilities for manipulating the openMosix system.

Although it isn't necessary, openMosixView is a very useful application that can be used to monitor an openMosix cluster, with node status information (up or down, processor load, memory usage), a monitor for migrated (shared) processes, and a graphing utility which creates load graphs over a period of time.


Maintained by John Floren, di gi@nu wen.net (remove spaces to send email)