[LU-7470] Extend TBF policy with NID/JobID expressions Created: 24/Nov/15  Updated: 01/Dec/17  Resolved: 06/Apr/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.10.0

Type: New Feature Priority: Minor
Reporter: Li Xi (Inactive) Assignee: Emoly Liu
Resolution: Fixed Votes: 0
Labels: cea, patch

Issue Links:
Related
is related to LUDOC-328 documentation updates for complex TBF... Open
is related to LU-8008 Can't enable or add rules to TBF Resolved
is related to LU-9535 Interop 2.9<->master sanityn test_77j... Resolved
is related to LU-3558 NRS TBF policy for QoS purposes Resolved
is related to LU-8006 Specify ordering of TBF policy rules Resolved
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.



 Comments   
Comment by Gerrit Updater [ 24/Nov/15 ]

Li Xi (lixi@ddn.com) uploaded a new patch: http://review.whamcloud.com/17345
Subject: LU-7470 nrs: extend TBF with NID/JobID expression
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b266613c4751f3633b26308504e5fc68b0399e6b

Comment by Richard Henwood (Inactive) [ 24/Nov/15 ]

Very interesting work!

Please ensure the relevant section of the Lustre Operations Manual is updated to include this new feature:

https://build.hpdd.intel.com/job/lustre-manual/lastSuccessfulBuild/artifact/lustre_manual.xhtml#idp3359544

to make a change to the manual source.
https://wiki.hpdd.intel.com/display/PUB/Making+changes+to+the+Lustre+Manual+source

Comment by Li Xi (Inactive) [ 10/Oct/16 ]

I am checking the possibility of combining this work with LU-8674 (general policy engine) for more general expression.

Comment by Emoly Liu [ 10/Oct/16 ]

Thanks, LiXi !

Comment by Gerrit Updater [ 06/Apr/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/17345/
Subject: LU-7470 nrs: extend TBF with NID/JobID/OPCode expression
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 949bc00ad1ec0786940bd00ba53479d88c23ea14

Comment by Peter Jones [ 06/Apr/17 ]

Landed for 2.10

Generated at Sat Feb 10 02:09:11 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.