<br><br><div class="gmail_quote">On Wed, Mar 10, 2010 at 3:19 PM, Rob Latham <span dir="ltr">&lt;<a href="mailto:robl@mcs.anl.gov">robl@mcs.anl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, Mar 10, 2010 at 02:47:09PM -0500, Shawn Kim wrote:<br>
&gt;<br>
&gt; 1. MPI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)<br>
&gt; 2. MPIOI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)<br>
&gt; 3. ADIO_WriteStridedColl<br>
&gt; 4. ADIOI_GEN_WriteStridedColl<br>
&gt; (mpich2-1.0.8/src/mpi/romio/adio/common/ad_write_coll.c)<br>
&gt; -------------------------------------------------------------------------------------------------------------------------------------<br>
&gt; &gt;From here, I can&#39;t trace it<br>
&gt; 5. ADIO_WriteContig (ad_pvfs2_write.c)<br>
&gt; 6. ADIOI_PVFS2_WriteContig<br>
&gt; 7. PVFS_sys_write<br>
&gt; ====================================<br>
&gt; 8. PVFS_sys_io (<a href="http://sys-io.sm" target="_blank">sys-io.sm</a>)<br>
&gt;<br>
&gt; Is there anybody who knows why these call sequences don&#39;t work? If anybody<br>
&gt; ran Flash IO before, is the result correct?<br>
&gt; Or, am I missing something?<br>
<br>
</div>Hi: this looks correct to me.  what are you confused about?<br>
<br>
if the I/O accesses overlap, or the &quot;romio_cb_write&quot; hint is set to<br>
&quot;enable&quot;, &quot;ADIOI_GEN_WriteStridedColl will carry out the two-phase<br>
collective I/O optimization.<br>
<br>
If you are jumping to ADIO_WriteContig, then you might have hit this<br>
test fairly early in ADIOI_GEN_WriteStridedColl:<br>
<br>
   if (fd-&gt;hints-&gt;cb_write == ADIOI_HINT_DISABLE ||<br>
           (!interleave_count &amp;&amp; (fd-&gt;hints-&gt;cb_write == ADIOI_HINT_AUTO))) {<br>
<br>
if that evaluates true, then you fall into &quot;process this request<br>
independently&quot;.<br></blockquote><div><br>Yes, Flash IO fell into this independence accesses before jumping to ADIO_WriteContig. This means Flash IO does not carry out two-phase collective I/O optimization, doesn&#39;t it?  <br>
I can&#39;t still find ADIO_WriteContig() from ADIOI_GEN_WriteStridedColl.<br><br>       if (buftype_is_contig &amp;&amp; filetype_is_contig) {<br>            if (file_ptr_type == ADIO_EXPLICIT_OFFSET) {<br>
                off = fd-&gt;disp + (fd-&gt;etype_size) * offset; <br>                ADIO_WriteContig(fd, buf, count, datatype, ADIO_EXPLICIT_OFFSET, off, status, error_code);   <br>            }<br>            else<br>
                -----------&gt; This is called by Flash IO<br><div id=":5z" class="ii gt">    ----------&gt; ADIO_WriteContig(fd, buf, count, datatype, ADIO_INDIVIDUAL, 0, status, error_code);<br>
                                                <br>        }<br>        else   <br>            ADIO_WriteStrided(fd, buf, count, datatype, file_ptr_type, offset, status, error_code);   </div><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
Otherwise, ADIOI_Exch_and_write and ADIOI_W_Exchange_data contain the<br>
heart of the two-phase optimization.  Phase one is exchanging data with<br>
processors to re-order the I/O, and Phase two is the actual<br>
(contiguous) write, or ADIO_WriteContig.<br>
<br>
==rob<br>
<div class="im"><br>
&gt; Thank you<br>
&gt;<br>
&gt; - Best regards,<br>
&gt; Shawn<br>
<br>
</div><div class="im">&gt; _______________________________________________<br>
&gt; mpich-discuss mailing list<br>
&gt; <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
&gt; <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
<br>
<br>
--<br>
</div><font color="#888888">Rob Latham<br>
Mathematics and Computer Science Division<br>
Argonne National Lab, IL USA<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
mpich-discuss mailing list<br>
<a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
</div></div></blockquote></div><br>