<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:22:27 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-9007] Improved object allocator for FLR composite files</title>
                <link>https://jira.whamcloud.com/browse/LU-9007</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The current MDS object allocator is designed only to allocate objects for one file at the time the file is first created. For progressive file layouts, at a minimum the allocator will need to be enhanced in order to avoid allocating objects on OSTs that are already part of a file&apos;s other components. If files have multiple objects allocated to the same OSTs before objects are allocated from unused OSTs, there may be a significant performance loss due to oversubscribing the bandwidth on that OST compared to the other OSTs. The only exception may be for a fully-striped component at the end of the file (see &lt;a href=&quot;http://wiki.lustre.org/Progressive_File_Layouts#Example_Progressive_Layouts&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Example Progressive Layouts&lt;/a&gt; for more detail), where it would be acceptable to allocate objects across all of the available OSTs to maximize the bandwidth available for the file.&lt;/p&gt;</description>
                <environment></environment>
        <key id="42940">LU-9007</key>
            <summary>Improved object allocator for FLR composite files</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="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="bobijam">Zhenyu Xu</assignee>
                                    <reporter username="jgmitter">Joseph Gmitter</reporter>
                        <labels>
                            <label>FLR2</label>
                    </labels>
                <created>Wed, 11 Jan 2017 13:08:49 +0000</created>
                <updated>Fri, 13 May 2022 00:13:50 +0000</updated>
                            <resolved>Thu, 9 Aug 2018 19:06:17 +0000</resolved>
                                                    <fixVersion>Lustre 2.12.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="186696" author="adilger" created="Wed, 1 Mar 2017 22:06:13 +0000"  >&lt;p&gt;This work is also a pre-requisite for FLR-related improvements to the MDS object allocator. While PFL requires that the objects are preferably not on the same OSTs between components, this is not a hard requirement. At worst this impacts performance, and in some cases (e.g. widely striped last component) it may even be desirable to re-use the same OSTs in order to maximize the bandwidth of large files.&lt;/p&gt;

&lt;p&gt;FLR has similar, but more specific requirements for OST selection on components with overlapping extents, in order of decreasing priority:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;objects with overlapping components &lt;b&gt;must not&lt;/b&gt; share the same OST.&#160; Implies max replica count == OST count/component stripe count.&#160; In theory this could be relaxed if all replicas have the same &lt;tt&gt;stripe_count&lt;/tt&gt; and &lt;tt&gt;stripe_size&lt;/tt&gt;, then it would only require that the same OST cannot be at the same&#160;&lt;tt&gt;stripe_index&lt;/tt&gt; of different components, in which case max replica count == OST count.&lt;/li&gt;
	&lt;li&gt;objects with overlapping components &lt;b&gt;should not&lt;/b&gt; share OSTs on the same OSS node (by NID from &lt;tt&gt;imp-&amp;gt;imp_connection-&amp;gt;c_peer.nid&lt;/tt&gt;, as &lt;tt&gt;qos_add_tgt()&lt;/tt&gt; does) to avoid the shared node failure domain.&lt;/li&gt;
	&lt;li&gt;objects with overlapping components &lt;b&gt;should not&lt;/b&gt; share OSTs on the same OSS failover pair (by failover NID from &lt;tt&gt;imp-&amp;gt;imp_conn_list.oic_conn-&amp;gt;c_peer.nid&lt;/tt&gt;, as &lt;tt&gt;lprocfs_import_seq_show()&lt;/tt&gt; does) to avoid the shared storage enclosure/controller failure domain.&#160; There may be other OSS nodes that share the same storage enclosure/controller, but there isn&apos;t any way for the client to determine this automatically.&lt;/li&gt;
	&lt;li&gt;objects with overlapping components &lt;b&gt;should not&lt;/b&gt; be on OSTs on the same network switch, power supply, rack, etc. but this depends on external information that is not currently available to Lustre. That could optionally be added via a separate configuration file/options, but the above cases will automatically cover&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="186720" author="jay" created="Thu, 2 Mar 2017 01:08:59 +0000"  >&lt;p&gt;Do we actually distinguish if the components are for generic PFL or FLR? it seems like to be a bad idea to me to know that information at LOD layer. I would like to make this allocation policy as generic and best-effort.&lt;/p&gt;

&lt;p&gt;Sparse OST index has been supported for a long time. How do you think if we partition OST indices based on the distance? The distance is defined by servers, racks, and switches. Anyway, more information the allocation policy can get the better decision it can make.&lt;/p&gt;</comment>
                            <comment id="186752" author="adilger" created="Thu, 2 Mar 2017 10:20:22 +0000"  >&lt;p&gt;I think encoding anything into the OST index is a non-starter.  This would totally break for existing filesystems, and administrators would have a hard time getting it right, and then it would break if they needed to move nodes around for some reason.  We already have OSS and OSS failover information in the LOD, so we may as well use it.  In fact, the QOS RR allocator already spreads stripes across OSS nodes to avoid contention if possible.  We can add in other rack/switch/power information later if we actually need it.&lt;/p&gt;

&lt;p&gt;I don&apos;t think that understanding &quot;PFL&quot; vs. &quot;FLR&quot; in LOD is quite the right thing, but rather it will understand layout components and whether they are sequential of overlapping, and select the best OSTs in that case.&lt;/p&gt;</comment>
                            <comment id="225041" author="adilger" created="Tue, 3 Apr 2018 15:58:32 +0000"  >&lt;p&gt;One simple proposal is to check the NID of each OST to put automatically separate OSTs into fault domains based on which OSS that are located on. This is not perfect, but is simple and works for all existing systems without additional input from the administrator. The existing QOS RR allocator will already prefer to distribute allocations across OSS nodes if possible, but this can be extended to actually and a requirement for all allocations. &lt;/p&gt;

&lt;p&gt;Secondly, a simple integer &lt;tt&gt;domain&lt;/tt&gt; value can be assigned to each OST by the administrator, and the LOD can use this to separate OSTs into independent groups. OSTs with the same &lt;tt&gt;domain&lt;/tt&gt; number should not be used for redundancy for other components. &lt;/p&gt;</comment>
                            <comment id="227859" author="gerrit" created="Tue, 15 May 2018 04:33:21 +0000"  >&lt;p&gt;Bobi Jam (bobijam@hotmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32404&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32404&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9007&quot; title=&quot;Improved object allocator for FLR composite files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9007&quot;&gt;&lt;del&gt;LU-9007&lt;/del&gt;&lt;/a&gt; lod: improve obj alloc for FLR file&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1a0c093c55d034ba6013f05f7c2a68664d3d0901&lt;/p&gt;</comment>
                            <comment id="230231" author="gerrit" created="Thu, 12 Jul 2018 22:18:14 +0000"  >&lt;p&gt;Bobi Jam (bobijam@hotmail.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/32813&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32813&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9007&quot; title=&quot;Improved object allocator for FLR composite files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9007&quot;&gt;&lt;del&gt;LU-9007&lt;/del&gt;&lt;/a&gt; lod: get rid of comp ost in use array&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 73c65d7e3402e2465a0b1042eb7ccaf185730b87&lt;/p&gt;</comment>
                            <comment id="230838" author="gerrit" created="Tue, 24 Jul 2018 16:01:47 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32404/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32404/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9007&quot; title=&quot;Improved object allocator for FLR composite files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9007&quot;&gt;&lt;del&gt;LU-9007&lt;/del&gt;&lt;/a&gt; lod: improve obj alloc for FLR file&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: fabf3fe7ac06d916d8c433a99f1f4a4bd3632638&lt;/p&gt;</comment>
                            <comment id="231740" author="gerrit" created="Thu, 9 Aug 2018 18:20:36 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/32813/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/32813/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9007&quot; title=&quot;Improved object allocator for FLR composite files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9007&quot;&gt;&lt;del&gt;LU-9007&lt;/del&gt;&lt;/a&gt; lod: get rid of comp ost in use array&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: a277952c65d4aad1abb9ac9f759af16a43902068&lt;/p&gt;</comment>
                            <comment id="231755" author="pjones" created="Thu, 9 Aug 2018 19:06:17 +0000"  >&lt;p&gt;Landed for 2.12&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="42916">LU-8998</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48931">LU-10158</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="70207">LU-15834</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="70244">LU-15841</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52954">LU-11238</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|hzz0dz:</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>