Versions Compared

Key

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

...

  • 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 "15216" with error message 
      "Another Sched object also has same value for its sched_log directory"
    • 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_logslog_<sched_name>. . If the directory is already used by some other scheduler then error code is set "15215"  with error message
      "Another Sched object also has same value for its sched_priv directory"
    • qmgr -c "s sched multi_sched_1 sched_log=/var/spool/pbs/sched_logslog"
    • 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 default scheduler if the the user sets them on the server
    • scheduling
    • scheduling_iteration
  • Max length of scheduler name is 15
  • By default PBS server will configure a default scheduler which will run out of the box.
      • The name of this default scheduler will be "default"
      • 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 log directory.
      • Default scheduler will be provided with default set of policies as mentioned in sched_config.
      • One can set a scheduler attribute through qmgr either in the usual way as shown below or they can use the new syntax. Old syntax is supported for backward compatibility which will be deprecated soon.
        Ex:  qmgr -c "set sched job_sort_formula_threshold = <value>
               qmgr -c "set sched default job_sort_formula_threshold = <value>"

...

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • Scheduler now has additional attributes which can be set in order to run it.
      • sched_priv - to point to the directory where scheduler keeps the fairshare usage, resource_group, holidays file and sched_config
      • sched_logs log - to point to the directory where scheduler logs.
      • partition - list of all the partition/s for which this scheduler is going to schedule jobs.
      • host - hostname on which scheduler is running. For default scheduler it is set to pbs server hostname.
      • port - port number on which scheduler is listening.
      • state - This attribute shows the status of the scheduler. It is a parameter that is set only by pbs server.
    • One can set a partition or a comma separated list of partitions to scheduler object. Once set, given scheduler object will only schedule jobs from the queues attached to specified partition"
      • qmgr -c "s sched multi_sched_1 partition='part1,part2'"
    • If no partition are specified for a given scheduler object, other than the default scheduler where no partition value can be set, then that scheduler will not schedule any jobs.
    • By default, All new queues created will be scheduled by the default scheduler, until they have been assigned to a specific partition.
    • A partition once attached to a scheduler can not be attached to a second scheduler without removing it from the first scheduler. If tried, then it will throw following error:
      • qmgr -c "s sched multi_sched_1 partition+='part2'"
        Partition part2 is already associated with scheduler <scheduler name>.
    • Scheduler object "state" attribute will show one of these 3 values  - DOWN, IDLE, SCHEDULING
      • If a scheduler object is created but scheduler is not running for some reason state will be shown as "DOWN"
      • If a scheduler is up and running but waiting for a cycle to be triggered the state will be shown as "IDLE"
      • If a scheduler is up and running and also running a scheduling cycle then the state will be shown as "SCHEDULING"
    • The default sched object is the only sched object that cannot be deleted.
    • Trying to set sched_port, sched_priv and sched_host on default scheduler will not be allowed. The following error message is thrown in server_logs when we try to change sched_priv directory.
      • qmgr -c "s sched default sched_priv = /tmp
        Operation is not permitted on default scheduler
    • Trying to start a new scheduler other than the default scheduler, without assigning a partition will throw the following error message in sched_scheduler logs.
               Scheduler does not contain a partition
    • If Scheduler fails to accept new value for its sched_log directory then comment of the corresponding scheduler object at server is updated with the following message.  Also scheduling attribute is set to false.
              Unable to change the sched_logs log directory

    • If Scheduler fails to accept new value for its sched_priv directory then comment of the corresponding scheduler object at server is updated with the following message.  Also scheduling attribute is set to false.
             Unable to change the sched_priv directory

    • If PBS validation checks for new value of sched_priv directory do not pass then comment of the corresponding scheduler object at server is updated with the following message. Also scheduling attribute is set to false.
            PBS failed validation checks for sched_priv directory
    • If Scheduler is successful in accepting the new log_dir configured at qmgr then the following error message is thrown in the sched_scheduler logs.

             Scheduler log directory is changed to <value of path of the log directory>

    • If Scheduler is successful in accepting the new sched_priv configured at qmgr then the following error message is thrown in the sched_scheduler logs.
             Scheduler priv directory is changed to <value of path of the sched_priv directory>
       

    • If we keep on disassociating partitions from a scheduler until it does not contain any of the partitions then this scheduler is identical to default scheduler in which case we shutdown this scheduler and following error message is thrown in sched_ scheduler logs.
             Scheduler does not contain a partition.   

    • If Scheduler fails in getting its stats from Server then the following error message is shown in sched_ scheduler logs.
             Unable to retrieve the scheduler attributes from server     

    • A new option -I is introduced to provide a name to a scheduler. If we run pbs_sched without this option then it is considered as default scheduler whose name is "default".
             Example: pbs_sched -I sc1 -S 15051
             Here scheduler is started on port number 15051 whose id/name is "sc1".

                                                                                                                                                                                                                                  


...