PROXYD_POLICIES
Specifies the maximum tokens, nominal tokens, and throttle values when the LSF
rate
limiter is
configured. Fix Pack 14 introduces the rate
limiter, The rate
limiter is managed by
the lsfproxyd
daemon, which monitors and controls the number of requests and
connections that can reach the mbatchd
daemon, protecting it from excess requests.
For a request to contact mbatchd
, it must first obtain a request token from
lsfproxyd
. After completing the request, the token returns to
lsfproxyd
. The lsfproxyd
daemon distributes tokens in a
round-robin fashion, ensuring that each user connection has an fair chance to be served and
processed, even under heavy loads.
Syntax
PROXYD_POLICIES="QUERY[ max=maximum_query_connections nominal=nominal_query connections throttle=query_throttle_time] SUBMISSION[ max=maximum_submission_connections nominal=nominal_submission_connections throttle=submission_throttle_time] OTHER[ max=maximum_other_connections nominal=nominal_other_connections throttle=other_throttle_time ]"Description
lsfproxyd
policy is governed by max
, nominal
, and
throttle
values in the lsb.params file. With these values, the
lsfproxyd
policy ensures that users don't monopolize the rate
limiter system; set
them as follows. The keywords QUERY
, SUBMISSION
, and
OTHER
are all optional. The attributes max
,
nominal
, and throttle
are optional. If something is not
configured, default values will be used:max
- The maximum number of tokens available for distribution. Once a token reaches its
max
value, any requests from a non-root or non-administrator user will not be granted a token and the command will not contactmbatchd
, failing with an error. Take note, however, that this policy is only for non-root or non-administrator users; requests from root or LSF cluster administrator users are always granted a token, and their requests will still be counted towards tokens currently in use.When the token is granted, this increases the in-use count; likewise, when a token is returned, this decreases the in-use count. It is possible for the in-use count to exceed the
max
value because there are no token constraints placed on root and LSF cluster administrator users.Valid values are any positive integer less than or equal to the MAX_CONCURRENT_QUERY value in the lsb.params file. If not specified, and if the
nominal
value is specified as a value greater than 100, then the default value ofmax
will be the same value set fornominal
. Otherwise, the default value will be 100. nominal
- The
nominal
andthrottle
attributes work together to control user requests, and are divided evenly among the runninglsfproxyd
daemons in the cluster. Thenominal
attribute is a threshold value; if the number of tokens currently in use is below this value,lsfproxyd
will distribute tokens as fast as possible.Valid values are any positive integer less than or equal to the
max
value. If not specified, and if thenominal
value is not defined, then the default value ofnominal
will be the same value set formax
. Otherwise, the default value will be 50. throttle
- The
nominal
andthrottle
attributes work together to control user requests, and are divided evenly among the runninglsfproxyd
daemons in the cluster.Valid values are any positive integer in milliseconds. If not specified, the default value will one millisecond.
After changing the PROXYD_POLICIES parameter attributes, restart
mbatchd
(by running badmin mbdrestart) or reconfigure
mbatchd
(by running badmin reconfig).
Valid values
Refer to the description section for the max
, nominal
, and
throttle
attributes in the description section.
Default
Refer to the description section for the max
, nominal
, and
throttle
attributes in the description section.
Example
- A maximum of 50 available tokens to be distributed from the
lsfproxyd
daemon. - A token is distributed immediately if the number of existing tokens used less than 15.
- The rate limiter waits 100 milliseconds before granting new tokens, when there are currently more than 15 in-use tokens.
- Once
an in-use token reaches its
max
value, a request (from the same category) from an non-root or non-cluster administrator user will not be granted a token. After a certain number of retries (set by the LSF_PROXYD_NOTOKEN_NTRIES parameter value in the lsf.conf file), the command will then not contactmbatchd
and will fail with an error message. Note that requests from root or LSF cluster administrators are exempt from this policy as they are always granted a token and their requests are always counted towards the tokens currently in use.