<br><font size=2 face="sans-serif">I was looking at the &quot;hole&quot;
detection and read-modify-write processing in ad_write_coll (and ad_bgl_wrcoll).</font>
<br>
<br><font size=2 face="sans-serif">I notice that it very intentionally
looks for front and back holes. &nbsp; Any hole causes read-modify-write.
&nbsp; But what if the only hole found is front or &nbsp;back? &nbsp;Was
there any effort to just skip front/back holes? &nbsp;Avoid the read and
adjust the write to only write where there's data? &nbsp; Adjust the offset
and length to skip the front/back holes? &nbsp;Or is it not worth it on
typical collective i/o patterns?</font>
<br>
<br><font size=2 face="sans-serif">I have a customer complaint that a particular
testcase performs poorly with MPI_File_write_at_all. &nbsp;For the most
part, it's just a testcase that shouldn't be using collective i/o. &nbsp;Each
rank writes large contiguous blocks to it's own range of the file. &nbsp;So
aggregation is just a waste of time. &nbsp;Each write the aggregator does
is a large contiguous write for a single rank. &nbsp;So there's really
no true aggregation.</font>
<br>
<br><font size=2 face="sans-serif">What caught my eye was, for example,
&nbsp;using a 16MB cb_buffer_size and writing a contiguous 1M block causes
read-modify-write of the whole 16M because of the single large (15M) trailing
(or leading) hole. &nbsp; It just seems like we should do better, but is
it worth doing anything for something that probably isn't a true collective
i/o pattern?</font>
<br>
<br><font size=2 face="sans-serif">I can fix the testcase performance by
hinting cb_buffer_size down to 1MB and then there's no hole. &nbsp;This
is a fine user circumvention, but I'm trying to decide if we should do
more.</font>
<br>
<br><font size=2 face="sans-serif">Thoughts?</font>
<br><font size=2 face="sans-serif"><br>
Bob Cernohous: &nbsp;(T/L 553) 507-253-6093<br>
<br>
BobC@us.ibm.com<br>
IBM Rochester, Building 030-2(C335), Department 61L<br>
3605 Hwy 52 North, Rochester, &nbsp;MN 55901-7829<br>
<br>
&gt; Chaos reigns within.<br>
&gt; Reflect, repent, and reboot.<br>
&gt; Order shall return.<br>
</font>