SGE_RESOURCE_QUOTA(5)      Grid Engine File Formats      SGE_RESOURCE_QUOTA(5)



NNAAMMEE
       SGE_resource_quota - Grid Engine resource quota file format

DDEESSCCRRIIPPTTIIOONN
       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 can define a fine gran-
       ular resource quota configuration.  This  helps  restricting  some  job
       requests  to  a lesser resource usage and granting other job requests a
       higher resource usage.

       A list of currently configured rqs can be displayed  via  the  _q_c_o_n_f(1)
       --ssrrqqssll  option. The contents of each listed rqs definition can be shown
       via the --ssrrqqss switch. The output follows the _S_G_E___r_e_s_o_u_r_c_e___q_u_o_t_a  format
       description.  New  rqs  can be created and existing can be modified via
       the --aarrqqss, --mmrrqqss and --ddrrqqss options to _q_c_o_n_f(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: 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.

FFOORRMMAATT
       A resource quota set definition contains the following parameters:

   nnaammee
       The resource quota set name.

   eennaabblleedd
       If set to _t_r_u_e the resource quota set is active and will be  considered
       for scheduling decisions. The default value is _f_a_l_s_e.

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

   lliimmiitt
       Every resource quota set needs at least one resource quota rule defini-
       tion  started  with  the  limit  field.  It's  possible  to define more
       resource quota rules divided by a new line.  A resource quota rule con-
       sists  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 express-
       ing 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
              _a_c_c_e_s_s___l_i_s_t(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 differen-
              tiated 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 Grid Engine configuration.

       projects
              Contains  a  comma  separated list of projects (see _p_r_o_j_e_c_t(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 _s_g_e___p_e(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
              _q_u_e_u_e___c_o_n_f(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
              _h_o_s_t(5) and _h_o_s_t_g_r_o_u_p(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 con-
              sidered  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

       to     This  mandatory  field defines the quota for resource attributes
              for this rule. The quota is expressed by one or more limit defi-
              nitions  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 _c_o_m_p_l_e_x(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  expres-
                     sion  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 _c_o_m_-
                     _p_l_e_x(5)).
                     NNoottee:: Dynamic limits can only configured for a  host-spe-
                     cific rule.

EEXXAAMMPPLLEESS
       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
       }
       =======================================================================


SSEEEE AALLSSOO
       _s_g_e___i_n_t_r_o(1),  _a_c_c_e_s_s___l_i_s_t(5),   _c_o_m_p_l_e_x(5),   _h_o_s_t(5),   _h_o_s_t_g_r_o_u_p(5),
       _q_c_o_n_f(1), _q_q_u_o_t_a(1), _p_r_o_j_e_c_t(5).

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



GE 6.1                   $Date: 2007/06/26 22:21:09 $    SGE_RESOURCE_QUOTA(5)
