Using and Administering

Batch Configuration

The following configuration file defines dedicated batch machines. Notice, however, that jobs in the lp class will suspend when a machine becomes too busy. So in this sense, the machines are not fully dedicated.

#==============================================================================#
# Description: LoadL_config.local for Large Batch Servers ( 580 - 590 Class )
#==============================================================================#
# Need 3x Real Memory To Paging Space ( minimum ) For Worst Case Of One
# Suspended and Two Foreground Running Job.
#    *) High Priority Jobs (btv) Never Suspend.
#    *) Job Suspension (lp) Based on LoadAvg Only.
#    *) Real Memory >= 192meg.
#==============================================================================#
 
#==============================================================================#
# Class defines the permissable classes, MAX_STARTERS defines the max
# total jobs to be permitted.
#==============================================================================#
Class        = { "btv" "lp" }
MAX_STARTERS = 2
 
#==============================================================================#
# The next definitions are used in the expressions below to regulate the
# conditions under which jobs get started, suspended, and evicted.
#
#     All times are specified in units of seconds.
#==============================================================================#
BackgroundLoad   = 0.5
HighLoad         = 1.6
StartIdleTime    = 900
ContinueIdleTime = 900
 
#==============================================================================#
# LoadAvg is an internal variable whose value is the (Berkeley) load average
# of the machine.
#
#    CPU_Idle - No LoadL job running, or One job just finishing.
#    CPU_Busy - One LoadL job running, second job ( Foreground or Batch )
#               starting up.
#    CPU_Max  - Two LoadL jobs running.
#==============================================================================#
CPU_Idle = (LoadAvg <= $(BackgroundLoad))
CPU_Busy = (LoadAvg >= $(HighLoad))

#==============================================================================#
# This defines a boolean "KeyboardBusy" whose value is TRUE if the keyboard
# or mouse has been used since loadl last checked.  Thus if POLLING_FREQUENCY
# is 5 seconds, KeyboardBusy is TRUE if anybody has used the kbd or mouse in
# the last 5 seconds.
#==============================================================================#
KeyboardBusy = KeyboardIdle < $(POLLING_FREQUENCY)
 
#==============================================================================#
# This statement indicates when a job should be started on this machine
#==============================================================================#
HP        = ( (Class == "btv") )
LP        = ( (Class == "lp") && $(CPU_Idle) )
 
START     : ( $(HP) || $(LP) )
 
#==============================================================================#
# The SUSPEND statement here says that a "lp" job should be suspended but not
# killed if a high priority job starts up or a foreground job causes the
# Loadavg to be greater than CPU_Busy ( 1.6 ).
#==============================================================================#
SUSPEND   : (Class == "lp") && $(CPU_Busy)
 
#==============================================================================#
# This CONTINUE statement indicates that a suspended job should be continued
# if the cpu goes idle and the keyboard/mouse has not been used for the last
# 15 minutes.
#==============================================================================#
CONTINUE  : $(CPU_Idle) && KeyboardIdle > $(ContinueIdleTime)
 
#==============================================================================#
# Jobs in the SUSPEND state are never killed, after 60 minutes they are
# relocated to a different box if possible.
#==============================================================================#
MaxSuspendTime   = 60 * $(MINUTE)
VACATE    : $(StateTimer) > $(MaxSuspendTime)
KILL      : F
 
#==============================================================================#
# If you set START_DAEMONS to False loadl can never start on this machine.
# For example you may want to stop loadl for a couple days for maintenance
# and make sure no procedure automatically restarts it.
#==============================================================================#
START_DAEMONS = True
 
#==============================================================================#
# Set the maximum size each of the logs can reach before wrapping.
#==============================================================================#
MAX_SCHEDD_LOG    = 128000
MAX_COLLECTOR_LOG = 128000
MAX_STARTD_LOG    = 128000
MAX_SHADOW_LOG    = 128000
MAX_KBDD_LOG      = 128000


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]