Versions Compared

Key

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

...

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • Admins will now be allowed to create time_window objects and name these object.
    • Admins can then assign these time_window objects to specific queues, they can have multiple time_window object assigned to a given queue as long as they don't overlap.
    • pbs manager will have access to create/modify/delete time_window objects
    • One can only delete a time_window object only when it is not assigned to any queue.
    • Example: 
      qmgr -c "c time_window t1"
      qmgr -c "s t t1 rrule='some valid RRULE'"
      qmgr -c "s t t1 start_time=0600"

    • Below is the list of attributes that reside in the time_window object.

      AttributeTypeDefaultExample
      rrulestringNOT_SET_BY_DEFAULTs t t1 rrule="RRULE:FREQ=WEEKLY;WKST=SU;BYDAY=MO,TU,WE,TH,FR"
      applies_on_holidaysBooleanTrues t t1 applies_on_holidays = False
      start_timetimeNOT_SET_BY_DEFAULTs t t1 start_time=06:00:00
      end_timetimeNOT_SET_BY_DEFAULTs t t1 end_time=09:00:00
      typestringstandards t t1 type=dedicated
      commentstringNOT_SET_BY_DEFAULTs t t1 comment="nightly data processing"


Interface 3: New non_work_days attribute

...

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • Admins will now be allowed to create a fs_group object.
    • pbs manager will have access to create/modify/delete fs_group objects
    • Example: 
      qmgr >> create fs_group f1
      qmgr >> set fs_group f1 usage_formula = "cput*fs_factor"
      qmgr >> set fs_group f1 decay_time=18:00:00

    • Below is the list of attributes that reside in the fs_group object.

      AttributeTypeDefaultExample
      tree_elementstring_arrayNOT_SET_BY_DEFAULTset fs_group f1 tree_element = [ group01:root = 30 ]
      usage_formulastringNOT_SET_BY_DEFAULTset fs_group f1 usage_formula = "ncpus*walltime"
      entitiystringeuserset fs_group f1 entity = queue
      decay_timeduration24:00:00set fs_group f1 decay_time = 06:00:00
      decay_factorinteger.5set fs_group f1 decay_factor = .8
      enforce_no_sharesBooleanFalseset fs_group f1 enforce_no_shares = True
      unknown_sharesinteger10

      set fs_group f1 unknown_shares = 20

      commentstringNOT_SET_BY_DEFAULTs fs_group f1 comment="Big data fair share settings"


    • upon creation of a fs_group object it will contain the defaults and can immediately put into use


Interface 5: Changes to sched object

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • Scheduler now has additional attributes which can be set in order to run it.
      • policy - collection of various attributes (as mentioned below) which can be used to configure scheduler.
    • Scheduler can now accept a set of policy that it can work on:
      • Policy can be specified by using - qmgr -c "s sched <sched_name> policy=<policy object>" command.


Interface 6: Changes to PBS server.

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • backfill_depth will also be an attribute of scheduler's policy object. 
      • If scheduler is configured to use sched_config instead of policy object, then it will take value of backfill_depth from server object.
      • If scheduler is configured to use policy object instead of sched_config file, then it will take value of backfill_depth from scheduler's policy object.
      • If there is backfill_depth set on per queue level then that value will take precedence over the value set in sched policy object or server object.
    • These attributes now belong to a scheduler object and needs to be set on scheduler object using a scheduler name
      • qmgr -c "s policy p1 backfill_depth = 3"
    • Setting these attributes on server will result into following warning:
      • qmgr -c "s s backfill_depth=3"
      • qmgr: Warning: backfill_depth in server is deprecated. Set backfill_depth in a policy object.
    • Attribute job_sort_formula has been moved from server to scheduler policy attribute.
    • A policy change event (prime to non-prime, non-prime to prime) for any of the running schedulers will now trigger a scheduling cycle.


Interface 10: New ifl api to list all the policy objects.

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • A new ifl call is added to query the policy object from server -
      struct batch_status *pbs_statpolicy(int, char *, struct attrl *, char *);
    • First argument of the call is to provide the server connection handle, second argument takes the policy name as the input, third argument if to provide attribute and fourth argument is to pass any extended parameters.
    • This IFL call will return a batch_status as a response. 
    • If server is unable to find the requested policy object, return value of the ifl api would be NULL and pbs_errno will be set to "15212" (PBSE_POLICY_NOT_FOUND).


Interface 11: New ifl api to list all the time_window objects.

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • A new ifl call is added to query the policy object from server -
      struct batch_status *pbs_stattimewindow(int, char *, struct attrl *, char *);
    • First argument of the call is to provide the server connection handle, second argument takes the time_window name as the input, third argument if to provide attribute and fourth argument is to pass any extended parameters.
    • This IFL call will return a batch_status as a response. 
    • If server is unable to find the requested time_window object, return value of the ifl api would be NULL and pbs_errno will be set to "15212" (PBSE_TIME_WINDOW_NOT_FOUND).


Interface 12: New ifl api to list all the fs_group objects.

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • A new ifl call is added to query the fs_group object from server -
      struct batch_status *pbs_statfsgroup(int, char *, struct attrl *, char *);
    • First argument of the call is to provide the server connection handle, second argument takes the fs_group name as the input, third argument if to provide attribute and fourth argument is to pass any extended parameters.
    • This IFL call will return a batch_status as a response. 
    • If server is unable to find the requested policy object, return value of the ifl api would be NULL and pbs_errno will be set to "15212" (PBSE_FS_GROUP_NOT_FOUND).