<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Patrick</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is my understanding correct that a full upgrade would not be necessary to evaluate this feature - and that it would be enough to just upgrade the clients involved?</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Peter</div>
<div style="direction: ltr; font-family: Aptos, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="mail-editor-reference-message-container">
<div class="ms-outlook-mobile-reference-message skipProofing" style="direction: ltr;">
</div>
<div class="ms-outlook-mobile-reference-message skipProofing" style="text-align: left; padding: 3pt 0in 0in; border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor; font-family: Aptos; font-size: 12pt; color: black;">
<b>From: </b>lustre-discuss &lt;lustre-discuss-bounces@lists.lustre.org&gt; on behalf of Patrick Farrell via lustre-discuss &lt;lustre-discuss@lists.lustre.org&gt;<br>
<b>Date: </b>Saturday, February 7, 2026 at 12:13\u202fPM<br>
<b>To: </b>Freddie Witherden &lt;freddie@witherden.org&gt;, lustre-discuss &lt;lustre-discuss@lists.lustre.org&gt;<br>
<b>Subject: </b>Re: [lustre-discuss] Group Lock Semantics<br>
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hybrid IO is a new feature in Lustre 2.17 which automatically switches to direct IO for IO above a certain configurable size - it relies on another new Lustre trick, which is the ability to do
<i>unaligned</i>&nbsp;direct IO.&nbsp; In fact, unaligned direct IO support is in Lustre 2.16, so if you have that or newer (Or EXA6 from DDN), you could skip the alignment work you're describing.&nbsp; (Much of the purpose of this work - unaligned direct IO and hybrid -
 is to make the benefits of direct IO easy to access.)</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Currently we only switch for IO above a certain size, but we intend to eventually switch to direct IO for IO when lock contention is detected as well.&nbsp; We simply haven't found time to do the development there yet.</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
If you're running a new enough version, try it, and I'll be curious to hear your feedback.&nbsp; This work was aimed partly at solving the problem you're dealing with without having to use any form of relaxed consistency, which as you're experiencing is challenging
 to deal with.</div>
<div class="elementToProof" style="direction: ltr; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
See here for background:</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a href="https://wiki.lustre.org/images/a/a0/LUG2024-Hybrid_IO_Path_Update-Farrell.pdf" data-outlook-id="d3e2bbaf-d5b9-4e02-bb11-5733681fd165">https://wiki.lustre.org/images/a/a0/LUG2024-Hybrid_IO_Path_Update-Farrell.pdf</a></div>
<div id="appendonsend" dir="ltr"></div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b>&nbsp;Freddie Witherden &lt;freddie@witherden.org&gt;<br>
<b>Sent:</b>&nbsp;Saturday, February 7, 2026 10:29 AM<br>
<b>To:</b>&nbsp;Patrick Farrell &lt;pfarrell@ddn.com&gt;<br>
<b>Subject:</b>&nbsp;Re: [lustre-discuss] Group Lock Semantics</span>
<div>&nbsp;</div>
</div>
<div class="PlainText" style="font-size: 11pt;">On 07/02/2026 07:43, Patrick Farrell wrote:<br>
&gt; So, if you are able to switch to direct IO as you mention, group locks<br>
&gt; should be unnecessary and are better avoided.&nbsp; Direct IO works like this<br>
&gt; in 2.15 and newer.&nbsp; (Also, in 2.17, hybrid IO can do this switch for you<br>
&gt; automatically for larger IO sizes.)<br>
<br>
It will take a bit of work to engineer for direct I/O (we need to ensure<br>
all of our starting offsets are page aligned and special-case the final<br>
writes so we either do RMW or if at the very end of the file do a<br>
buffered write), but its nothing insurmountable.&nbsp; Will report back in a<br>
few days.<br>
<br>
What do you mean by hybrid I/O here?<br>
<br>
Regards, Freddie.</div>
</div>
</body>
</html>