<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:47:31 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-11854] Dir operation on DNE2 are slower than DNE1 or non DNE</title>
                <link>https://jira.whamcloud.com/browse/LU-11854</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Directory operations (create and removal) on stripe dir with DNE2 has been significantly slower (more than 50x) than non DNE configuration and DNE1. Here is test results.&lt;/p&gt;

&lt;p&gt;Non DNE configuration&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; [root@c01 ~]# mkdir /scratch1/nodne 
 [root@c01 ~]# salloc -N 32 --ntasks-per-node=24 mpirun -np 768 --allow-run-as-root /work/tools/bin/mdtest -n 1000 -u -vv -d /scratch1/nodne 
SUMMARY: (of 1 iterations)
   Operation                      Max            Min           Mean        Std Dev
   ---------                      ---            ---           ----        -------
   Directory creation:      97259.037      97259.037      97259.037          0.000
   Directory stat    :     347749.775     347749.775     347749.775          0.000
   Directory removal :      96064.306      96064.306      96064.306          0.000
   File creation     :     111509.920     111509.920     111509.920          0.000
   File stat         :     317489.856     317489.856     317489.856          0.000
   File read         :     183132.719     183132.719     183132.719          0.000
   File removal      :     166205.620     166205.620     166205.620          0.000
   Tree creation     :         29.571         29.571         29.571          0.000
   Tree removal      :         26.353         26.353         26.353          0.000
V-1: Entering print_timestamp...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;DNE1 configuration&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; [root@c01 ~]# lfs mkdir -i 0 /scratch1/mdt0
 [root@c01 ~]# lfs mkdir -i 1 /scratch1/mdt1
 [root@c01 ~]# salloc -N 32 --ntasks-per-node=24 mpirun -np 768 --allow-run-as-root /work/tools/bin/mdtest -n 1000 -u -vv -d /scratch1/mdt0@/scratch1/mdt1
 SUMMARY: (of 1 iterations)
   Operation                      Max            Min           Mean        Std Dev
   ---------                      ---            ---           ----        -------
   Directory creation:     189546.945     189546.945     189546.945          0.000
   Directory stat    :     688947.817     688947.817     688947.817          0.000
   Directory removal :     255838.417     255838.417     255838.417          0.000
   File creation     :     203077.460     203077.460     203077.460          0.000
   File stat         :     692292.941     692292.941     692292.941          0.000
   File read         :     350911.938     350911.938     350911.938          0.000
   File removal      :     339358.198     339358.198     339358.198          0.000
   Tree creation     :         38.326         38.326         38.326          0.000
   Tree removal      :         43.928         43.928         43.928          0.000
V-1: Entering print_timestamp...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;DNE2 configuration&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; [root@c01 ~]# lfs setdirstripe -c 2 /scratch1/stripedir
 [root@c01 ~]# lfs setdirstripe -c 2 -D /scratch1/stripedir
 [root@c01 ~]# salloc -N 32 --ntasks-per-node=24 mpirun -np 768 --allow-run-as-root /work/tools/bin/mdtest -n 1000 -u -vv -d /scratch1/stripedir
 SUMMARY: (of 1 iterations)
   Operation                      Max            Min           Mean        Std Dev
   ---------                      ---            ---           ----        -------
   Directory creation:       6585.023       6585.023       6585.023          0.000  &amp;lt;----- 
   Directory stat    :     247222.630     247222.630     247222.630          0.000
   Directory removal :       3554.469       3554.469       3554.469          0.000  &amp;lt;-----
   File creation     :     250751.232     250751.232     250751.232          0.000
   File stat         :     566094.009     566094.009     566094.009          0.000
   File read         :     362051.872     362051.872     362051.872          0.000
   File removal      :     298873.347     298873.347     298873.347          0.000
   Tree creation     :         13.632         13.632         13.632          0.000
   Tree removal      :          4.830          4.830          4.830          0.000
V-1: Entering print_timestamp...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>2.12.0</environment>
        <key id="54524">LU-11854</key>
            <summary>Dir operation on DNE2 are slower than DNE1 or non DNE</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="laisiyao">Lai Siyao</assignee>
                                    <reporter username="sihara">Shuichi Ihara</reporter>
                        <labels>
                            <label>llnl</label>
                    </labels>
                <created>Mon, 14 Jan 2019 16:17:14 +0000</created>
                <updated>Mon, 31 Jan 2022 23:24:43 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>11</watches>
                                                                            <comments>
                            <comment id="239920" author="pjones" created="Mon, 14 Jan 2019 18:33:47 +0000"  >&lt;p&gt;Lai&lt;/p&gt;

&lt;p&gt;Could you please investigate?&lt;/p&gt;

&lt;p&gt;Ihara&lt;/p&gt;

&lt;p&gt;Could you please share some more details about the configuration and the test script used?&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="239923" author="adilger" created="Mon, 14 Jan 2019 18:38:58 +0000"  >&lt;p&gt;Ihara, setting &lt;tt&gt;lfs setdirstripe -c 2 -D /scratch1/stripedir&lt;/tt&gt; causes every subdirectory to also be created with 2 stripes, which triggers distributed transactions and is definitely slower than creating a local 1-stripe directory.  That is why we are working on the dynamic restriping, so that the directory can be created with 1 stripe at the start, and only move to DNE2 striping if it is needed.&lt;/p&gt;</comment>
                            <comment id="239951" author="sihara" created="Tue, 15 Jan 2019 02:15:38 +0000"  >&lt;p&gt;OK, but 100K to 6k dir creations 110K to 3k dir removal, is that level performance drop expected? If this is expected, that&apos;s fine when striped dir is enabled by default, but I wonder if we could get a bit better performance for resonable performance on dir operation when stripe dir enabled.&lt;/p&gt;</comment>
                            <comment id="239953" author="laisiyao" created="Tue, 15 Jan 2019 02:49:43 +0000"  >&lt;p&gt;It&apos;s hard to improve this in a short time, because a striped directory creation will often trigger old transactions (previous creations) commit to make DNE recovery easier, which means it causes sync on all MDTs. Without changing DNE recovery, we can&apos;t do much right now.&lt;/p&gt;</comment>
                            <comment id="282627" author="adilger" created="Mon, 19 Oct 2020 17:44:57 +0000"  >&lt;p&gt;Could this be fixed by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11999&quot; title=&quot;DNE performance improvement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11999&quot;&gt;&lt;del&gt;LU-11999&lt;/del&gt;&lt;/a&gt;?&lt;/p&gt;</comment>
                            <comment id="287444" author="sihara" created="Sun, 13 Dec 2020 22:41:05 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11999&quot; title=&quot;DNE performance improvement&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11999&quot;&gt;&lt;del&gt;LU-11999&lt;/del&gt;&lt;/a&gt; still doesn&apos;t solve problem. Dir creation and removal operations in the striped directory are still much slower than remote Dir.&lt;/p&gt;</comment>
                            <comment id="287448" author="laisiyao" created="Mon, 14 Dec 2020 02:21:28 +0000"  >&lt;p&gt;Striped directory creation and removal will start distributed transaction, if the involved MDTs are not located on the same MDS, this may be optimized: if one MDT failed, distributed transactions can be recovered from logs on other MDTs, thus the dependencies between distributed transactions can be removed. This means, only if a distributed transaction depends on a local transaction, it needs to commit the local transaction. But this seems not true on current deployment, there are often more than one MDTs on an MDS.&lt;/p&gt;</comment>
                            <comment id="287482" author="ofaaland" created="Mon, 14 Dec 2020 15:34:40 +0000"  >&lt;blockquote&gt;&lt;p&gt; if the involved MDTs are not located on the same MDS, this may be optimized ... &amp;lt;redacted&amp;gt; ... But this seems not true on current deployment, there are often more than one MDTs on an MDS.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Hi Lai,&lt;br/&gt;
I&apos;m not sure whose deployment you&apos;re referring to, but at least some sites would benefit from that optimization.  Our file systems have 16 MDTs each on their own MDS.  And if that optimization were implemented and worked well, we would take it into account when designing new file systems.&lt;/p&gt;</comment>
                            <comment id="287540" author="laisiyao" created="Tue, 15 Dec 2020 02:01:35 +0000"  >&lt;p&gt;Okay, I&apos;ll implement it and add a tunable option for this.&lt;/p&gt;</comment>
                            <comment id="312157" author="rdruon" created="Mon, 6 Sep 2021 13:08:45 +0000"  >&lt;p&gt;Do we have update for this?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                                        </outwardlinks>
                                                        </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|i009fr:</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>