Early versions of Little-Fe used the Debian Linux distribution as the basis for the system software. This was augmented by a wide variety of system, communication, and computational science packages, each of which had to be installed and configured on each of the 8 nodes. Even with cluster management tools such as C3 this was still a time-consuming process. One of our primary goals has been to reduce the friction associated with using HPC resources for computational science education. This friction is made-up of the time and knowledge required to configure and maintain HPC resources. To this end we re-designed Little-Fe's system software to use Paul Gray's Bootable Cluster CD (BCCD) distribution. The BCCD comes ready-to-run with all of the system and scientific software tools necessary to support a wide range of computational science education. A list of highlights include:
- gcc, g77, and development tools, editors, profiling libraries and debugging utilities
- Cluster Command and Control (C3) tools
- MPICH, LAM-MPI and PVM in every box
- The X Window System
- OpenMosix with openmosixview and userland openMosix tools
- Full Torque and Maui scheduler support
- octave, gnuplot, Mozilla's Firefox, and about 1400 userland utlities
- Network configuration and debugging utilities
- Ganglia and other monitoring packages
Another important aspect of the BCCD environment is the ability to dynamically install packages to tailor the running environment. The BCCD distribution offers supplemental binary packages that are designed to be added as desired to a running BCCD image to extend curricular explorations, to promote research, to further profile or debug applications, and so on. These supplemental packages, installable using the BCCD "list-packages" tool, add
- functionality, such as program profiling support through http://user.it.uu.se/~mikpe/linux/perfctr/ perfctr (http://user.it.uu.se/~mikpe/linux/perfctr/) and the Performance API utilities (http://icl.cs.utk.edu/papi/)
- curricular components, such as lesson plans that leverage Gromacs (http://www.gromacs.org/)
- research tools such as planned support for mpiBLAST (http://mpiblast.lanl.gov/) and CONDOR (http://www.cs.wisc.edu/condor/)
- more utilities, such as pyMPI support (http://sourceforge.net/projects/pympi)
- and workarounds for less-than-optimal configurations
More information about the BCCD can be found at http://bccd.cs.uni.edu.
While the name would imply that it is exclusively used for running off of a CDROM image, the BCCD has evolved to support many other forms of operation including network or PXE-booting, running from a RAM disk, and even recent success running off of USB "pen" drives.
The BCCD is designed to be completely non-intrusive to the local hard drive, that is you boot from the CD. For teaching lab configurations this very important. Little-Fe's environment permits permanent installation on the local hard drive. This both simplifies the on-going use and improves performance for some types of loads. In order to accomplish this "fossilization" on the head node's hard disk the following steps are performed:
- Download and burn the current BCCD x86 ISO image from http://bccd.cs.uni.edu.
- Place the CD in Little-Fe's drive and boot the head node.
- Login as root.
- Follow the Little-Fe Bootstrap instructions at http://cluster.earlham.edu.
- Reboot the head node.
- Login as root.
- Run "$ list-packages" and install the Little-Fe Configuration package.
- The configuration package will be downloaded and run by list-packages. The script will be prompt you for information about your hardware and network configuration.
- Reboot the head node.
- Boot each of the compute nodes.
- Login as bccd.
- Start teaching computational science.
This set of steps is only required when the BCCD is initially installed on the Little-Fe hardware. Successive uses only require booting the head node and then each of the compute nodes.
The BCCD image was motivated and its evolution is sustained by efforts in the teaching of high performance computing. Curricular modules developed for the BCCD are installed through the above-mentioned "list-packages" tool. Some of the curricular modules that have been developed for the BCCD image, and used in the recent week-long NCSI workshop held this past summer at the OU Supercomputing Center for Education and Research, include content on molecular dynamics using Gromacs, application performance evaluation using PAPI, and linear algebra explorations that compare BLAS from LINPACK, ATLAS, and Kazushige Goto (http://www.tacc.utexas.edu/resources/software/gotoblasfaq.php). Through these and other curricular packages that are being developed, the educational aspect of the LittleFe environment boasts eye-catching educational content which is extremely robust and requires minimal system setup.
|