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
       scheduler.  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 provided together with the Grid Engine  dis-
       tribution package.

       Note,  Grid  Engine  allows  backslashes  (\) be used to escape newline
       (\newline) characters. The backslash and the newline are replaced  with
       a space (" ") character before any interpretation.

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 _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:

              {w1|load_val1[*w1]}[{+|-}{w2|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 _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 the scheduler, 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
       the llooaadd__ffoorrmmuullaa consists simply of the default CPU load average param-
       eter _n_p___l_o_a_d___a_v_g, and if the jobs are very compute intensive, one 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 increased 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 the scheduler thread initially registers at the event mas-
       ter thread in _g_e___q_m_a_s_t_e_r(8)process sscchheedduullee__iinntteerrvvaall is used to set the
       time  interval  in which the event master thread sends scheduling event
       updates to the scheduler thread.  A scheduling event is a status change
       that  has  occurred  within  _g_e___q_m_a_s_t_e_r(8)  which may trigger 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 to half
       its original value. Valid values are specified in hours or according to
       the time format as specified in _q_u_e_u_e___c_o_n_f(5).
       If the value is set to 0, the usage is not decayed.

   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 value 60 seconds.  This parame-
              ter  is used by the Grid Engine scheduler when planning resource
              utilization as the delta between net job runtimes and total time
              until resources become available again. Net job runtime as spec-
              ified with -l  h_rt=...   or  -l  s_rt=...  or  ddeeffaauulltt__dduurraattiioonn
              always  differs  from total job runtime due to delays before and
              after actual job start and finish. Among the 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  caused
              by  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)  (nnoottiiffyy,  tteerrmmiinnaattee__mmeetthhoodd  or
              cchheecckkppooiinnttiinngg),  procedures run after actual job finish, 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__rreesseerr--
              vvaattiioonn) can be delayed repeatedly due to  an  overly  optimistic
              job circulation 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 _<_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 lowest 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 execution 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 time period. This feature is
       turned off by default, and the halftime is used instead.
       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.

   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
       _<_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
                 scheduler thread configuration

SSEEEE AALLSSOO
       _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), _g_e___e_x_e_c_d(8), _g_e___q_m_a_s_t_e_r(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 _g_e___i_n_t_r_o(1) for a full statement of rights and permissions.



GE 6.2                   $Date: 2008/05/05 09:03:34 $            SCHED_CONF(5)
