[dcmf] [PATCH 2/3] Use naive strided routines for af_ufs.

Bob Cernohous bobc at us.ibm.com
Fri Feb 15 13:02:26 CST 2008


robl at mcs.anl.gov (Robert Latham) wrote on 02/15/2008 12:48:50 PM:
> >      ADIOI_BGL_SetInfo, /* SetInfo */
> > -    ADIOI_GEN_ReadStrided, /* ReadStrided */
> > -    ADIOI_NOLOCK_WriteStrided, /* WriteStrided */
> > +    ADIOI_GEN_ReadStrided_naive, /*ADIOI_GEN_ReadStrided, * 
ReadStrided */
> > +    ADIOI_GEN_WriteStrided_naive, /*ADIOI_NOLOCK_WriteStrided, * 
> WriteStrided */
> >      ADIOI_BGL_Close, /* Close */
> >  #ifdef ROMIO_HAVE_WORKING_AIO
> >      ADIOI_GEN_IreadContig, /* IreadContig */
> 
> NOLOCK is a litte smarter than Naiive in the "noncontig in memory
> contig in file" case.  In that situation, NOLOCK will perform write
> combining and do fewer writes. 
> 
> GEN_ReadStrided is safe for PVFS.  We're just reading additional data,
> not trying to do an atomic read-modify-write.

Ok, but the problem I had was non-PVFS.  Your patch enables ad_ufs.  So 
someone *could* use ufs:filename on non-PVFS, whether we think that makes 
sense or not.  So I tried the romio testcase on GPFS and NFS using -fname 
ufs:test.   The noncontig tests failed with ADIOI_NOLOCK_WriteStrided. 
They worked with ADIOI_GEN_WriteStrided_naive.

So we have to make this patch satisfy PVFS and non-PVFS to ship it in the 
product.  Will naive work for you?  It was the simplest patch I could 
think of to get romio tests working. Or should we take the approach that 
we only allow ad_ufs on PVFS?   Put some hooks in to fail if someone uses 
ufs: on non-pvfs?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/dcmf/attachments/20080215/b44ee9d2/attachment.htm>


More information about the dcmf mailing list