Nimrod/G Installation and Usage Instructions
<cut text...>
#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
termios termios.c # Steen Lumholt's termios module
resource resource.c # Jeremy Hylton's rlimit interface
<cut text...>
#rotor rotormodule.c # enigma-inspired encryption
syslog syslogmodule.c # syslog daemon interface
<cut text...>
# Tkinter module.
#
## The TKPATH variable is always enabled, to save you the effort.
TKPATH=:lib-tk
# *** Always uncomment this (leave the leading underscore in!):
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
-I@prefix@/include \
# *** Uncomment and edit to reflect where your X11 header files are:
-I/usr/include/X11 -I/usr/X11R6/include \
# *** Or uncomment this for Solaris:
-I/usr/openwin/include \
# *** Uncomment and edit for Tix extension only:
# -DWITH_TIX -ltix4.1.8.0 \
# *** Uncomment and edit for BLT extension only:
# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
# *** Uncomment and edit for PIL (TkImaging) extension only:
# -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \
# *** Uncomment and edit for TOGL extension only:
# -DWITH_TOGL togl.c \
# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
@prefix@/lib/libtk8.0.a @prefix@/lib/libtcl8.0.a \
# *** Uncomment and edit to reflect your Tcl/Tk versions:
# -ltk8.0 -ltcl8.0 \
# *** Uncomment and edit to reflect where your X11 libraries are:
-L/usr/lib/X11 -L/usr/X11R6/lib \
# *** Or uncomment this for Solaris:
-L/usr/openwin/lib \
# *** Uncomment these for TOGL extension only:
# -lGL -lGLU -lXext -lXmu \
# *** Uncomment for AIX:
# -lld \
# *** Always uncomment this; X11 libraries to link with:
-lX11
<cut text...>
Once you have you environment setup all that is left to do is to install Nimrod/G. This can be done in three steps:
./configure --prefix=<installation directory>
make install
<installation directory>/bin/nimrodgen <plan file>
|
<type> <contact> <cost> <timezone>
|
|
| Few examples: | |
fork localhost 0
|
|
globus bezek.dstc.monash.edu.au 0
|
|
globus bezek.dstc.monash.edu.au/jobmanager-condor 1
|
|
condor hathor.csse.monash.edu.au 1
|
|
legion dummyserver.csse.monash.edu.au 2
|
The cost field is just used for some of our experiments. There we basically cost a CPU cycle on some resource. Higher the number more it costs. This is going to be more clear a bit later. Similar situation is with 'timezone' where we used it simulate peak and off-peak time cost for different timezones. So, for example, at some time it would be cheaper for us to use local resources where at some time it would be better to use overseas or any other non-local resource.
One thing to note here is that your gatekeeper file has to be in the same
directory where your run file is. Now that we have a gatekeeper file we can
create an experiment. This is done by running:
<installation directory>/bin/nimrodcreate <run file>
|
This will print an experiment name on the screen, which is
basically going to have run file's name, unless there is an
experiment with such name. What is left to do is to fire up
Nimrod/G by running
<installation directory/bin/nimrod
First window that shows up gives you an option of what experiment to run (see Figure 1.). After selecting an experiment Nimrod/G window will open (see Figure 2.). Wait until it loads all jobs. When that is done you can set the time, i.e. tell Nimrod/G when you want this experiment to be finished by, set the cost, i.e. tell Nimrod/G how much money you are willing to spend on this experiment (as I said before ATM this is just our experiment). Then you can tell Nimrod/G to try to minimise either the time or cost, keeping in mind that it still needs to try to finish within the set time and cost limits. These three things can be done by opening Experiment menu and selecting Deadline option (see Figure 3.). Once this is done, tell Nimrod/G to start the experiment and let it do its job. |
Figure 2. Nimrod/G Interface |
So basically what you need to do to have Nimrod/G run experiment
is these few steps(assuming everything is running without problems):
|