Cluster Computing:
Reusing What Was Once New

Christopher J. Lininger

 

 

Summary:

The average lifetime of a computer today is approximately 3-4 years; at least that is how long companies are willing to support warranties on their products. The question becomes, what can be done with the old computers when it is time to purchase a new machine capable of running the latest programs? Currently the options are to store them in a closet or basement storage area, sell them to a local computer store (for a minute percentage of what you paid initially), or pay a computer recycling company to dispose of the parts properly. On the other hand, what if there was a way to put that old computer to work? What if it could continue to operate, and gain power to become a server for the household?

As a result of these questions this project was designed to find a way in which people can make these investments they have made on their computers stretch for the maximum return possible. By grouping a couple or more of these old systems together, working as a cluster computer, machines can extend the length of their usefulness by years. With every computer that is added to the cluster when a state of the art system is purchased, the cluster gets stronger and hopefully is able to maintain a similar level of ability as brand new systems for sale on the market.

However, people are only going to support this idea if creating, configuring, and maintaining a cluster computer is easy and understandable. It also goes without saying that if this is to be directed towards a home user the cluster must be able to perform typical functions of home desktop computers (which are expanding into some categories previously reserved for business and government). Another possible incentive for people to do this would be cost; people are only going to be interested if they don't have to invest a large amount of money to put a cluster computer together (therefore ideally the cost should be significantly less than a new computer).

In this project there were a number of areas where decisions had to be made from several possible design concepts, such as network topology, operating system, and clustering software. With the popularity of Ethernet in today's world it was difficult not to go with it simply based on that aspect alone. Morever, Ethernet provides the fastest connections available and when implemented with switches becomes the most reliable method of transporting information from one computer to another. Although there are some clustering software programs available for Windows the decision was made to go with the Linux operating system. Linux is open source, and therefore free of charge helping to keep costs down. On top of this, Linux can do everything that Windows can do, it is just that people are not as exposed to Linux and therefore don't understand it. It was determined that for the particular application this project is centered on the openMosix project was selected as the particular software package to be used in connecting all of the computers.

This project is an open source software extension of the once prevalent Mosix open source software. openMosix is a Linux kernel extension for single-system image clustering. The kernel patch transforms a network of ordinary computers into a supercomputer for Linux applications, once openMosix is installed nodes in the cluster begin talking to each other and the cluster adapts itself to the workload. Due to the fact that all openMosix extensions are inside the kernel, every Linux application automatically and transparently takes advantage of this distributed computing concept. Despite being Linux and not Microsoft an openMosix system can still perform all of the common tasks of a Microsoft computer including running: web-server, mail-server, file-server, and applications-server packages as well as office productivity software and a number of other desktop/workstation programs. Linux systems also have the ability to act as a file and print server for Microsoft boxes through the use of the Samba software, thus allowing a network of Linux and Microsoft computers working in harmony to fulfill every need.

Preliminary results confirm the original hypothesis that performance will increase linearly with each system that is added to the cluster. Pictures of the working prototype and components of the system can be seen on the following page in Figures 1-5. Figure 5 depicts the rocker switch which allows the administrator to set the speed of the central processing unit among certain preset values.

Information collected from Dell, HP/Compaq, and Gateway websites based on purchase of new high-end systems

Knox, Bruce. “What is openMosix?.” The openMosix Project . 13 Nov 2004 . 22 Nov 2004 . <http://openmosix.sourceforge.net/>