IBM LoadLeveler for AIX 5L: Using and Administering
The information in both the LoadL_config and the
LoadL_config.local files is in the form of a
statement. These statements are made up of keywords and
values. There are three types of configuration file
keywords:
Configuration file statements take one of the following formats:
keyword=value
keyword:value
Statements in the form keyword=value are used primarily to
customize an environment. Statements in the form
keyword:value are used by LoadLeveler to characterize the
machine and are known as part of the machine description. Every machine
in LoadLeveler has its own machine description which is read by the central
manager when LoadLeveler is started.
To continue configuration file statements, use the back-slash character
(\).
In the configuration file, comments must be on a separate line from keyword
statements.
You can use the following types of constants and operators in the
configuration file.
Constants may be represented as:
- Boolean expressions
- Signed integers
- Floating point values
- Strings enclosed in double quotes (" ").
You can use the following C operators. The
operators are listed in order of precedence. All of these operators are
evaluated from left to right:
- !
- * /
- - +
- < <= > >=
- == !=
- &&
- ||
This type of variable, which is generally created and defined by the user,
can be named using any combination of letters and numbers. A
user-defined variable is set equal to values, where the value
defines conditions, names files, or sets numeric values. For example,
you can create a variable named MY_MACHINE and set it equal to the
name of your machine named iron as follows:
MY_MACHINE = iron.ore.met.com
You can then identify the keyword using a dollar sign ($) and
parenthesis. For example, the literal $(MY_MACHINE)
following the definition in the previous example results in the automatic
substitution of iron.ore.met.com in place of
$(MY_MACHINE).
User-defined definitions may contain references, enclosed in parenthesis,
to previously defined keywords. Therefore:
A = xxx
C = $(A)
is a valid expression and the resulting value of C is
xxx. Note that C is actually bound to
A, not to its value, so that
A = xxx
C = $(A)
A = yyy
is also legal and the resulting value of C is
yyy.
The sample configuration file shipped with the product defines and uses
some "user-defined" variables.
The LoadLeveler product includes variables that you can
use in the configuration file. LoadLeveler variables are evaluated by
the LoadLeveler daemons at various stages. They do not require you to
use any special characters (such as a parenthesis or a dollar sign) to
identify them.
LoadLeveler provides the following variables that you can use in your
configuration file statements.
- Arch
- Indicates the system architecture. Note that Arch is a
special case of a LoadLeveler variable called a machine variable. You
specify a machine variable using the following format:
variable : $(value)
- ConsumableCpus
- The number of ConsumableCpus currently available on the
machine, if ConsumableCpus is defined in the configuration file keyword, SCHEDULE_BY_RESOURCES. If it is not defined in
SCHEDULE_BY_RESOURCES, then it is equivalent to
Cpus.
- ConsumableMemory
- The amount of ConsumableMemory currently available on the
machine, if ConsumableMemory is defined in the configuration file keyword, SCHEDULE_BY_RESOURCES. If it is not defined in
SCHEDULE_BY_RESOURCES, then it is equivalent to
Memory.
- ConsumableVirtualMemory
- The amount of ConsumableVirtualMemory currently available on
the machine, if ConsumableVirtualMemory is defined in the configuration file keyword, SCHEDULE_BY_RESOURCES. If it is not defined in
SCHEDULE_BY_RESOURCES, then it is equivalent to
VirtualMemory.
- Cpus
- The number of CPU's installed.
- CurrentTime
- The UNIX date; the current system time, in seconds, since
January 1, 1970, as returned by the time() function.
- CustomMetric
- Sets a relative machine priority.
- Disk
- The free disk space in kilobytes on the file system where the executables
for the LoadLeveler jobs assigned to this machine are stored. This
refers to the file system that is defined by the execute keyword.
- domain or domainname
- Dynamically indicates the official name of the domain of the current host
machine where the program is running. Whenever a machine name can be
specified or one is assumed, a domain name is assigned if none is
present.
- EnteredCurrentState
- The value of CurrentTime when the current state (START,
SUSPEND, etc) was entered.
- FreeRealMemory
- The amount of free real memory (in megabytes) on the machine. This
value should track very closely with the "fre" value of the vmstat
command and the "free" value of the svmon -G command (units are 4K
blocks).
- host or hostname
- Dynamically indicates the official name of the host machine where the
program is running. host returns the machine name without
the domain name; hostname returns the machine and the
domain.
- KeyboardIdle
- The number of seconds since the keyboard or mouse was last used. It
also includes any telnet or interactive activity from any remote
machine.
- LoadAvg
- The Berkely one-minute load average, a measure of the CPU load on the
system. The load average is the average of the number of processes
ready to run or waiting for disk I/O to complete. The load average does
not map to CPU time.
- Machine
- Indicates the name of the current machine. Note that
Machine is a special case of a LoadLeveler variable called a
machine variable. See the description of the Arch variable
for more information.
- Memory
- The physical memory installed on the machine in megabytes.
- MasterMachPriority
- A value that is equal to 1 for nodes which are master nodes, and is equal
to 0 otherwise.
- OpSys
- Indicates the operating system on the host where the program is
running. This value is automatically determined and need not be defined
in the configuration file. Note that OpSys is a special case
of a LoadLeveler variable called a machine variable. See the
description of the Arch variable for more information.
- PagesFreed
- The number of pages freed per second by the page replacement algorithm of
the virtual memory manager.
- PagesScanned
- The number of pages scanned per second by the page replacement algorithm
of the virtual memory manager.
- QDate
- The difference in seconds between when LoadLeveler (specifically the
negotiator daemon) comes up and when the job is submitted using
llsubmit.
- Speed
- The relative speed of a machine.
- State
- The state of the startd daemon.
- tilde
- The home directory for the LoadLeveler userid.
- UserPrio
- The user defined priority of the job. The priority ranges from 0 to
100, with higher numbers corresponding to greater priority.
- VirtualMemory
- The size of available swap space (free paging space) on the machine
in kilobytes.
You can use the following time variables in the START,
SUSPEND, CONTINUE, VACATE, and KILL expressions. If you use these
variables in the START expression and you are operating across multiple time
zones, unexpected results may occur. This is because the negotiator
daemon evaluates the START expressions and this evaluation is done in the time
zone in which the negotiator resides. Your executing machine also
evaluates the START expression and if your executing machine is in a different
time zone, the results you may receive may be inconsistent. To prevent
this inconsistency from occurring, ensure that both your negotiator daemon and
your executing machine are in the same time zone.
- tm_hour
- The number of hours since midnight (0-23).
- tm_min
- Number of minutes after the hour (0-59).
- tm_sec
- Number of seconds after the minute (0-59).
- tm_isdst
- Daylight Savings Time flag: positive when in effect, zero when not
in effect, negative when information is unavailable. For example, to
start jobs between 5 PM and 8 AM during the month of October, factoring in an
adjustment for Daylight Savings Time, you can issue:
START: (tm_mon == 9) && (tm_hour < 8) && (tm_hour > 17) && (tm_isdst = 1)
- tm_mday
- The number of the day of the month (1-31).
- tm_wday
- Number of days since Sunday (0-6).
- tm_yday
- Number of days since January 1 (0-365).
- tm_mon
- Number of months since January (0-11).
- tm_year
- The number of years since 1900 (0-9999). For example:
tm_year == 100
Denotes the year 2000.
- tm4_year
- The integer representation of the current year. For example:
tm4_year == 2010
Denotes the year 2010.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]