University of Perugia - Grid Testbed
Grid Testbed on a three Beowulf-type
workstation clusters based on Globus Toolkit 2.2
Topology
GRID (9 SMP working nodes, 18 working CPU on a Beowulf architecture)
Intel Pentium III double-processor 1 Ghz18 Gbyte RAMEIDE/SCSI hdiskGigabit-Ethernet basedLinux RedHat 7.2 2.4.13 SMP mosix kernel based.
HPC (8 SMP working nodes, 16 working CPU on a Beowulf architecture)
4 Intel Pentium II double-processor 550 Mhz1 Intel Pentium II double-processor 450 Mhz3 Intel Pentium II double-processor 400 Mhz4 Gbyte RAMEIDE/SCSI hdiskFast-Ethernet basedLinux RedHat 6.2 2.2.16-3 SMP kernel based.
GIZA (8 SMP working nodes on a Beowulf architecture)
Intel Pentium III single-processor 800 Mhz4 Gbyte RAMEIDE hdiskFast-Ethernet basedLinux RedHat 7.0 2.2.19 kernel based.
Installation
1 - GPT Installation
======================================================================
# export GLOBUS_LOCATION=/usr/local/globus/
# export GPT_LOCATION=/usr/local/globus/
# tar -zxvf gpt-2.2.9-src.tar.gz
# cd gpt-2.2.9
# ./build_gpt
======================================================================
2 - Local vendor MPI Installation (MPICH)
======================================================================
>Workaround required (buffer too small), see Appendix A
# ./configure --with-device=ch_p4 --with-arch=LINUX \
-prefix=/usr/local/mpich_vendor/
# make
# make install
======================================================================
3 - Resource management Installation
======================================================================
# $GPT_LOCATION/sbin/gpt-build \
globus-resource-management-client-2.2.4-src_bundle.tar.gz gcc32 \
-log=rsman.client.log
# $GPT_LOCATION/sbin/gpt-build \
globus-resource-management-sdk-2.2.4-src_bundle.tar.gz gcc32 \
-log=rsman.sdk.log
# $GPT_LOCATION/sbin/gpt-build \
globus-resource-management-server-2.2.4-src_bundle.tar.gz gcc32 \
-log=rsman.server.log
# . $GLOBUS_LOCATION/etc/globus-user-env.sh
# $GPT_LOCATION/sbin/gpt-postinstall
# /usr/local/globus//setup/globus/setup-gsi
# $GPT_LOCATION/sbin/gpt-verify
======================================================================
4 - Data Management Installation
======================================================================
# $GPT_LOCATION/sbin/gpt-build \
globus-data-management-client-2.2.4-src_bundle.tar.gz gcc32 \
-log=datamana.client.log
# $GPT_LOCATION/sbin/gpt-build \
globus-data-management-sdk-2.2.4-src_bundle.tar.gz gcc32 \
-log=datamana.sdk.log
# $GPT_LOCATION/sbin/gpt-build \
globus-data-management-server-2.2.4-src_bundle.tar.gz gcc32 \
-log=datamana.server.log
# $GPT_LOCATION/sbin/gpt-postinstall
# $GPT_LOCATION/sbin/gpt-verify
======================================================================
5 - Certification Authority (CA) Installation
======================================================================
# $GLOBUS_LOCATION/sbin/gpt-build \
globus_simple_ca_bundle-latest.tar.gz gcc32 \
-log=simpleca.log
# . $GLOBUS_LOCATION/etc/globus-user-env.sh
# $GPT_LOCATION/sbin/gpt-postinstall
# /usr/local/globus//setup/globus_simple_ca_c629cd04_setup/setup-gsi
# grid-default-ca
======================================================================
6 - Verify
======================================================================
# $GPT_LOCATION/sbin/gpt-verify
======================================================================
7 - Flavor mpicc32 for Resource management SDK
======================================================================
>Workaround required in /usr/local/mpich_vendor/bin/mpicc
A quick fix is to change mpicc in the following way:
--- mpicc.orig Thu Mar 13 22:02:41 2003
+++ mpicc Thu Mar 13 21:53:20 2003
@@ -126,6 +126,7 @@
compileargs="$compileargs $arg"
HasDashC=1
DoLink=0
DoCompile=1
;;
-mpilog)
# $GPT_LOCATION/sbin/gpt-build \
globus-resource-management-sdk-2.2.4-src_bundle.tar.gz mpicc32 \
-log=rsman.mpi.sdk.log
======================================================================
8 - MPICH-G2 Installation
======================================================================
>Same workaround required in Appendix A
# tar -zxvf mpich-1.2.5-1a.tar.gz
# cd mpich-1.2.5
# ./configure -prefix=/usr/local/mpichg2 --with-arch=LINUX \
-device=globus2:-flavor=mpicc32
# make
# make install
# /usr/local/globus/setup/globus/setup-globus-gram-job-manager
======================================================================
********************************
*APPENDIX A - mpich workaround *
********************************
Copy these files in the mpich location (before your compilation):
p4_defs.h
p4_sock_cr.c
# cd >mpich-1.2.5_location<
# cp p4_defs.h mpid/ch_p4/p4/lib/
# cp p4_sock_cr.c mpid/ch_p4/p4/lib/
Final Notes
- Add to every RSL script environment:
(P4_SETS_ALL_ENVVARS 1)
- Change the default (/usr/bin/mpirun) in /usr/local/globus/lib/perl/Globus/GRAM/JobManager/fork.pm with the value:
/usr/local/mpich_vendor/bin/mpirun
- Customize the file /usr/local/mpich_vendor/share/machines.LINUX with your cluster's nodes
Finally, you will be able to explore the MDS resources of this cluster.
carlo@unipg.it