Article: Building a Linux Minicluster using commodity components
Sep 19, 2002 — by LinuxDevices Staff — from the LinuxDevices Archive — 54 viewsIntroduction
In the summer of 2001 an initiative named the “Embedded Reasoning Institute” took form at Sandia National Laboratories, Livermore, CA. This initiative was a program for student interns involving design and implementation of systems by use of embedded systems components, wearable computers, and wireless technologies.
With experience gained in Embedded Reasoning Institute projects, members of our High Performance Computing and Networking group set about integrating a cluster computer for use in the upcoming Supercomputing 2001 Conference to be held in Denver, Colorado in November. The initial plan was to construct a four-node cluster for use in parallel programming tutorials, demonstrations, and displays. The cluster would be composed of small form-factor single-board computers.
Building the "Minicluster"
After considering several small form-factor CPUs, we chose a PC/104 CPU module from Advanced Digital Logic which was essentially an entire system board with Pentium MMX 266 MHz CPU, 10/100 Ethernet interface, onboard video, memory, CompactFlash socket, and IDE interface all on a single PC/104 board. We decided to stack the CPU modules by utilizing double-height adaptors (bus spacers) in the construction of the stack, cutting all pins on the adaptors except those assigned to supply power on the PC/104 bus. We also decided to put a PCMCIA adaptor module into the stack, and to interface this adaptor to the cluster head node to support a wired or wireless network interface adapter.
Minicluster components prior to assembly
We utilized parvus Corporation's components, packaging, and integration services to build the "Minicluster". Parvus supplied the snapstick incremental card cage components, as well as 110 VAC power supply, KVM switch, PCMCIA, and network hub modules — all of which are PC/104 modules that fit our design. In short order, parvus did a fine job integrating the cluster and performing the initial hardware tests. Final assembly came together with few glitches. Final tests of the system took some time, as each cluster node was configured with Mandrake Linux 8.1 and functionally tested.
Here are some photos of the assembled Minicluster, showing the PC/104 module tower from all four sides . . .
The assembly of the Minicluster is documented in this HowTo.
To Supercomputing 2001 and beyond
Our Researchers had a couple of weeks of hands-on experience with the Minicluster prior to taking it to the Supercomputing 2001 Conference. In preparation for the trip, we obtained an aluminum case that meets specifications for airline carry-on luggage for use in transporting the Minicluster.
The machine garnered a lot of attention at the show. Supercomputing researchers often have to demonstrate and give tutorials on the use of their code. Without exception, this software is designed to run on a parallel computer and cannot be adequately shown or explained on a single processor. This requires them to haul a rack of machines, usually a PC-compatible cluster, to the meeting at great expense. The PC/104 Minicluster, on the other hand, fits easily in a suitcase, will go in the overhead rack of a 737, and reduces the logistics of portable parallel computing to not much more than a laptop.
In December 2001 the Minicluster project was presented as a Work-In-Progress (WIP) report at the Large Installation System Administration (LISA) Conference in San Diego. We exhibited the Minicluster at the Embedded Systems Conference & Expo at San Francisco in March 2002, where we were approached by LinuxDevices.com to present this overview of our project.
What comes next
The current Minicluster has four PC/104 nodes networked with a 10baseT hub — adequate for demonstrations. The PC/104 marketplace does not stand still, and currently, a next generation model is being created. Future designs call for a 100baseT switch and processors that are roughly twice as fast.
One of the motivations for building the Minicluster was to inspire others to expand or improve on our design. We are happy to report that this wish has come to fruition with the likes of the bento cluster and the DQ cluster created by the folks at LinuxBIOS.org.
In designing and implementing the Minicluster, we have overcome some of the limiting factors in transporting cluster computing components, creating a personal cluster which is nearly as easy to take on the road as a laptop. Our researchers may now take their parallel computing tools with them.
About the authors: Rob Armstrong (left) came up with the idea to build the Minicluster and Mitch Williams (right) worked on the design and integration.
Mitch Williams is an engineering technologist at Sandia National Laboratories. Mitch played a key role in the formation of Sandia's Embedded Reasoning Institute and has a background in embedded systems and systems administration. Mitch works on special projects for the Sandia's High Performance Computing and Networking group.
Rob Armstrong is a Principal Member of Technical Staff at Sandia National Laboratories. Rob was one of the founders of the Sandia's Embedded Reasoning Institute and has an abiding interest in embedded systems and software intelligence. Rob's main purpose in life however, is high performance computing and he currently serves as the chair of the Common Component Architecture Working Group, a standards organization for component models in high performance computing.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.