<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:57:41 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-6148] Strided lock proposal - Feature proposal for 2.8</title>
                <link>https://jira.whamcloud.com/browse/LU-6148</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This ticket is a placeholder for further information forthcoming.&lt;/p&gt;

&lt;p&gt;Briefly, strided locking is a proposed new feature to make improved shared file IO performance possible in certain situations.  This is being proposed at the Lustre developers meeting at LLNL (currently ongoing).&lt;/p&gt;

&lt;p&gt;Details will be forthcoming, for now, this ticket is mostly to allow me to push the prototype to Gerrit for ease of viewing.&lt;/p&gt;</description>
                <environment></environment>
        <key id="28312">LU-6148</key>
            <summary>Strided lock proposal - Feature proposal for 2.8</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="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="10200">Won&apos;t Do</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="paf">Patrick Farrell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Jan 2015 17:14:04 +0000</created>
                <updated>Sat, 16 Sep 2017 07:58:47 +0000</updated>
                            <resolved>Sat, 16 Sep 2017 07:58:33 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="104353" author="gerrit" created="Thu, 22 Jan 2015 17:53:35 +0000"  >&lt;p&gt;Patrick Farrell (paf@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13498&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13498&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6148&quot; title=&quot;Strided lock proposal - Feature proposal for 2.8&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6148&quot;&gt;&lt;del&gt;LU-6148&lt;/del&gt;&lt;/a&gt; ldlm: Strided locking prototype&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 590c2b30d66021aac4f4a31fb05754036092c0dd&lt;/p&gt;</comment>
                            <comment id="104354" author="paf" created="Thu, 22 Jan 2015 17:54:01 +0000"  >&lt;p&gt;Prototype/proof of concept here:&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/13498&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13498&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="104429" author="paf" created="Thu, 22 Jan 2015 22:48:40 +0000"  >&lt;p&gt;Presentation slides from developer&apos;s conference.&lt;/p&gt;</comment>
                            <comment id="105139" author="bzzz" created="Thu, 29 Jan 2015 22:25:13 +0000"  >&lt;p&gt;what about group locks?&lt;/p&gt;</comment>
                            <comment id="105143" author="paf" created="Thu, 29 Jan 2015 22:49:58 +0000"  >&lt;p&gt;Alex - The presentation PDF explains why not in a bit more detail, giving a few reasons.&lt;/p&gt;

&lt;p&gt;The main reason is what I&apos;m calling write visibility:&lt;/p&gt;

&lt;p&gt;Client A and B both have the same group lock.&lt;br/&gt;
Client A reads some pages, then client B writes to those pages.&lt;br/&gt;
Client A reads the pages again, but because it has a lock on the file, it does not realize the pages have been modified &amp;amp; will re-use its cached pages.&lt;/p&gt;

&lt;p&gt;Some of the more complex data formats used in HPC - Such as HFD5 - write out in file metadata as part of writing out a file, and it requires write visibility in the course of the IO.&lt;/p&gt;</comment>
                            <comment id="105144" author="paf" created="Thu, 29 Jan 2015 22:52:15 +0000"  >&lt;p&gt;Jinshan suggested implementing an ioctl for user space to request LDLM locks, allowing user space to &apos;lock ahead&apos; of the actual IO, and we agreed I&apos;d implement that and test it for performance before considering strided locks further.  If that can get most of the performance of file per process, then there isn&apos;t much point to strided locks, and we do not need to add the complexity.  We agreed there that if that doesn&apos;t close the gap, strided locks are worth considering.&lt;/p&gt;

&lt;p&gt;A prototype of lock ahead is here:&lt;br/&gt;
&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6179&quot; title=&quot;Lock ahead - Request extent locks from userspace&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6179&quot;&gt;&lt;del&gt;LU-6179&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This ticket&apos;s going to be on hold until we have more results there.&lt;/p&gt;</comment>
                            <comment id="208565" author="adilger" created="Sat, 16 Sep 2017 07:58:33 +0000"  >&lt;p&gt;This approach was abandoned in favour of lockahead.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="28460">LU-6179</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="28462">LU-6180</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="16734" name="Strided_Lock_Presentation_pdf.pdf" size="623934" author="paf" created="Thu, 22 Jan 2015 22:48:40 +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|hzx4mf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17170</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>