About this site
What is Beowulf?
Linux Beowulf was invented by Thomas Sterling and Don Becker in 1994. It used sixteen 486DX4 computers linked to function as a supercomputer. More history Early photo We have new insight into our weather patterns and the ozone hole as a result of these machines. They are also used to simulate a nuclear explosion.
The machines the original Beowulf used were designed for DOS, so DOS just makes more sense to me as a platform. Like most Government creations, Linux Beowulf is overly complex and benefits only a few. Clusters have been built using Macs and Amigas. In the mid '80s I built a cluster of three Commodore 64s in a Master/Slave configuration. It worked well and was much faster than one machine.
Why this project?
I can imagine how the
world could change if some form of supercomputing were available to amateur
scientists and inventors. A scientist doesn't want to become a Linux
administrator, he just wants to see the results of his new equation. The complexity
of Beowulf class machines is far from user friendly, and I know from experience
that this is unnecessary.
A second problem is cost. Typically it is "about a tenth that of a supercomputer" (Cray class). That is still well above the budget for all but the largest labs. Much of that cost is the network. The "Collective" (Beowulf class) not only has the network, but also banks of switches.
I believe Beowulf should be made user friendly enough for most anyone with a little background in computers. A properly designed architecture would not require large amounts of data to be transferred from node to node. Supercomputers of ANY class were not meant to replace the pocket calculator. They are only useful where many, many repetitions are needed, and even then they are only suitable for some problems; ones that can be broken down into operations that can be solved in parallel.
I thought of many ways to implement this, some with added hardware, others with more sophisticated software. I chose the ring parallel port scheme, since even though it is the slowest, it is the safest. Damage to the parallel port of modern machines means replacing the motherboard. UBASIC was chosen because it is easy to learn, fast, and handles some pretty sophisticated math.
The "standard" parallel port was designed to interface with a Centronics printer ONLY. Four of the lines are inverted (1, 11, 14, and 17) and to make things more interesting, pin 1 has a R/C time delay. Because of this the UBASIC code I wrote has some peculiarities that deal with that. It really deserves to be written in machine code, but I found that it is very easy to make it run TOO fast since not all lines switch at exactly the same time. This caused read errors.