LoadLeveler Crib




LoadLeveler Directives (Keywords)

Note: only a subset of LoadLeveler directives, relevant to QPSF setup, is mentioned here.

# @ arguments = ...
specifies the list of arguments to pass to the #@executable, e.g.,
# @ arguments = -ls -sb -sl 300 -n $(job_name) -T $(job_name)
# @ class = ...
specifies the name of a job class, e.g.,
# @ class = half_hour
run the command llclass to see the list of classes and free slots per class available on our system
# @ comment = ...
describes characteristics or distinguishing features of the job, e.g.,
# @ comment = 4-(2,2,3,6tetramethyl-5-cyclohexanyl)-3-buten-2-one
# @ dependency = ...
specifies the dependencies between job steps, e.g.,
# @ dependency = (step1 == 0) && (step2 > 0)
# @ environment = ...
specifies your initial environment variables when your job starts; special keyword: COPY_ALL, e.g.,
# @ environment = COPY_ALL ; BATCH_JOB=true
# @ error = ...
specifies the name of the file to capture standard error messages, e.g.,
# @ error = xterm.err
# @ executable = ...
specifies the program to run, if omitted, the LoadLeveler file itself is assumed to be the executable, e.g.,
# @ executable = /usr/bin/xterm
# @ initialdir = ...
specifies the pathname of the directory to use as the initial working directory during execution of the job step, e.g.,
# @ initialdir = /home/qpsf/gustav/test-12
# @ job_name = ...
specifies the name of the job, e.g.,
# @ job_name = xterm
# @ job_type = ...
specifies the type of the job; can be serial, parallel, or pvm3; PVMe jobs are classified as parallel, not pvm3, e.g.,
# @ job_type = serial
# @ max_processors = ...
specifies the maximum number of processors requested for this parallel job, e.g.,
# @ max_processors = 12
# @ min_processors = ...
specifies the minimum number of processors requested for this parallel job, e.g.,
# @ min_processors = 6
# @ notification = ...
specifies when the user specified in #@notify_user is sent mail; can be always, error, start, never, complete, e.g.,
# @ notification = always
# @ notify_user = ...
specifies the user to whom mail is sent based on the #@notification keyword, e.g.,
# @ notify_user = gustav@cisr.anu.edu.au
# @ output = ...
specifies the name of the file to capture standard output, e.g.,
# @ output = xterm.out
# @ parallel_path = ...
used for PVM: tells the PVM process where to look for the executables when the parallel job spawns tasks, e.g.,
# @ parallel_path = /home/qpsf/gustav/pvm3/bin/RS6K
# @ queue
places one copy of the job step in the queue
# @ requirements = ...
list of requirements which a node must meet to execute the job; when submitting parallel job you may ask for:
# @ requirements = (Adapter == hps_ip)
or
# @ requirements = (Adapter == hps_us)
# @ restart
restarts job steps that terminate before completing; can be yes (the default) or no
# @ shell = ...
specifies the full pathname of the shell/interpreter to use for the job step; the interpreter must use # as a comment character, e.g.,
# @ shell = /opt/gnu/bin/bash
# @ step_name = ...
specifies the name of the job step, e.g.,
# @ step_name = compile
# @ user_priority = ...
sets the initial priority of the job step in relation to other job steps submitted by the same user, e.g.,
# @ user_priority = 50

LoadLeveler Macros

Note: the LoadLeveler macros can be used only within the LoadLeveler directives. Do not use LoadLeveler macros in shell scripts.

$(host) or $(hostname)
the hostname of the machine from which the job was submitted
$(domain)
the domain of the host from which the job was submitted
$(jobid) or $(cluster)
the sequential number assigned to this job by the submitting machine
$(stepid) or $(process)
the sequential number assigned to this job step when multiple queue statements are used in the job command file
$(executable)
the value of #@executable if defined
$(job_name)
the value of #@job_name if defined, otherwise a name given to the job automatically by LoadLeveler
$(step_name)
the value of #@step_name if defined, otherwise the value of the step assigned to the job automatically by LoadLeveler
$(class)
the value of #@class if defined, otherwise the default class
$(comment)
the value of #@comment if defined; for this to work the definition must be a single string with no blanks

LoadLeveler Commands

Note: only a subset of LoadLeveler commands of relevance to users is mentioned here.

llcancel
cancels one or more jobs from the LoadLeveler queue, e.g.,
$ llcancel s1n01.17968.0
llclass
query class information, e.g.,
$ llclass
or
$ llclass -l half_hour
llhold
places jobs in and releases them from user hold, e.g.,
$ llhold s1n01.17968.0
to hold, and
$ llhold -r s1n01.17968.0
to release
llprio
changes the priority of one or more job steps in the LoadLeveler queue, e.g.,
$ llprio +20 s1n01.17968.0
llq
returns information about dispatched jobs, e.g.,
$ llq
or
$ llq -x
for an extended information, or
$ llq -l -x s1n01.17968.0
for a long extended listing referring to the specified job
llstatus
returns status information about machines in the LoadLeveler pool, e.g.,
$ llstatus s1n22
or
$ llstatus -l s1n22
for a long listing
llsubmit
submits a job to LoadLeveler, e.g.,
$ llsubmit xterm.ll

For help and programming or academic assistance e-mail gustav@indiana.edu
Please e-mail any feedback related to this document to webmaster@beige.ucs.indiana.edu

This article by Zdzislaw Meglicki, 7th February 1997

[DocId:ll-crib.html, Version:1.4, Date:98/07/10 15:20:12]