<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:39:46 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>[LUDOC-40] Create Documentation for multi-threaded ptlrpcd</title>
                <link>https://jira.whamcloud.com/browse/LUDOC-40</link>
                <project id="10070" key="LUDOC">Lustre Documentation</project>
                    <description>&lt;p&gt;Please write the documentation necessary for multithreaded ptlrpcd to be understood and used in Lustre 2.2. Please include any tunables that affect this feature. Only the raw content needs to be written - any grammar checking, spell checking, formatting, etc. will be done by a doc writer. The content can be appended to this ticket.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12939">LUDOC-40</key>
            <summary>Create Documentation for multi-threaded ptlrpcd</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="cliffw">Cliff White</assignee>
                                    <reporter username="bryon">Bryon Neitzel</reporter>
                        <labels>
                            <label>releases</label>
                    </labels>
                <created>Thu, 19 Jan 2012 13:58:48 +0000</created>
                <updated>Thu, 5 Apr 2012 11:16:08 +0000</updated>
                            <resolved>Thu, 5 Apr 2012 11:16:08 +0000</resolved>
                                                                        <due>Fri, 30 Mar 2012 00:00:00 +0000</due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="26996" author="adilger" created="Thu, 19 Jan 2012 18:09:40 +0000"  >&lt;p&gt;This should indicate that multiple OI files is a new feature in Lustre 2.2 and that filesystems formatted with Lustre 2.2 cannot be downgraded to an earlier version of Lustre (this is always true, but it doesn&apos;t hurt to state it again).&lt;/p&gt;</comment>
                            <comment id="27743" author="yong.fan" created="Wed, 1 Feb 2012 21:57:56 +0000"  >&lt;p&gt;Draft for multi-threaded ptlrpcd, it should be part of Lustre manual.&lt;/p&gt;</comment>
                            <comment id="27935" author="yong.fan" created="Sun, 5 Feb 2012 03:02:50 +0000"  >&lt;p&gt;Document is done.&lt;/p&gt;</comment>
                            <comment id="27939" author="pjones" created="Sun, 5 Feb 2012 10:25:20 +0000"  >&lt;p&gt;Thanks for getting this content created FanYong but we should keep the ticket open until it has actually landed in the manual. We&apos;ll get this reassigned now.&lt;/p&gt;</comment>
                            <comment id="28623" author="pjones" created="Tue, 14 Feb 2012 11:07:08 +0000"  >&lt;p&gt;Hi Cliff&lt;/p&gt;

&lt;p&gt;Please can you integrate this material into the manual&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="28834" author="cliffw" created="Wed, 15 Feb 2012 20:15:04 +0000"  >&lt;p&gt;Asked these in email, putting in bug for record, or in case anybody else wants to answer them here.&lt;br/&gt;
--------&lt;/p&gt;

&lt;p&gt;For the max_ptlrpcds parameter:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The absolute minimum is 2 per node, regardless of  number of cores?&lt;/li&gt;
	&lt;li&gt;The default is one thread per core, including hyperthreading?&lt;/li&gt;
	&lt;li&gt;Is there any limit or maximum in the code?&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;You mention large directory traversal and statahead as operations that are async RPC-intensive,&lt;br/&gt;
  are there any other situations a user may need to be aware of?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Somewhat outside question:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Is there any tuning of RPC behavior in this area, in other words for a specific type&lt;br/&gt;
of RPC or action, can a user force async or sync behavior?&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="29518" author="cliffw" created="Tue, 21 Feb 2012 16:13:51 +0000"  >&lt;p&gt;I would appreciate a response at your earliest convience.&lt;br/&gt;
--------&lt;br/&gt;
New question - what is the parameter name for the ptlrpcd_load_policy? This&lt;br/&gt;
is not in the document.&lt;br/&gt;
is it &quot;ptlrpcd_load_policy=XX&quot; ??&lt;br/&gt;
---------&lt;/p&gt;

&lt;p&gt;--------&lt;/p&gt;

&lt;p&gt;For the max_ptlrpcds parameter:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The absolute minimum is 2 per node, regardless of number of cores?&lt;/li&gt;
	&lt;li&gt;The default is one thread per core, including hyperthreading?&lt;/li&gt;
	&lt;li&gt;Is there any limit or maximum in the code?&lt;/li&gt;
&lt;/ul&gt;



&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;You mention large directory traversal and statahead as operations that&lt;br/&gt;
   are async RPC-intensive,&lt;br/&gt;
   are there any other situations a user may need to be aware of?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Somewhat outside question:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Is there any tuning of RPC behavior in this area, in other words for a&lt;br/&gt;
   specific type&lt;br/&gt;
   of RPC or action, can a user force async or sync behavior?&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&amp;#8211; &lt;br/&gt;
cliffw&lt;br/&gt;
Support Guy&lt;br/&gt;
WhamCloud, Inc.&lt;br/&gt;
www.whamcloud.com&lt;/p&gt;</comment>
                            <comment id="29519" author="pjones" created="Tue, 21 Feb 2012 16:53:33 +0000"  >&lt;p&gt;Added Fanyong as a watcher so he sees Cliff&apos;s question&lt;/p&gt;</comment>
                            <comment id="29523" author="yong.fan" created="Tue, 21 Feb 2012 19:46:48 +0000"  >&lt;p&gt;Q: The absolute minimum is 2 per node, regardless of number of cores?&lt;br/&gt;
A: Yes&lt;/p&gt;

&lt;p&gt;Q: The default is one thread per core, including hyperthreading?&lt;br/&gt;
A: Yes, the default mode is one thread per hyper-threading.&lt;/p&gt;

&lt;p&gt;Q: Is there any limit or maximum in the code?&lt;br/&gt;
A: Currently, there is no maximun limit, but I think we should set the maximum as the core count (hyper-threading) on the node.&lt;/p&gt;

&lt;p&gt;Q: You mention large directory traversal and statahead as operations that are async RPC-intensive,&lt;br/&gt;
are there any other situations a user may need to be aware of?&lt;br/&gt;
A: statahead is part of large directory traversal, and async glimpse lock (agl) is also part of large directory traversal. Both of them are usually can be triggered by &quot;ls -l&quot;, &quot;du&quot;, &quot;find&quot;, and similar system commands.&lt;br/&gt;
Another often used async RPC case is I/O, in Lustre, most of I/O are async mode.&lt;/p&gt;

&lt;p&gt;Q: Is there any tuning of RPC behavior in this area, in other words for a specific type&lt;br/&gt;
of RPC or action, can a user force async or sync behavior?&lt;br/&gt;
A: There are some existing proc interfaces maybe affect the efficient for async RPC processing, like &quot;max_rpcs_in_flight&quot;. But as for whether a RPC is sync or async, depends on Lustre internal implementation, the developer can specify that inside Lustre code, but there is no tunable interface for users to specify whether the RPC is async or sync outside Lustre code.&lt;/p&gt;

&lt;p&gt;Q: what is the parameter name for the ptlrpcd_load_policy? is it &quot;ptlrpcd_load_policy=XX&quot; ??&lt;br/&gt;
A: ptlrpcd_load_policy is not the name of some parameter. It is the name for a set of parameters used inside Lustre code to specify how to push the async RPC into some ptlrpcd queue. That means only Lustre developer can use such parameters, but invisible outside Lustre code.&lt;/p&gt;</comment>
                            <comment id="29528" author="cliffw" created="Wed, 22 Feb 2012 00:58:50 +0000"  >&lt;p&gt;Would the recommended maximum then be one thread per core (including hyper-threading)? &lt;br/&gt;
Is there a point where performance will decrease if the threads per core is &amp;gt;1 ? &amp;gt;5?? etc??&lt;/p&gt;

&lt;p&gt;I am a little confused by last response, in section 2.1 you list PDB_POLICY options, and they are set by&lt;br/&gt;
&quot;insmod ptlrpcd.ko ptlrpcd_bind_policy=xxx&quot; - which would imply the system admin tunes these. &lt;/p&gt;

&lt;p&gt;In section 2.2 you list the PDL_POLICY options, from your response above these are internal-only, never&lt;br/&gt;
touched by any other than Lustre developers? Just to confirm, they cannot be tuned by a system admin? &lt;/p&gt;

&lt;p&gt;If true, then i think section 2.2 might not go in the general manual, but rather in some developer-focused  or Lustre Internals documentation.&lt;/p&gt;</comment>
                            <comment id="29531" author="yong.fan" created="Wed, 22 Feb 2012 02:45:31 +0000"  >&lt;p&gt;The recommended mode is the default mode: one thread per core (including hyper-threading). It is not verified where is the point for the best performance.&lt;/p&gt;

&lt;p&gt;The administrator can tune ptlrpcd_bind_policy when insmod ptlrpcd.ko. But ptlrpcd_load_policy is used inside Lustre code only, not tunable for administrator. So the former one should be part of Lustre user manual, the later one is for developer and should be part of Lustre internals documentation.&lt;/p&gt;</comment>
                            <comment id="32178" author="cliffw" created="Tue, 27 Mar 2012 09:29:21 +0000"  >&lt;p&gt;I am still unclear on the real differences between PDB_POLICY_FULL and PDB_POLICY_NEIGHBOR - could you give and example of when either one would be useful.&lt;/p&gt;</comment>
                            <comment id="32970" author="cliffw" created="Fri, 30 Mar 2012 15:00:44 +0000"  >&lt;p&gt;Content now up for review &lt;a href=&quot;http://review.whamcloud.com/2425&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/2425&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="33534" author="rhenwood" created="Thu, 5 Apr 2012 11:16:08 +0000"  >&lt;p&gt;Merged.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="10808" name="Multi-threaded_ptlrpcd.docx" size="124288" author="yong.fan" created="Wed, 1 Feb 2012 21:57:56 +0000"/>
                    </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|hzvl1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7172</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>