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