<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:32:09 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-17044] TBF: minimum guarantee RPC rate when the serveur is overloaded</title>
                <link>https://jira.whamcloud.com/browse/LU-17044</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This seems to be something wanted from a long time: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8433&quot; title=&quot;Maximizing Bandwidth utilization by TBF Rule with Dependency&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8433&quot;&gt;LU-8433&lt;/a&gt;&lt;br/&gt;
The idea here is to be able to configure a rule like this:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# lctl set_param ...=start fio jobid={fio.*} minrate=1000 rate=10000
# lctl get_param ...
regular requests:
CPT 0:
fio {fio.*} 1000-10000, ref 2
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The rate for each job matching &quot;fio.*&quot; should be between 1000-10000 RPC/s.&lt;br/&gt;
So requests in queue belonging to a class bucket with rate below minimum acceptable rate should be scheduled first.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Implementation:&lt;/b&gt;&lt;br/&gt;
The main idea is to duplicate some part of TBF code to implement deadline and token for minimum rate.&lt;br/&gt;
The compare function (tbf_cli_compare()) of the TBF binheap can be modify to firstly compare the deadlines of the minimum rate but only if the class has missed  some token time slots before (current rate &amp;lt; minimum rate).&lt;br/&gt;
That way, if a class is late (&amp;lt; minrate), it should be scheduled before the others class. If the class is not late anymore, it will be scheduled according its maximum rate.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Realtime&lt;/b&gt;&lt;br/&gt;
The realtime rule is used to prioritize the classes matching the rule when server loaded (if the sum of all the defined rate is above what the server can handle). The realtime classes will always try to match the specified rate by degrading the performances of the other classes.&lt;br/&gt;
When a minimum rate is specified on a realtime rule, it makes sense to apply the &quot;realtime&quot; behavior on the lower rate limit of the classe.&lt;/p&gt;</description>
                <environment></environment>
        <key id="77537">LU-17044</key>
            <summary>TBF: minimum guarantee RPC rate when the serveur is overloaded</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="eaujames">Etienne Aujames</assignee>
                                    <reporter username="eaujames">Etienne Aujames</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Aug 2023 15:51:35 +0000</created>
                <updated>Fri, 17 Nov 2023 21:04:04 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="383270" author="gerrit" created="Tue, 22 Aug 2023 09:41:54 +0000"  >&lt;p&gt;&quot;Etienne AUJAMES &amp;lt;eaujames@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52038&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52038&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-17044&quot; title=&quot;TBF: minimum guarantee RPC rate when the serveur is overloaded&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-17044&quot;&gt;LU-17044&lt;/a&gt; tbf: implement minrate for tbf rules&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 07bdc9c2cdad6937cfc9839926c49d0186901a52&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="78995">LU-17296</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i03ti7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>