July 2008 Michael Creel Universitat Autònoma de Barcelona You can check for more recent versions of this document at http://pareto.uab.es/mcreel/PelicanHPC/Tutorial/ PelicanTutorial.html
1. 2. 3. 4. 5. Introduction Initial setup Example software Saving your work Using the make_pelican script
IntroductionPelicanHPC is a rapid (around 5 minutes, when you know what you're doing) means of setting up a high performance computing (HPC) cluster for parallel computing using MPI. This tutorial gives a basic description of what PelicanHPC does, addresses how to use the released CD images to set up a HPC cluster, and gives some basic examples of usage.
Description of PelicanHPCPelicanHPC is a distribution of GNU/Linux that runs as a "live CD" (or as a virtualization appliance). If the ISO image file is burnt to a CD, the resulting CD can be used to boot a computer. The computer on which PelicanHPC is booted is referred to as the "frontend node", which is the computer that the user interacts with. Once PelicanHPC is running, a script "pelican_setup" may be run. This script configures the frontend node as a netboot server. After this has been done, other computers can boot copies of PelicanHPC over the network. These other computers are referred to as "compute nodes". PelicanHPC configures the cluster made up of the frontend node and the compute nodes so that MPIbased parallel computing may be done.A "live CD" such as PelicanHPC does not use the hard disk of any of the nodes, so it will not destroy or alter your installed operating system. When the PelicanHPC cluster is shut down, all of the computers are in their original state, and will boot back into whatever operating system is installed.
The frontend node can be a real computer booted using a CD, or a virtual machine that is booted using the CD image file. With this second option, PelicanHPC can be used at the same time as the normal work environment, which may be any of the common operating systems.
• • • • •
The compute nodes are normally real computers, but they can also be virtual. Supports MPIbased parallel computing using Fortran (77, 90), C, C++, and GNU Octave (using MPITB). Offers the Open MPI and LAM/MPI implementations of MPI. Cluster can be resized to add or remove nodes using the "pelican_restarthpc" command. Easily extensible to add packages. Also easily modifiable, since the PelicanHPC CD image is created using a single script that uses the Debian Live system for creating a live CD image. For this reason, the distributed version is basic and lightweight. Versions exist for 32 bit CPUs (Pentium 4, Core, Sempron) and for 64 bit CPUs (Opteron, Turion, Core 2, etc.) Contains example software: Linpack HPL benchmark and extensive examples that use MPITB for GNU Octave.
Limitations and requirements
The compute nodes must be booted over the network. This is an option offered by all modern networking devices supplied with motherboards, but it often must be enabled in the BIOS setup. Enable it, and give it higher priority that booting from hard disk or other sources. If you have a network card that won't do netboot, it is possible to work around this using romomatic. A PelicanHPC cluster is "volatile". It disappears when the machines are turned off. It is possible (see below) to use hard disk space or other storage to retain work, but this requires some knowledge of the GNU/Linux operating system. If using virtualization, is is possible to take snapshots of the nodes, which allows work to be recovered quickly. PelicanHPC is not meant to be installed as the primary operating system of a computer. A PelicanHPC cluster is designed to be used by a single person.
Licensing and Disclaimer
PelicanHPC is a CD image made by running a script (see below). The script is licensed GPL v3. The ...