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