Contrary to what it may appear at first glance, it is quite easy to run interactive and graphic jobs under LoadLeveler. Of course you must have a workstation with X11 server and X11 authority running for that to work, but that goes without saying.
On your local workstation issue the command:
gustav@blanc:../Notes 17:51:08 !509 $ xauth list blanc.ovpit.indiana.edu:0 MIT-MAGIC-COOKIE-1 35704e716f6e69723965725843564a54 ... gustav@blanc:../Notes 21:12:17 !510 $Select the whole first line of the listing and switch to an
xterm running on the SP. There type:gustav@sp20:../LoadLeveler 20:58:34 !643 $ xauth add blanc.ovpit.indiana.edu:0 \ MIT-MAGIC-COOKIE-1 35704e716f6e69723965725843564a54Now you're ready to display X11 applications running on any of the SP nodes on your X11 server. To make sure that it really works type:
gustav@sp20:../LoadLeveler 20:59:00 !645 $ xclock -display blanc.ovpit.indiana.edu:0.0 &a clock face should pop up on your workstation's X11 display.
Now prepare the following LoadLeveler job description file:
gustav@sp20:../LoadLeveler 21:26:28 !654 $ cat xterm.ll # @ output = $(job_name).out # @ error = $(job_name).err # @ job_type = serial # @ class = test # @ notification = always # @ environment = COPY_ALL # @ executable = /afs/ovpit.indiana.edu/@sys/X11R6.4/bin/xterm # @ arguments = -bg white -ls -sb -sl 300 -n $(job_name) -T $(job_name) # @ queue gustav@sp20:../LoadLeveler 21:26:32 !655 $Now submit this job with
gustav@sp20:../LoadLeveler 21:26:32 !655 $ llsubmit xterm.ll submit: The job "sp20.29" has been submitted. gustav@sp20:../LoadLeveler 21:29:50 !656 $and an xterm window entitled
sp20.ucs.indiana.edu.29 will
pop up on your X11 display.
Why should one submit interactive jobs to LoadLeveler instead
of running them simply by connecting to a node? The answer is that
on many SP systems you cannot telnet or rlogin
or slogin to a node. There may be a usually overloaded
so called front end system, often an SMP node, and
P2SC nodes are accessible through LoadLeveler only.
In the LoadLeveler job specification above I have used a number of new keywords and LoadLeveler variables.
The keyword job_type specifies whether the job
is a serial job or a parallel one.
Instead of hardwiring the name of the output and error
logs, here I have used a LoadLeveler variable
$(job_name), which is going to evaluate
to whatever the job name is going to be, e.g.,
sp20.ucs.indiana.edu.29. I have also asked
for a notification to be sent to me on commencement
and on termination of the job. Normally it will be sent
on termination only.
You can submit Emacs, Octave, Mathematica, Maple, Lisp, AVS and many other interactive jobs that way too.
csh and tcsh users may encounter
some problems trying to pull this trick. Neither
shell is IEEE-1003.2 compliant and at times they
don't seem to interoperate with LoadLeveler well.
My suggestion to csh and tcsh users
is to switch to bash. You'll get much the same
interactive environment, whereas the shell is fully
complian with IEEE-1003.2 specs, and has no problems
interacting with LoadLeveler.