BEAM BEOWULF SYSTEMS
IntroductionBEAM have been developing software for and producing parallel computing systems based on Unix for ten years. Most of or work has been with embedded processors installed within PC based Unix Workstations. Now with the advent of the Open Source Linux operating system, fast 100Mbit network switches, low CPU utilisation Ethernet cards and low cost fast PC processors the way has been opened to produce very flexible, extensible and low cost parallel computing platforms based upon PC Hardware.
Systems HardwareThe system hardware consists of a host node and many worker nodes each enclosed in individual rack mounting cases that are installed into rack towers. Each node is based on PC architecture and has either two Intel Pentium II 450Mhz processors or a DEC Alpha processor with local caches sharing 128 Mbytes or more of PC100 SDRAM RAM and a local disk. Local RAM and I/O devices are easily up-gradable. The nodes and host are interconnected by 100Mbit fast Ethernet connections through fast Ethernet switch units. The Ethernet switch provides full bi-directional wire speed networking performance between all nodes giving a node bandwidth of 200Mbits/s. The host is connected via a separate Ethernet gateway to the sites local area network. As well as the low cost Ethernet communications Gigabit Ethernet
and point-to-point networks can be optionally used.
Each node can have a number of PCI devices attached. These include Alpha processing boards and FPGA boards.
The system is inherently multi-user and can be used from the console or from any computer on the local area network.
The system is expandable to add more nodes as required.
Systems SoftwareThe software for the system is based upon the stable and becoming increasingly popular, Open Source, Linux operating system. The host and each node runs an optimised Linux kernel and has access to the full system resources. The system includes compilers for 'C', 'C++', Objective C, Fortran, Java, Pascal, Perl, tk etc. Embedded processors run a micro Linux kernel that communicates with a host I/O processor on the host node.
Software for parallel processing comes from the world wide development community and is based upon the work of the Beowulf Project at CEDIS. Software includes PVM, MPI and BSP. Also conventional Unix process communication and inter networking is available such as SYSV IPC, pthreads and TCP/IP networking. Each Intel Pentium node is run as a dual processor SMP machine. All of the systems software is available in source code form.
In addition to the standard Linux and parallel processing software comes BEAMS parallel processing tool kit and a host of development goodies including:
- Integrated development environment
- GUI based symbolic debugger
- GUI source code editor
- Automatic installation of software on the nodes from host system.
- Management of nodes from host system including boot up messages and control to reboot and power off.
- Performance monitoring application for CPU's, RAM and communications in the system.
Other devicesDue to the use of PC PCI bus based motherboards and the Linux operating system, it is easy to add processing and I/O devices to each node. Some examples include:
- AlphaData DEC Alpha based processing boards
- FPGA compute engine boards
- Frame Grabbers
- High Bandwidth Display Boards
- Digital Input/Output
Communications PerformanceThe performance of the inter node communications is very important in getting real parallel computer performance from applications. BEAM Beowulf systems are based upon a switch 100Mbit Ethernet network. The Ethernet cards in each machine operate in full duplex 100Mbit/s mode providing a maximum bi-directional data rate of 200Mbits/s. The Ethernet switches employed offer full wire performance between all nodes simultaneously up to quite a large number of nodes.
Processing PerformanceEach Pentium node has two Pentium II 450Mhz processors each of these has the following performance figures: