Article ID20001101A
SubjectBuilding your own Super Computer
ConceptA demonstrative install of Scyld's Beowulf Cluster

Updated 2001.1.30 - Updated links

Required Parts:
o Scyld's Beowulf Linux version 2.0 Preview
> o Linux Boot Floppy
o One decent scratch Computer with 2 NICs that will be master. Must be able to run X-Windows
o At least one computer with a NIC that the hard drive(s) can be fdisk'd and formatted
o A working network

Building a Supercomputer

The Master Controller

On the computer that is going to be the master, boot on the Scyld CD and install the default Gnome system. Configure X-windows system for a least 800x600. I found that the 640x480 is not usable with the Beowulf utilities, but 1024x768 gives the best results. The color depth is not of any concern, so if you can get 1024x768 but only at 8bpp, you will still be fine. During the installation, set up eth0 as the "world" interface using your existing lan config and eth1 using the default settings as the Beowulf interface.

One thing to note, is that this Linux distribution is based on RedHat Linux 6.2. This is painfully obvious, but what is not obvious is the added security for a default installation. Most of the dreadful inetd options are disabled, but a few still remain for functionality, so you may want to disable those, (like ftp,telnet, etc). Also running /usr/sbin/ntsysv and disabling most the uneeded junk (not beowulf!) in there is suggested.

After the installation is completed, reboot and login as root. Start X and select the menu bar and go to utilities and select Beosetup. In the Beosetup util, select ffile and then create-node boot floppy. You will need to create one for every client node.

Download the Linux Boot floppy image and insert a 1.44mb floppy. Type in the following command from the directory that linux_rescue.img is located:
dd if=linux_rescue.img of=/dev/fd0

The master controller is now setup.

Client Nodes

Boot the client on the linux_rescue boot diskette. Login as root (no pass) and type:

fdisk /dev/hda

Delete existing partitions (hopefully they are expendable) and create the following three partitions:
/dev/hda1 (At least 2mb) type 84 (OS2 hidden)
/dev/hda2 ( = ram amount) type 82 (Linux Swap)
/dev/hda3 (100% of remaining) type 83 (Linux)

Write the changes and boot on the client-node floppy. During Boot phase 1, the MAC address will show up on the Beosetup app running on the master in the unknown addresses column. Drag the entry to the middle column (Configured Nodes). The client is now recognized by the master and the client will boot two more phases. Depending on the amount of swap, it will take a couple of minutes for phase 3 to complete. The client will display a message that the /rootfs has been mounted and that the node is up. The master should display the same status under the configured nodes column.

Repeat the above for every client node.

Testing it out

On the master, bring up the Gnome Menu and select utilities and bring up Beowulf status. This will display all of the nodes, their status, and cpu/mem/disk usage. All of the configured nodes should have two check marks, if not, the node is not online. Open a terminal window and as root, type:

mpi_mandel --all-nodes

This is a simple Mandelbrot program that utilizes the MPI libs. As you maneuver around and zoom in /out, you should see all of the nodes cpu usage changing. At the bottom of the mpi_mandel program, the number of flops is displayed, this is the amount of flops your beowulf cluster has processed at a time. (Not a very good benchmark, but shows that your cluster is working!)

Congrats, you are now the proud owner of your own Beowulf Cluster (Supercomputer)!

Some commands of interest

To reboot all of the nodes
bpctl -S all -s reboot

To do a directory listing on a client node #3
bpsh 3 ls


©2004-2020 Paul Boehmer