parallel netCDF question

Daniel S. Katz Daniel.S.Katz at jpl.nasa.gov
Thu Dec 22 15:12:02 CST 2005


Thanks Russ (comments below)

Russ Rew wrote (on 12/22/05 1:08 PM):

>Hi Dan,
>
>  
>
>>I have a parallel code/machine which uses the standard netCDF library to 
>>write data to a single file system NFS-mounted on the compute codes.  As 
>>I got this code, it uses a fairly simple MPI send/recv mechanism 
>>(similar to token passing) to allow output files to be written by 
>>multiple processors in a serialized fashion (each opens, writes, then 
>>closes the file).  This is slow, and bad!
>>
>>As I don't know the netCDF library well, my first thought is simply to 
>>have all the processors write at once, since they are going to write to 
>>separate parts of the file.  However, depending on how the library does 
>>buffering, this may not work.  (I know it wouldn't work with the cfitsio 
>>package, for example.)  Does anyone know if this will work, will not 
>>work, or will have uncertain behavior?
>>    
>>
>
>I know this will not work.  The way the netCDF library buffers its
>output to lessen the number of disk writes, multiple writers will in
>general write over each other's disk blocks, even if they each write
>separate areas of the output file.
>
>  
>
>>Assuming that this will not always work, is parallel netCDF the next 
>>choice, even when the file system is question is not a parallel file system?
>>    
>>
>
>I think you need a parallel file system to do what you have in mind.
>  
>
This is not an option, unfortunately.  The 4 options are:
1.  Keep doing what I am doing, even though it is slow
2.  Accumulate data to node 0 in slabs, then have node 0 write out the 
output file
3.  Figure out a way to do this in parallel using the standard netcdf 
library that's faster than the current state.
4.  Use the parallel netcdf library, assuming that I can use it without 
a parallel file system.

Any other suggestions are welcome.

Dan

>  
>
>>Any other thoughts or suggestions?
>>    
>>
>
>Some users have each process write a separate file, and subsequently
>merge the many small files into one large netCDF file in a
>post-processing step, but this can also be costly.
>
>--Russ
>
>  
>

-- 
          Daniel S. Katz                Daniel.S.Katz at jpl.nasa.gov
    Jet Propulsion Laboratory               or d.katz at ieee.org
California Institute of Technology          or dsk at computer.org
        Mail Stop 126-104                 (818) 354-7359 (voice)
       4800 Oak Grove Drive                (818) 393-6141 (fax)
     Pasadena, CA  91109-8099       http://pat.jpl.nasa.gov/public/dsk/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20051222/bf1a9296/attachment.htm>


More information about the parallel-netcdf mailing list