SCHED_CONF(5)              Grid Engine File Formats              SCHED_CONF(5)



NNAAMMEE
       sched_conf - Grid Engine default scheduler configuration file

DDEESSCCRRIIPPTTIIOONN
       _s_c_h_e_d___c_o_n_f  defines  the  configuration  file  format for Grid Engine's
       default scheduler provided by _s_g_e___s_c_h_e_d_d(8).  In order  to  modify  the
       configuration,  use  the  graphical  user's  interface  _q_m_o_n(1)  or the
       _-_m_s_c_o_n_f option of the _q_c_o_n_f(1) command. A default configuration is pro-
       vided together with the Grid Engine distribution package.

FFOORRMMAATT
       The following parameters are recognized by the Grid Engine scheduler if
       present in _s_c_h_e_d___c_o_n_f:

   aallggoorriitthhmm
       Allows for the selection of alternative scheduling algorithms.

       Currently ddeeffaauulltt is the only allowed setting.

   llooaadd__ffoorrmmuullaa
       A simple algebraic expression used to derive  a  single  weighted  load
       value  from all or part of the load parameters reported by _s_g_e___e_x_e_c_d(8)
       for each host and from all or part of  the  consumable  resources  (see
       _c_o_m_p_l_e_x(5))  being  maintained for each host.  The load formula expres-
       sion syntax is that of a summation weighted load values, that is:

              load_val1[*w1][{+|-}load_val2[*w2][{+|-}...]]

       NNoottee, no blanks are allowed in the load formula.
       The load values and consumable resources (load_val1, ...)   are  speci-
       fied by the name defined in the complex (see _c_o_m_p_l_e_x(5)).
       NNoottee::  Administrator defined load values (see the llooaadd__sseennssoorr parameter
       in _s_g_e___c_o_n_f(5) for details) and consumable resources available for  all
       hosts  (see _c_o_m_p_l_e_x(5)) may be used as well as Grid Engine default load
       parameters.
       The weighting factors  (w1,  ...)  are  positive  integers.  After  the
       expression  is  evaluated for each host the results are assigned to the
       hosts and are used to sort the  hosts  corresponding  to  the  weighted
       load. The sorted host list is used to sort queues subsequently.
       The default load formula is "np_load_avg".

   jjoobb__llooaadd__aaddjjuussttmmeennttss
       The  load, which is imposed by the Grid Engine jobs running on a system
       varies in time, and often, e.g. for the CPU load, requires some  amount
       of  time  to  be  reported in the appropriate quantity by the operating
       system. Consequently, if a job was started very recently, the  reported
       load  may  not provide a sufficient representation of the load which is
       already imposed on that host by the job. The reported load  will  adapt
       to  the  real  load  over  time,  but  the period of time, in which the
       reported load is too low, may already lead to  an  oversubscription  of
       that   host.   Grid   Engine   allows   the  administrator  to  specify
       jjoobb__llooaadd__aaddjjuussttmmeennttss which are used in the  Grid  Engine  scheduler  to
       compensate for this problem.
       The  jjoobb__llooaadd__aaddjjuussttmmeennttss  are  specified  as a comma separated list of
       arbitrary load parameters or consumable resources and (separated by  an
       equal sign) an associated load correction value. Whenever a job is dis-
       patched to a host by _s_g_e___s_c_h_e_d_d(8), the load parameter  and  consumable
       value  set  of  that  host  is  increased by the values provided in the
       jjoobb__llooaadd__aaddjjuussttmmeennttss list. These correction values are decayed linearly
       over  time  until  after  llooaadd__aaddjjuussttmmeenntt__ddeeccaayy__ttiimmee from the start the
       corrections reach the value 0.  If  the  jjoobb__llooaadd__aaddjjuussttmmeennttss  list  is
       assigned  the  special  denominator  NONE, no load corrections are per-
       formed.
       The adjusted load and consumable values are used to  compute  the  com-
       bined  and weighted load of the hosts with the llooaadd__ffoorrmmuullaa (see above)
       and to compare the load and consumable values against the load  thresh-
       old  lists defined in the queue configurations (see _q_u_e_u_e___c_o_n_f(5)).  If
       your llooaadd__ffoorrmmuullaa simply consists  of  the  default  CPU  load  average
       parameter  _n_p___l_o_a_d___a_v_g and if your jobs are very compute intensive, you
       might want to set the jjoobb__llooaadd__aaddjjuussttmmeennttss  list  to  _n_p___l_o_a_d___a_v_g_=_1_._0_0,
       which  means that every new job dispatched to a host will require 100 %
       CPU time and thus the machine's load is instantly raised by 1.00.

   llooaadd__aaddjjuussttmmeenntt__ddeeccaayy__ttiimmee
       The load corrections  in  the  "jjoobb__llooaadd__aaddjjuussttmmeennttss"  list  above  are
       decayed  linearly  over time from the point of the job start, where the
       corresponding load or consumable parameter is raised by the  full  cor-
       rection   value,   until   after   a   time   period  of  "llooaadd__aaddjjuusstt--
       mmeenntt__ddeeccaayy__ttiimmee", where the correction becomes  0.  Proper  values  for
       "llooaadd__aaddjjuussttmmeenntt__ddeeccaayy__ttiimmee" greatly depend upon the load or consumable
       parameters used and the specific operating system(s).  Therefore,  they
       can  only  be  determined  on-site and experimentally.  For the default
       _n_p___l_o_a_d___a_v_g load parameter a "llooaadd__aaddjjuussttmmeenntt__ddeeccaayy__ttiimmee" of 7  minutes
       has proven to yield reasonable results.

   mmaaxxuujjoobbss
       The  maximum  number of jobs any user may have running in a Grid Engine
       cluster at the same time. If set to 0 (default) the users  may  run  an
       arbitrary number of jobs.

   sscchheedduullee__iinntteerrvvaall
       At  the time _s_g_e___s_c_h_e_d_d(8) initially registers to _s_g_e___q_m_a_s_t_e_r(8) sscchheedd--
       uullee__iinntteerrvvaall is used to set the time interval in  which  _s_g_e___q_m_a_s_t_e_r(8)
       sends scheduling event updates to _s_g_e___s_c_h_e_d_d(8).  A scheduling event is
       a status change that has occurred within _s_g_e___q_m_a_s_t_e_r(8) which may trig-
       ger or affect scheduler decisions (e.g. a job has finished and thus the
       allocated resources are available again).
       In the Grid Engine default scheduler the arrival of a scheduling  event
       report  triggers a scheduler run. The scheduler waits for event reports
       otherwise.
       SScchheedduullee__iinntteerrvvaall is a time value (see _q_u_e_u_e___c_o_n_f(5) for  a  definition
       of the syntax of time values).

   qquueeuuee__ssoorrtt__mmeetthhoodd
       This  parameter  determines  in  which order several criteria are taken
       into account to product a sorted queue list.  Currently,  two  settings
       are  valid: sseeqqnnoo and llooaadd. However in both cases, Grid Engine attempts
       to maximize the number of soft requests (see _q_s_u_b(1) --ss  option)  being
       fulfilled by the queues for a particular as the primary criterion.
       Then,  if  the qquueeuuee__ssoorrtt__mmeetthhoodd parameter is set to sseeqqnnoo, Grid Engine
       will use the sseeqq__nnoo parameter as configured in the current  queue  con-
       figurations (see _q_u_e_u_e___c_o_n_f(5)) as the next criterion to sort the queue
       list. The llooaadd__ffoorrmmuullaa (see above) has only a  meaning  if  two  queues
       have  equal  sequence numbers.  If qquueeuuee__ssoorrtt__mmeetthhoodd is set to llooaadd the
       load according the llooaadd__ffoorrmmuullaa is the  criterion  after  maximizing  a
       job's  soft  requests and the sequence number is only used if two hosts
       have the same load.  The sequence number sorting is most useful if  you
       want  to  define  a  fixed order in which queues are to be filled (e.g.
       the cheapest resource first).

       The default for this parameter is llooaadd.

   hhaallffttiimmee
       When executing under a share based policy, the scheduler  "ages"  (i.e.
       decreases)  usage to implement a sliding window for achieving the share
       entitlements as defined by the share tree.  The  hhaallffttiimmee  defines  the
       time interval in which accumulated usage will have been decayed <<<<<<<
       sched_conf.5 to half its original value. Valid values are specified  of
       type  time  as  specified  in ======= to half its original value. Valid
       values are specified in hours or according to the time format as speci-
       fied in >>>>>>> 1.28 _q_u_e_u_e___c_o_n_f(5).

   uussaaggee__wweeiigghhtt__lliisstt
       Grid  Engine  accounts  for  the consumption of the resources CPU-time,
       memory and IO to determine the usage which is imposed on a system by  a
       job. A single usage value is computed from these three input parameters
       by multiplying the individual values by weights and adding them up. The
       weights are defined in the uussaaggee__wweeiigghhtt__lliisstt. The format of the list is

              cpu=wcpu,mem=wmem,io=wio

       where wcpu, wmem and wio are the configurable weights. The weights  are
       real number. The sum of all tree weights should be 1.

   ccoommppeennssaattiioonn__ffaaccttoorr
       Determines  how fast Grid Engine should compensate for past usage below
       of above the share entitlement defined in the share  tree.  Recommended
       values are between 2 and 10, where 10 means faster compensation.

   wweeiigghhtt__uusseerr
       The  relative  importance  of the user shares in the functional policy.
       Values are of type real.

   wweeiigghhtt__pprroojjeecctt
       The relative importance of the project shares in the functional policy.
       Values are of type real.

   wweeiigghhtt__ddeeppaarrttmmeenntt
       The relative importance of the department shares in the functional pol-
       icy. Values are of type real.

   wweeiigghhtt__jjoobb
       The relative importance of the job shares  in  the  functional  policy.
       Values are of type real.

   wweeiigghhtt__ttiicckkeettss__ffuunnccttiioonnaall
       The  maximum number of functional tickets available for distribution by
       Grid Engine. Determines the relative importance of the functional  pol-
       icy.  See under _s_g_e___p_r_i_o_r_i_t_y(5) for an overview on job priorities.

   wweeiigghhtt__ttiicckkeettss__sshhaarree
       The maximum number of share based tickets available for distribution by
       Grid Engine. Determines the relative importance of the share tree  pol-
       icy. See under _s_g_e___p_r_i_o_r_i_t_y(5) for an overview on job priorities.

   wweeiigghhtt__ddeeaaddlliinnee
       The  weight  applied  on  the  remaining time until a jobs latest start
       time. Determines the relative importance of  the  deadline.  See  under
       _s_g_e___p_r_i_o_r_i_t_y(5) for an overview on job priorities.

   wweeiigghhtt__wwaaiittiinngg__ttiimmee
       The  weight  applied  on the jobs waiting time since submission. Deter-
       mines the relative importance of the waiting time.  See under  _s_g_e___p_r_i_-
       _o_r_i_t_y(5) for an overview on job priorities.

   wweeiigghhtt__uurrggeennccyy
       The weight applied on jobs normalized urgency when determining priority
       finally used.  Determines the  relative  importance  of  urgency.   See
       under _s_g_e___p_r_i_o_r_i_t_y(5) for an overview on job priorities.

   wweeiigghhtt__ttiicckkeett
       The  weight applied on normalized ticket amount when determining prior-
       ity finally used.  Determines the relative  importance  of  the  ticket
       policies.  See under _s_g_e___p_r_i_o_r_i_t_y(5) for an overview on job priorities.

   fflluusshh__ffiinniisshh__sseecc
       The parameters are provided for tuning the system's  scheduling  behav-
       ior.   By default, a scheduler run is triggered in the scheduler inter-
       val. When this parameter is set to 1 or larger, the scheduler  will  be
       triggered x seconds after a job has finished. Setting this parameter to
       0 disables the flush after a job has finished.

   fflluusshh__ssuubbmmiitt__sseecc
       The parameters are provided for tuning the system's  scheduling  behav-
       ior.   By default, a scheduler run is triggered in the scheduler inter-
       val.  When this parameter is set to 1 or larger, the scheduler will  be
       triggered   x  seconds after a job was submitted to the system. Setting
       this parameter to 0 disables the flush after a job was submitted.

   sscchheedddd__jjoobb__iinnffoo
       The default scheduler can keep track why jobs could  not  be  scheduled
       during  the  last scheduler run. This parameter enables or disables the
       observation.  The value ttrruuee enables the monitoring ffaallssee turns it off.

       It  is also possible to activate the observation only for certain jobs.
       This will be done if the parameter is set to  jjoobb__lliisstt  followed  by  a
       comma separated list of job ids.

       The  user  can  obtain the collected information with the command qstat
       -j.

   ppaarraammss
       This is foreseen for passing additional parameters to the  Grid  Engine
       scheduler. The following values are recognized:

       _D_U_R_A_T_I_O_N___O_F_F_S_E_T
              If  set  overrides  the default of 60 seconds that is assumed as
              offset by Grid Engine scheduler when planning resource  utiliza-
              tion  as  delta  between  net  job runtimes and gross time until
              resources are available again. Jobs  net  runtime  as  specified
              with -l h_rt=...  or -l s_rt=... or ddeeffaauulltt__dduurraattiioonn always dif-
              fer from jobs gross runtime  due  to  delays  before  and  after
              actual  job  start. Amongst these delays before job start is the
              time until the end of a sscchheedduullee__iinntteerrvvaall, the time it takes  to
              deliver   a  job  to  _s_g_e___e_x_e_c_d(8)  and  the  delays  pprroolloogg  in
              _q_u_e_u_e___c_o_n_f(5) , ssttaarrtt__pprroocc__aarrggss in _s_g_e___p_e(5) and  ssttaarrtteerr__mmeetthhoodd
              in  _q_u_e_u_e___c_o_n_f(5) may effectuate. The delays after a jobs actual
              run comprises delays due to a forced  job  termination  (nnoottiiffyy,
              tteerrmmiinnaattee__mmeetthhoodd  or cchheecckkppooiinnttiinngg), procedure runs after acutal
              job finished such as ssttoopp__pprroocc__aarrggss in _s_g_e___p_e(5)  or  eeppiilloogg  in
              _q_u_e_u_e___c_o_n_f(5) and the delay until a new sscchheedduullee__iinntteerrvvaall.
              If the offset is too low resource reservations (see mmaaxx__rreesseerrvvaa--
              ttiioonn) can be delayed repeatedly due to a too optistic job circu-
              lation time.

       _J_C___F_I_L_T_E_R
              If set to true, the scheduler limits the number of jobs it looks
              at during a scheduling run. At the beginning of  the  scheduling
              run  it  assigns each job a specific category, which is based on
              the job's requests, priority settings, and the  job  owner.  All
              scheduling  policies will assign the same importance to each job
              in one category. Therefore the number of jobs per category  have
              a  FIFO  order and can be limited to the number of free slots in
              the system.

              A exception are jobs, which request a resource reservation. They
              are included regardless of the number of jobs in a category.

              This  setting  is  turned  off per default, because in very rare
              cases, the scheduler can make  a  wrong  decision.  It  is  also
              advised  to  turn report_pjob_tickets off.  Otherwise qstat -ext
              can report outdated ticket amounts. The information shown with a
              qstat  -j  for  a job, that was excluded in a scheduling run, is
              very limited.

       _P_R_O_F_I_L_E
              If set equal to 1, the scheduler logs profiling information sum-
              marizing each scheduling run.

       _M_O_N_I_T_O_R
              If  set  equal  to 1, the scheduler records information for each
              scheduling run allowing to reproduce job  resources  utilization
              in the file _<_s_g_e___r_o_o_t_>_/_<_c_e_l_l_>_/_c_o_m_m_o_n_/_s_c_h_e_d_u_l_e.

       _S_E_L_E_C_T___P_E___R_A_N_G_E___A_L_G
              This  parameter sets the algorithm for the pe range computation.
              The default is automatic, which means that  the  scheduler  will
              select the best one, and it should not be necessary to change it
              to a different setting in normal operation. If a custom  setting
              is needed, the following values are available:
              auto       : the scheduler selects the best algorithm
              least       :  starts  the resource matching with the least slot
              amount first
              bin        : starts the resource matching in the middle  of  the
              pe slot range
              highest     : starts the resource matching with the highest slot
              amount first

       Changing ppaarraammss will take immediate effect.  The default for ppaarraammss  is
       none.

   rreepprriioorriittiizzee__iinntteerrvvaall
       Interval (HH:MM:SS) to reprioritize jobs on the exec hosts based on the
       current ticket amount for the running jobs. If the interval is  set  to
       00:00:00  the  reprioritization  is  turned  off.  The default value is
       00:00:00.

   rreeppoorrtt__ppjjoobb__ttiicckkeettss
       This parameter allows to tune the system's scheduling run time.  It  is
       used  to  enable  / disable the reporting of pending job tickets to the
       qmaster.  It does not influence the tickets calculation. The sort order
       of  jobs  in  qstat and qmon is only based on the submit time, when the
       reporting is turned off.
       The reporting should be turned of in a system with very large amount of
       jobs by setting this param to "false".

   hhaallfflliiffee__ddeeccaayy__lliisstt
       The  halflife_decay_list  allows to configure different decay rates for
       the "finished_jobs usage types, which is used in the pending job ticket
       calculation  to account for jobs which have just ended. This allows the
       user the pending jobs algorithm to count finished jobs against  a  user
       or project for a configurable decayed <<<<<<< sched_conf.5 time period.
       The default is set so, that finished jobs are  not  considered.  It  is
       also  used  to determine if the job usage has been added to the user or
       project usage_list.  ======= time period. This feature is turned off by
       default, and the halftime is used instead.  >>>>>>> 1.28
       <<<<<<<  sched_conf.5  The halflife_decay_list also allows to configure
       different decay rates for each usage type being tracked (cpu,  io,  and
       mem).   =======  The  halflife_decay_list  also allows one to configure
       different decay rates for each usage type being tracked (cpu,  io,  and
       mem). The list is specified in the following format:

              <USAGE_TYPE>=<TIME>[:<USAGE_TYPE>=<TIME>[:<USAGE_TYPE>=<TIME>]]

       <Usage_TYPE> can be one of the following: cpu, io, or mem.
       <TIME>  can  be  -1, 0 or a timespan specified in minutes. If <TIME> is
       -1, only the usage of currently running jobs is used. 0 means that  the
       usage is not decayed.  >>>>>>> 1.28

   ppoolliiccyy__hhiieerraarrcchhyy
       This  parameter  sets  up  a dependency chain of ticket based policies.
       Each ticket based policy in the dependency chain is influenced  by  the
       previous policies and influences the following policies. A typical sce-
       nario is to assign precedence for the override policy over  the  share-
       based  policy. The override policy determines in such a case how share-
       based tickets are assigned among jobs of  the  same  user  or  project.
       Note  that  all  policies contribute to the ticket amount assigned to a
       particular job regardless of the policy hierarchy definition.  Yet  the
       tickets  calculated  in each of the policies can be different depending
       on "_P_O_L_I_C_Y___H_I_E_R_A_R_C_H_Y".

       The "_P_O_L_I_C_Y___H_I_E_R_A_R_C_H_Y" parameter can be a up to 3 letter combination of
       the  first letters of the 3 ticket based policies S(hare-based), F(unc-
       tional) and O(verride). So a value "OFS" means that the override policy
       takes  precedence  over the functional policy, which finally influences
       the share-based policy.  Less than 3 letters  mean  that  some  of  the
       policies do not influence other policies and also are not influenced by
       other policies. So a value of "FS" means  that  the  functional  policy
       influences  the  share-based  policy  and that there is no interference
       with the other policies.

       The special value "NONE" switches off policy hierarchies.

   sshhaarree__oovveerrrriiddee__ttiicckkeettss
       If set to "true" or  "1",  override  tickets  of  any  override  object
       instance  are shared equally among all running jobs associated with the
       object. The pending jobs will get as many  override  tickets,  as  they
       would  have, when they were running. If set to "false" or "0", each job
       gets the full value of the override tickets associated with the object.
       The default value is "true".

   sshhaarree__ffuunnccttiioonnaall__sshhaarreess
       If  set  to  "true"  or "1", functional shares of any functional object
       instance are shared among all the jobs associated with the  object.  If
       set  to  "false"  or "0", each job associated with a functional object,
       gets the full functional shares of that object. The  default  value  is
       "true".

   mmaaxx__ffuunnccttiioonnaall__jjoobbss__ttoo__sscchheedduullee
       The  maximum  number of pending jobs to schedule in the functional pol-
       icy.  The default value is 200.

   mmaaxx__ppeennddiinngg__ttaasskkss__ppeerr__jjoobb
       The maximum number of subtasks per pending array job to schedule.  This
       parameter  exists  in  order to reduce scheduling overhead. The default
       value is 50.

   mmaaxx__rreesseerrvvaattiioonn
       The maximum number of reservations scheduled within a  schedule  inter-
       val.   When  a  runnable  job  can  not be started due to a shortage of
       resources a reservation can be scheduled  instead.  A  reservation  can
       cover consumable resources with the global host, any execution host and
       any queue. For parallel jobs  reservations  are  done  also  for  slots
       resource  as specified in _s_g_e___p_e(5).  As job runtime the maximum of the
       time specified with -l h_rt=... or -l s_rt=...  is  assumed.  For  jobs
       that  have  neither  of them the default_duration is assumed.  Reserva-
       tions prevent jobs of lower priority as  specified  in  _s_g_e___p_r_i_o_r_i_t_y(5)
       from utilizing the reserved resource quota during the while of reserva-
       tion.  Jobs of lower priority are allowed  to  utilize  those  reserved
       resources  only if their prospective job end is before the start of the
       reservation (backfilling).  Reservation is done only for  non-immediate
       jobs  (-now  no) that request reservation (-R y). If max_reservation is
       set to "0" no job reservation is done.

       Note, that reservation scheduling  can  be  performance  consuming  and
       hence reservation scheduling is switched off by default. Since reserva-
       tion scheduling performance consumption is known to grow with the  num-
       ber  of  pending  jobs use of -R y option is recommended only for those
       jobs actually queuing for  bottleneck  resources.   Together  with  the
       max_reservation  parameter  this  technique  can be used to narrow down
       performance impacts.

   ddeeffaauulltt__dduurraattiioonn
       When job reservation is enabled through  max_reservation  _s_c_h_e_d___c_o_n_f(5)
       parameter the default duration is assumed as runtime for jobs that have
       neither -l h_rt=...  nor  -l  s_rt=...  specified.  In  contrast  to  a
       h_rt/s_rt time limit the default_duration is not enforced.

FFIILLEESS
       _<_s_g_e___r_o_o_t_>_/_<_c_e_l_l_>_/_c_o_m_m_o_n_/_s_c_h_e_d___c_o_n_f_i_g_u_r_a_t_i_o_n
                  sge_schedd configuration

SSEEEE AALLSSOO
       _s_g_e___i_n_t_r_o(1),   _q_a_l_t_e_r(1),  _q_c_o_n_f(1),  _q_s_t_a_t(1),  _q_s_u_b(1),  _c_o_m_p_l_e_x(5),
       _q_u_e_u_e___c_o_n_f(5),  _s_g_e___e_x_e_c_d(8),  _s_g_e___q_m_a_s_t_e_r(8),   _s_g_e___s_c_h_e_d_d(8).    _G_r_i_d
       _E_n_g_i_n_e _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _A_d_m_i_n_i_s_t_r_a_t_i_o_n _G_u_i_d_e

CCOOPPYYRRIIGGHHTT
       See _s_g_e___i_n_t_r_o(1) for a full statement of rights and permissions.



GE 6.0                   $Date: 2005/11/09 18:13:27 $            SCHED_CONF(5)
