Using and Administering

Interactive Configuration

This customer has defined two configuration files for interactive work: one for standard workstations and one for large interactive servers. These files are meant to be tailored to machines of differing processing power.

Standard Workstation Configuration

#==============================================================================#
# Description: LoadL_config.local for Standard Workstations (<370 Class)
#==============================================================================#
# Need 2x Paging Space to Real Memory ( minimum ) For Worst Case Of One
# Suspended and One Foreground Running Job.
#    *) All Jobs (btv,lp) Suspend on LoadAvg or Keyboard/Mouse Movement.
#==============================================================================#
# Class defines the permissable classes, MAX_STARTERS defines the max
# total jobs to be permitted.
#==============================================================================#
Class        = { "btv" "lp" }
MAX_STARTERS = 1
#==============================================================================#
# 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.8
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
#==============================================================================#
Weekend   = ( (tm_wday >=  6) || (tm_wday <  1) )
Day       = ( (tm_hour >=  7) && (tm_hour < 18) )
Night     = ( (tm_hour >= 18) || (tm_hour <  4) )
Inactive  = ( (KeyboardIdle > $(StartIdleTime)) && $(CPU_Idle) )
 
HP        = ( (Class == "btv") )
LP        = ( ($(Weekend) || $(Night)) )
 
START     : ( ($(HP) || $(LP)) && $(Inactive) )
 
#==============================================================================#
# The SUSPEND statement here says that a job should be suspended but not
# killed if:
#                LoadAvg >= 1.6  Or  KeyboardIdle < 5
#==============================================================================#
SUSPEND  : ( $(CPU_Busy) || $(KeyboardBusy) )
 
#==============================================================================#
# 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 machine 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

Large Interactive Server Configuration

#==============================================================================#
# Description: LoadL_config.local for Interactive Large Servers (580-590 Class)
 
#==============================================================================#
# Need 3x Real Memory To Paging Space ( minimum ) For Worst Case Of Two
# Suspended and One Foreground Running Job.
#    *) All Jobs (btv,lp) Suspend on LoadAvg or Keyboard/Mouse Movement.
#    *) 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.8
LowLoad          = 1.0
HighLoad         = 1.6
MaxLoad          = 2.0
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_Run  = (LoadAvg <= $(LowLoad))
CPU_Busy = (LoadAvg >= $(HighLoad))
CPU_Max  = (LoadAvg >= $(MaxLoad))
 
#==============================================================================#
# 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
#==============================================================================#
Weekend   = ( (tm_wday >=  6) || (tm_wday <  1) )
Day       = ( (tm_hour >=  7) && (tm_hour < 18) )
Night     = ( (tm_hour >= 18) || (tm_hour <  4) )
Inactive1 = ( (KeyboardIdle > $(StartIdleTime)) )
Inactive2 = ( (KeyboardIdle > $(ContinueIdleTime)) )
 
HP        = ( (Class == "btv") )
LP        = ( (Class == "lp") && $(CPU_Idle) )
 
START     : ( ($(HP) || $(LP)) && $(Inactive1) )
 
#==============================================================================#
# The SUSPEND statement here says that a job should be suspended but not
# killed if:
#                KeyboardIdle < 5                 Or
#                lp  Class  And  LoadAvg >= 1.6   Or
#                btv Class  And  LoadAvg >= 2.0
#==============================================================================#
SUSPEND   : ( ( (Class == "lp")  && $(CPU_Busy) ) || \
( (Class == "btv") && $(CPU_Max)  ) || \
(  $(KeyboardBusy)                )    )
 
#==============================================================================#
# This CONTINUE statement indicates that a suspended job should be continued
# if:
#               lp  Class  And  LoadAvg <= 0.8  And  KeyboardIdle > 15 min  Or
#               btv Class  And  LoadAvg <= 1.0  And  KeyboardIdle > 15 min
#==============================================================================#
CONTINUE  : ( ( (Class == "lp")  && $(CPU_Idle) && $(Inactive2) ) || \
( (Class == "btv") && $(CPU_Run)  && $(Inactive2) )    )
 

#==============================================================================#
# 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 ]