CSE 225 Grids and High Performance Distributed Computing
Homework #1 January 22, 2003
Due:
In this homework, you will get basic orientation to
Globus 3.0. The Globus system is a large body of open source software
which is an infrastructure for Grid computing. In this homework
assignment, the objective is for you to complete the basic steps in using a
Grid system, and a grid system executing an application program. As
supporting information see links to gt3 documentation or please email hxia@cs.ucsd.edu:
·
GT3-alpha release homepage: http://www.globus.org/ogsa/releases/alpha/
· GT3-alpha release documentation: http://www-unix.globus.org/ogsa/docs/alpha/users_guide.html
In this homework, you will get basic orientation to
Globus 3.0. The Globus system is a large body of open source software
which is an infrastructure for Grid computing. In this homework
assignment, the objective is for you to complete the basic steps in using a
Grid system, and a grid system executing an application program. As
supporting information see links to gt3 documentation:
·GT3-alpha
release homepage: http://www.globus.org/ogsa/releases/alpha/
·GT3-alpha
release documentation: http://www-unix.globus.org/ogsa/docs/alpha/users_guide.html
There is information
on the resources you will be using at http://activeweb.ucsd.edu/, and the specific
machines are http://activeweb.ucsd.edu/Resources/Computational/SmallCluster.html.,
1. Login on {awl, axe, gouge, hoe, shears}.ucsd.edu using your CSE/UCSD account.
2.
GT3 has been installed under directory /home/hxia/x86/usr/local/gt3globus3
and you should be able to use it from there. However, if you would like to install it in
your own directory, please follow the GT3 official document and
use http://www-csag.ucsd.edu/projects/grid/memo/globus3_howto.html
as an example.
(Note, for your convenience, all the necessary packages are available in
directory /home/hxia/backup.)
3.
Set the environment variables (if you use
csh rather than bash, then you should use setenv):
export JAVA_HOME=/usr/java//home/hxia/x86/j2sdk1.4.1_01
export ANT_HOME=
/usr/local/ant/home/x86-local/ant1.5.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
export GLOBUS_LOCATION=/usr/local/gt3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gt3/lib
4. Get the Globus certificates:
o
Obtain host certificate (You needn't do this -- each
node only needs one host certificate)
% gtglobus3/setup-gsi
% /usr/local/gt3/bin/grid-cert-requestinstall/sbin/globus-local-deploy
–certhost {}
–key {} /opt/globus-mgrid<hostname>
o
Obtain user credentials for use with the Globus
3.0 installation (You should do this immediately as it may take some time!):
(1) % source /usr/local/gt3/setenv.sh (or use setenv.csh if you are using csh).
(2) % /home/usr/local/gt3/bin/grid-cert-request
(here you are prompted to set a passwd, remember it!)
(3) Send the file %/home/<youraccount>/.globus/usercert_request.pem to ca@globus.org. You can use any one of the following
methods:
- using your email client (outlook,
netscape, etc): copy the file content to your email body
- using the following command on a machine where
you can receive email such as gradlab.ucsd.edu
(please don’t do it on the cluster machines):
% cat
/home/hxia<youraccount>/.globus/usercert_request.pem
| mail ca@globus.organy other machines which can receive email)
Note: You only need one user
certificate for all the machines.
Please don’t send duplicated requests.
(4) Before going through the following steps, please wait the reply for your
certificate.
(5) Once you get reply, save the email to ~/.globus/usercert.pem. And execute “chmod 444
~/.globus/usercert.pem”.
1. %
grid-proxy-init (this should be done before you using Globus; it is valid
in 12 hous)
5. Create a file
cog.properties in /home/<your_user_name>/.globus, with following content:
usercert=/home/<your_user_name>/.globus/usercert.pem
userkey=/home/<your_user_name>/.globus/userkey.pem
proxy=/tmp/x509up_u<your_user_id>
cacert=/etc/grid-security/certificates
6.
NOTE: Directories
for GT3, Java, Ant have changed. Please change your environment as described
in section 3.
Run a simple program (date,
ls, echo or anything
else) using the globusrun command on a single processor compute resource (machname goes here):
·
cd /usr/local/gt3
·
source setenv.sh
·
bin/grid-proxy-init
·
cp etc/test.xml /home/<your_user_name>/test.xml
·
vi /home/<your_user_name>/test.xml
(change “/tmp/stdout” to “/home/<your_user_name>/stdout”)
·
java
org.globus.ogsa.impl.base.gram.client.GramClient http://gouge.ucsd.edu:8080/ogsa/services/base/gram/MasterManagedJobFactoryService
/home/<your_user_name>/test.xml
Here, you are running
“/bin/echo” with some parameters. The
output file is /home/<your_user_name>/stdout. You can check if the output is correct.
GT3 is
really COOL that it needs several minutes to run /bin/echo! So, be patient :-)
You might want to read
GlobusWorld Tutorial session 5
to understand the
test.xml file and change it for the following experiments.
7. Download the NAS
parallel benchmarks from http://www.nas.nasa.gov/Software/NPB/. Be sure to get
version 2.3, and you probably want to run NPB Class S to make sure everything
is working then run NPB Class A to get
some data on the system using modified test.xml.
1. Download
the NAS parallel benchmarks from http://www.nas.nasa.gov/Software/NPB/.
Be sure to get version 2.3, and you probably want to run NPB Class S to make
sure everything is working then run NPB
Class A to get some data on the system using the globusrun interface
8. document the running, runtime and results for each of these runs with logs of the command-line runs and the available output from stdout, calculate (1) the speedup using multiple machines v.s. single machine; (2) the speedup using multiple processes v.s. single process on one machine.
Turn in sufficient documentation to show that you personally did the tasks above and the runs completed successfully.