<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:33:05 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-17153] Random block allocation policy in ldiskfs</title>
                <link>https://jira.whamcloud.com/browse/LU-17153</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;There have been the number of mballoc optimizations, but allocator in general allocates blocks from lower block groups to later in sequential order if the filesystem is free.&lt;br/&gt;
It would be nice to have another allocator policy that allows e.g. pseudo-random allocation across block groups in the ldiskfs.&lt;/p&gt;

&lt;p&gt;There are some use cases&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Consistent block allocation performance&lt;br/&gt;
Even peak performance is slow in that policy, it can keep consist performance regardless filesystem is empty and full.&lt;/li&gt;
	&lt;li&gt;Benchmark, test and debug purpose&lt;br/&gt;
In order to optimize mballoc or run benchmark, it would have fragmented filesystem conditions to see how improvements work.&lt;br/&gt;
Today, we are using fallocate (allocate/punch-hole) to make such filesystem conditions. If a random block allocator policy is available, it could help for that debug/benchmark.&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="78166">LU-17153</key>
            <summary>Random block allocation policy in ldiskfs</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</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="wc-triage">WC Triage</assignee>
                                    <reporter username="sihara">Shuichi Ihara</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Sep 2023 02:01:28 +0000</created>
                <updated>Thu, 28 Sep 2023 02:53:15 +0000</updated>
                                            <version>Lustre 2.16.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="387477" author="adilger" created="Thu, 28 Sep 2023 02:53:15 +0000"  >&lt;p&gt;The ticket &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10946&quot; title=&quot;add an interface to load ldiskfs block bitmaps&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10946&quot;&gt;&lt;del&gt;LU-10946&lt;/del&gt;&lt;/a&gt; is intended to allow a fragmentation map to be loaded from an existing filesystem into a test filesystem in order to better simulate slow performance from a customer filesystem.&lt;/p&gt;

&lt;p&gt;For pseudo-random block allocation, this should be relatively straight forward to add an ldiskfs mballoc allocation policy to just try random group numbers to allocate space.  The groups could still be checked for &quot;good&quot; status so that we don&apos;t try to allocate too-small chunks and increase fragmentation, but this would distribute the write allocation across the whole device uniformly and should average out the bandwidth over the lifetime of the filesystem (i.e. some fraction of &quot;slow&quot; group allocation would happen when the filesystem is empty, and some fraction of &quot;fast&quot; group allocation would happen when the filesystem is nearly full).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="62900">LU-14438</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="51954">LU-10946</issuekey>
        </issuelink>
                            </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|i03wzr:</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>