next up previous index
Next: Submitting a not quite Up: Specification of LoadLeveler Jobs Previous: Specification of LoadLeveler Jobs

Interactive LoadLeveler Jobs

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  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 \
MIT-MAGIC-COOKIE-1  35704e716f6e69723965725843564a54
Now 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 &
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/
# @ 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 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., 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.

next up previous index
Next: Submitting a not quite Up: Specification of LoadLeveler Jobs Previous: Specification of LoadLeveler Jobs
Zdzislaw Meglicki