HCL cluster
Contents
General Information
The hcl cluster is heterogeneous in computing hardware & network ability.
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.
The diagram below shows a schematic of the cluster.
Detailed Cluster Specification
A table of hardware configuration is available here: Cluster Specification
Software packages available on HCL Cluster 2.0
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:
- autoconf
- automake
- fftw2
- git
- gfortran
- gnuplot
- libtool
- netperf
- octave3.2
- qhull
- subversion
- valgrind
- gsl-dev
- vim
- python
- mc
- openmpi-bin
- openmpi-dev
- evince
- libboost-graph-dev
- libboost-serialization-dev
- r-cran-strucchange
- graphviz
- doxygen
new hcl node install & configuration log
new heterogeneous.ucd.ie install log
Access and Security
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)
Compilation on HCL
- Add to your environment
export ARCH=`uname -r`
if [ `hostname` == 'hcl13.ucd.ie' ]; then
export ARCH=`uname -r`smp
fi
- On hcl09 and hcl10, create a directory $HOME/$ARCH. Actually, 2.4.27-2-386 and 2.6.11-1.1369_FC4smp directories will be created.
- Configure all the software on hcl09 and hcl10, with
--prefix=$ARCH
Installing Precompiled Software on HCL Fedora Core 4 nodes
If you need a piece of software that is not already installed you may not need to compile it from source. It is possible to install pre-compiled packages to folders in your home directory<ref>http://www.ajay.ws/2009/7/10/install-a-rpm-in-home-directory-as-non-root</ref>, and this is often easier than compiling from source. The cluster uses two different OSes at present, Fedora Core 4 and Debian. These both have different pre-compiled package formats, RPM for Fedora and .deb for Debian. Unfortunately relocating the default install directory of a .deb package is troublesome, so this article only pertains to Fedora.
Fedora Core 4 is was EOL'd in 2006<ref>http://fedoraproject.org/wiki/LifeCycle/EOL</ref>and 4 years later there are few remaining resources supporting it. You can still find Fedora 4 RPMs at the following links (long unsearchable lists, give them time to load):
http://ftp.heanet.ie/pub/fedora-archive/fedora/linux/core/4/i386/os/Fedora/i386
http://ftp.heanet.ie/pub/fedora-archive/fedora/linux/extras/4/i386
http://ftp.heanet.ie/pub/fedora-archive/fedora/linux/core/updates/4/i386
What follows is an example of installing the 'gv' (ghostview) package into a folder defined by an environment variable: $APPSDIR
(which has a similar to purpose to $ARCH
in the previous section).
- find an RPM file for your desired package
- create rpm database directory in local tree (only do this once):
mkdir -p $APPSDIR/var/lib/rpm
- initialise rpm database (do this only once also):
rpm --initdb --root $APPSDIR
- check what files are installed by the RPM file of your package
rpm -qlp gv-3.6.1-4.fc4.i386.rpm
- test for dependencies (install will not be successful and command will report an error accessing the root rpm database, ignore this):
rpm -ivh gv-3.6.1-4.fc4.i386.rpm
if a dependency is found, the RPM for it must also be found and appended to therpm -i
command (until no further dependencies are required). - do actual install to our local folder:
rpm --root $APPSDIR --relocate /usr=$APPSDIR --nodeps -ivh gv-3.6.1-4.fc4.i386.rpm