Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Interface 1: Extend PBS to support a list of scheduler objects

    • Visibility: Public
    • Change Control: Stable
    • Details:
      • PBS supports a list of scheduler objects to be created using qmgr. It is similar to how we create nodes in server.
      • qmgr command can be used to create a scheduler object . It must be invoked by a PBS admin/manager.
      • To create a scheduler object and make it run, the following are the attributes that can be set by the user
        • Name of the scheduler is mandatory to be given while creating a scheduler object. 
          • qmgr -c "c sched multi_sched_1"
            • This will create/set the following attributes for the sched object
              • port - If not defined by the user, It will start from 15050 and try to run the scheduler on the next available port number.
              • host (read-only for now, Has the same value as PBS server host)
              • partition = "None" (default)*
              • sched_priv = $PBS_HOME/sched_priv_multi_sched_1 (default)*
              • sched_log = $PBS_HOME/sched_log_multi_sched_1 (default)*
              • scheduling = False (default)*
              • scheduler_iteration = 600 (default)*
              • sched_user = <pbs_server user> (default)
              • job_sort_formula
              • job_sort_formula_threshhold
              • comment 

                • sites can use the comment field to

                • notify them if scheduler undergoes restarting 2-3 times due to potential crashes in an hour for example (i.e. comment => “NEEDS_ATTENTION”)

                • tell when a particular scheduler is ready to function again by setting the comment as follows.

                  • comment => “READY_TO_USE






          • "*" indicates that the value will be visible when the admin lists or prints the sched object after the sched object is created
  • Set the priv directory for the scheduler.
    • The directory must be owned by the sched_user specified while creating scheduler object. It should have permissions set as "750". By default a sched object has 
      it's priv directory set as $PBS_HOME/sched_priv_<sched-name>. If the directory is already used by some other scheduler then error code is set "15215" with error message 
      "log directory is already used by some other scheduler"
    • qmgr -c "s sched multi_sched_1 sched_priv=/var/spool/pbs/sched_priv_1"
    • If the priv directory is not accessible by scheduler process, or the scheduler files are not found in the directory, then comment is updated with following error message
      "scheduler can not access it's priv directory"
    Set the log directory for the scheduler. 
    • The directory must be owned by the sched_user specified while creating scheduler object. It should have permissions as "755". By default a sched object has 
      it's logs directory set as $PBS_HOME/sched_logs_<sched_name>. . If the directory is already used by some other scheduler then error code is set "15215"  with error message
      "priv directory is already used by some other scheduler"
    • qmgr -c "s sched multi_sched_1 sched_log=/var/spool/pbs/sched_logs"
    • If the log directory is not accessible by scheduler process, or the scheduler files are not found in the directory, then comment is updated with following error message
      "scheduler can not access it's log directory"
    • By default a multi-sched object has scheduling set as False.
      qmgr -c " s sched <scheduler name> scheduling = 1"
  • The following attributes will be set on the main scheduler if the the user sets them on the server
    • scheduling
    • scheduling_iteration
    • job_sort_formula
  • By default PBS server will configure a default scheduler which will run out of the box.
    • The name of this default scheduler will be "main"
    • The sched_priv directory of this default scheduler will be set to the $PBS_HOME/sched_priv
    • Default scheduler will log in $PBS_HOME/sched_logs directory.
    • Default scheduler will be provided with default set of policies as mentioned in Interface 3.

...