Provided by: gridengine-common_6.2u5-4_all bug

NAME

       SGE_resource_quota - Sun Grid Engine resource quota file format

DESCRIPTION

       Resource  quota sets (rqs) are a flexible way to set a maximum resource
       consumption for any job requests. They are used  by  the  scheduler  to
       select the next possible jobs for running.  The job request distinction
       is done by a set of user, project, cluster queue, host  and  pe  filter
       criteria.

       By using the resource quota sets administrators are allowed to define a
       fine granular resource quota configuration. This helps restricting some
       job requests to a lesser resource usage and granting other job requests
       a higher resource usage.

       Note: Jobs requesting an Advance Reservation (AR) are  not  honored  by
       Resource Quotas and are neither subject of the resulting limit, nor are
       debited in the usage consumption.

       A list of currently configured rqs can be displayed  via  the  qconf(1)
       -srqsl  option. The contents of each listed rqs definition can be shown
       via the -srqs switch. The output follows the SGE_resource_quota  format
       description.  New  rqs  can be created and existing can be modified via
       the -arqs, -mrqs and -drqs options to qconf(1).

       A resource quota set defines a maximum resource quota for a  particular
       job  request.  All  of  the configured rule sets apply all of the time.
       This means that if multiple resource quota sets are defined,  the  most
       restrictive set is used.

       Every  resource  quota set consist of one or more resource quota rules.
       These rules are evaluated in order, and the first rule that  matches  a
       specific  request  will be used. A resource quota set always results in
       at most one effective resource quota rule for a specific request.

       Note, Sun 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.

FORMAT

       A resource quota set definition contains the following parameters:

   name
       The resource quota set name.

   enabled
       If set to true the resource quota set is active and will be  considered
       for scheduling decisions. The default value is false.

   description
       This  description field is optional and can be set to arbitrary string.
       The default value is NONE.

   limit
       Every resource quota  set  needs  at  least  one  resource  quota  rule
       definition  started  by  the  limit field. It's possible to define more
       resource quota rules divided by a new  line.   A  resource  quota  rule
       consists  of  an  optional name, the filters for a specific job request
       and the resource quota limit.

       By default, the expressed limit counts for the entire filter scope.  To
       express  a  filter-scope-specific  limit,  it's  possible  to define an
       expanded list by setting the list between '{' '}'. It's  only  possible
       to  set  one  complete  filter  in  an  expanded  list.   The  tags for
       expressing a resource quota rule are:

       name   The name of the rule. The use is optional. The rule name must be
              unique in one resource quota set.

       users  Contains  a  comma  separated  list  of  UNIX users or ACLs (see
              access_list(5)).  This parameter filters for jobs by a  user  in
              the  list  or  one  of the ACLs in the list. Any user not in the
              list will not be considered for the  resource  quota  rule.  The
              default   value  is  '*',  which  means  any  user.  An  ACL  is
              differentiated from a UNIX user name by prefixing the  ACL  name
              with  an  '@'  sign. To exclude a user or ACL from the rule, the
              name can be prefixed with the '!' sign. Defined UNIX user or ACL
              names need not be known in the Sun Grid Engine configuration.

       projects
              Contains  a  comma  separated list of projects (see project(5)).
              This parameter filters for jobs  requesting  a  project  in  the
              list. Any project not in the list will not be considered for the
              resource quota rule. If no  project  filter  is  specified,  all
              projects  and jobs with no requested project match the rule. The
              value '*' means all jobs with requested projects. To  exclude  a
              project  from  the  rule,  the name can be prefixed with the '!'
              sign.  The value '!*' means only jobs with no project requested.

       pes    Contains a comma separated list of PEs  (see  sge_pe(5)).   This
              parameter  filters  for jobs requesting a pe in the list. Any PE
              not in the list will not be considered for  the  resource  quota
              rule.  If  no  pe  filter  is specified, all pe and jobs with no
              requested pe matches the rule. The value '*' means all jobs with
              requested  pe.  To  exclude  a pe from the rule, the name can be
              prefixed with the '!' sign. The value '!*' means only jobs  with
              no pe requested.

       queues Contains   a   comma  separated  list  of  cluster  queues  (see
              queue_conf(5)).  This parameter filters for  jobs  that  may  be
              scheduled  in  a  queue  in the list.  Any queue not in the list
              will not be considered for the resource quota rule. The  default
              value is '*', which means any queue. To exclude a queue from the
              rule, the name can be prefixed with the '!' sign.

       hosts  Contains a comma separated  list  of  host  or  hostgroups  (see
              host(5) and hostgroup(5)).  This parameter filters for jobs that
              may be scheduled in a host in the list or a host contained in  a
              hostgroup  in  the  list.  Any  host not in the list will not be
              considered for the resource quota rule.  The  default  value  is
              '*',  which means any hosts. To exclude a host or hostgroup from
              the rule, the name can be prefixed with the '!' sign.

       to     This mandatory field defines the quota for  resource  attributes
              for  this  rule.  The  quota  is  expressed by one or more limit
              definitions separated by commas. The  configuration  allows  two
              kind of limits definitions

              static limits
                     Static  limits  sets static values as quotas. Each limits
                     consists of a complex attribute followed by an  "="  sign
                     and  the  value  specification compliant with the complex
                     attribute type (see complex(5)).

              dynamic limits
                     A dynamic limit is a simple algebraic expression used  to
                     derive  the  limit  value. To be dynamic, the formula can
                     reference a complex attribute whose value is used for the
                     calculation   of   the   resulting  limit.   The  formula
                     expression syntax is that of a sum  of  weighted  complex
                     values, that is:

                     {w1|$complex1[*w1]}[{+|-}{w2|$complex2[*w2]}[{+|-}...]]

                     The  weighting factors (w1, ...) are positive integers or
                     floating point numbers in double precision.  The  complex
                     values (complex1, ...)  are specified by the name defined
                     as  type  INT  or  DOUBLE  in  the  complex   list   (see
                     complex(5)).
                     Note:  Dynamic  limits  can  only  configured for a host-
                     specific rule.

       Please note that resource quotas  are  not  enforced  as  job  resource
       limits.   Limiting  for example h_vmem in a resource quota set does not
       result in a memory limit being set for job execution.

EXAMPLES

       The following is  the  simplest  form  of  a  resource  quota  set.  It
       restricts  all  users  together  to the maximal use of 100 slots in the
       whole cluster.

       =======================================================================
       {
          name         max_u_slots
          description  "All users max use of 100 slots"
          enabled      true
          limit        to slots=100
       }
       =======================================================================

       The next example restricts user1 and user2 to 6g virtual_free  and  all
       other  users  to  the  maximal  use of 4g virtual_free on every host in
       hostgroup lx_hosts.

       =======================================================================
       {
          name         max_virtual_free_on_lx_hosts
          description  "resource quota for virtual_free restriction"
          enabled      true
          limit        users {user1,user2} hosts {@lx_host} to virtual_free=6g
          limit        users {*} hosts {@lx_host} to virtual_free=4g
       }
       =======================================================================

       The next example shows the use of a dynamic  limit.  It  restricts  all
       users together to a maximum use of the double size of num_proc.

       =======================================================================
       {
          name         max_slots_on_every_host
          enabled      true
          limit        hosts {*} to slots=$num_proc*2
       }
       =======================================================================

SEE ALSO

       sge_intro(1),   access_list(5),   complex(5),   host(5),  hostgroup(5),
       qconf(1), qquota(1), project(5).

COPYRIGHT

       See sge_intro(1) for a full statement of rights and permissions.