Configure FairShare via the policy.tcl File

The FairShare Groups policy configuration described in this section have been deprecated. It is strongly advised to not use the described in this section. The features described in this section are currently available, but may soon become unavailable and/or unsupported.

Refer to vovfsgroup for the current implementation.

To create new groups, define them in the policy.tcl file in the PROJECT.swd directory using vtk_group_set. This procedure is only valid in the policy.tcl file.
# Example of definition of some groups in the policy.tcl file.
# Reminder: this is considered obsolete. Use FSGROUP instead.
vtk_group_set /time/med/sanjose         -weight 200 
vtk_group_set /time/med/sanjose/library -weight  40 
vtk_group_set /time/med/sanjose/systems -weight  60
vtk_group_set /time/med/sanjose/systems/qa   -users { john mary }
vtk_group_set /time/med/sanjose/systems/dev  -users { bob suresh }
vtk_group_set /time/med/sanjose/systems/prot -unixgroup acxx  

If a group is defined without a leading /, the group becomes part of the /time group by default.

Set Up FairShare

  1. The policy.tcl file defines the FairShare weight for each fsgroup. The script uses the following Tcl procedures:
    • vtk_fairshare_set -window <timeSpec>

      Sets the value of the keyref window for the top group.

    • vtk_group_set <group_name> [-weight w] [-users userlist] [-useasdefault] [-max N] [-map RESEXPRESSION] [-owner USER]

      The default weight for a group is 100. The default user list is empty.

    • Example:
      vtk_fairshare_set -window 4h
      vtk_group_set /queue/alpha -weight 500 -users {mary frank}
      vtk_group_set /queue/gamma -weight 800 -users {frank john alan}
      vtk_group_set /queue/gamma -weight 800 -unixgroup acx
  2. Each fsgroup with queued jobs is assigned a target share proportional to the FairShare weight.
  3. The fsgroups are ranked based on how far they are from the target share taking into account:
    • The number of jobs currently running for each fsgroup;
    • The total run-time logged by each fsgroup over the FairShare window.
  4. The farther a fsgroup is from the target, the lower its rank and the earlier their jobs are checked for scheduling.
  5. As soon as a slot becomes available, the scheduler searches for the next job to dispatch starting from the user with lowest rank, and then increasing the rank until a job to dispatch is found.