Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-7470

Extend TBF policy with NID/JobID expressions

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Lustre 2.10.0
    • Labels:
    • Rank (Obsolete):
      9223372036854775807

      Description

      In NRS TBF policy, RPCs need to be classified according to user-defined rules to meet with different requirements. Existing rules can only based on NID or JobID according to the type of TBF. However, these kind of rules might not enough for some use cases, for example, when we want to limit NID rates as well as JobID rates at the same time.

      So, we extend the existing TBF policy so that following kind of rules can be used:

      JOBID={dd.500}&NID={192.168.1.1@tcp},JOBID={dd.0}&NID={192.168.1.*@tcp} 10000
      

      The expression of the rule is combined by two sub-expression, JOBID={dd.500}&NID={192.168.1.1@tcp and JOBID={dd.0}&NID={192.168.1.*@tcp. The expression's value is the disjunction of all the sub-expressions, which mean, the expression will be true if at least one of the sub-expressions is true.

      And sub-expression JOBID={dd.500}&NID={192.168.1.1@tcp is combined by JOBID={dd.500 and NID={192.168.1.1@tcp. The value of sub-expression is the conjunction of both minimum-expressions (i.e. JOBID={dd.500 and NID={192.168.1.1@tcp), which means the sub-expression will be true if both of the minimum-expressions are ture.

      By using this kind of expression, we can define as complex rules as we wish.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                emoly.liu Emoly Liu
                Reporter:
                lixi Li Xi (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: