[mpich-discuss] Flash IO Benchmark using mpich2 and pvfs2

Shawn Kim shawn.subscribe at gmail.com
Wed Mar 10 23:19:34 CST 2010


Hi,

I knew the reason that I couldn't trace IO calls in Flash IO. After changing
the file name which Flash IO would write to "pvfs2:/mnt/pvfs2/file_name" in
flash_benchmark_io.F90, I can trace the entire IO.
Thank you for your help.

On Wed, Mar 10, 2010 at 6:13 PM, Shawn Kim <shawn.subscribe at gmail.com>wrote:

>
>
> On Wed, Mar 10, 2010 at 3:19 PM, Rob Latham <robl at mcs.anl.gov> wrote:
>
>> On Wed, Mar 10, 2010 at 02:47:09PM -0500, Shawn Kim wrote:
>> >
>> > 1. MPI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)
>> > 2. MPIOI_File_write_all (mpich2-1.0.8/src/mpi/romio/mpi-io/write_all.c)
>> > 3. ADIO_WriteStridedColl
>> > 4. ADIOI_GEN_WriteStridedColl
>> > (mpich2-1.0.8/src/mpi/romio/adio/common/ad_write_coll.c)
>> >
>> -------------------------------------------------------------------------------------------------------------------------------------
>> > >From here, I can't trace it
>> > 5. ADIO_WriteContig (ad_pvfs2_write.c)
>> > 6. ADIOI_PVFS2_WriteContig
>> > 7. PVFS_sys_write
>> > ====================================
>> > 8. PVFS_sys_io (sys-io.sm)
>> >
>> > Is there anybody who knows why these call sequences don't work? If
>> anybody
>> > ran Flash IO before, is the result correct?
>> > Or, am I missing something?
>>
>> Hi: this looks correct to me.  what are you confused about?
>>
>> if the I/O accesses overlap, or the "romio_cb_write" hint is set to
>> "enable", "ADIOI_GEN_WriteStridedColl will carry out the two-phase
>> collective I/O optimization.
>>
>> If you are jumping to ADIO_WriteContig, then you might have hit this
>> test fairly early in ADIOI_GEN_WriteStridedColl:
>>
>>   if (fd->hints->cb_write == ADIOI_HINT_DISABLE ||
>>           (!interleave_count && (fd->hints->cb_write == ADIOI_HINT_AUTO)))
>> {
>>
>> if that evaluates true, then you fall into "process this request
>> independently".
>>
>
> 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't it?
> I can't still find ADIO_WriteContig() from ADIOI_GEN_WriteStridedColl.
>
>        if (buftype_is_contig && filetype_is_contig) {
>             if (file_ptr_type == ADIO_EXPLICIT_OFFSET) {
>                 off = fd->disp + (fd->etype_size) * offset;
>                 ADIO_WriteContig(fd, buf, count, datatype,
> ADIO_EXPLICIT_OFFSET, off, status, error_code);
>             }
>             else
>                 -----------> This is called by Flash IO
>     ----------> ADIO_WriteContig(fd, buf, count, datatype, ADIO_INDIVIDUAL,
> 0, status, error_code);
>
>         }
>         else
>             ADIO_WriteStrided(fd, buf, count, datatype, file_ptr_type,
> offset, status, error_code);
>
>
>
>> Otherwise, ADIOI_Exch_and_write and ADIOI_W_Exchange_data contain the
>> heart of the two-phase optimization.  Phase one is exchanging data with
>> processors to re-order the I/O, and Phase two is the actual
>> (contiguous) write, or ADIO_WriteContig.
>>
>> ==rob
>>
>> > Thank you
>> >
>> > - Best regards,
>> > Shawn
>>
>> > _______________________________________________
>> > mpich-discuss mailing list
>> > mpich-discuss at mcs.anl.gov
>> > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>
>>
>> --
>> Rob Latham
>> Mathematics and Computer Science Division
>> Argonne National Lab, IL USA
>> _______________________________________________
>> mpich-discuss mailing list
>> mpich-discuss at mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20100311/40c22ae0/attachment-0001.htm>


More information about the mpich-discuss mailing list