[PVFS-users] terrible performance ... help!
Nathan Poznick
kraken at wang-fu.org
Mon May 23 19:09:47 EDT 2005
Thus spake Robert Latham:
> fprintf() (and the other <stdio.h> routines) make use of caches and
> buffers. pvfs_write() does no caching and is more analagous to
> unix write(). Each call to pvfs_write means you will go over the
> network to the io servers.
>
> It's quite likely that calls to fprintf will end up getting buffered
> and serviced in one network round trip.
>
> I don't know how familiar you are with MPI-IO, but you might want to
> look into the MPI_File_* routines, particularly the support for
> collective and noncontigous IO.
Alternately, before doing any fprintf statements do:
setvbuf(filehandle, NULL, _IONBF, 0);
That will make your filehandle unbuffered, which is much more like what
the pvfs_* calls are doing. Those results are more directly comparable
to the results of the pvfs_* functions. As Rob said though, the best
comparison would be to rewrite your test program to use standard
open()/read()/write(), those are unbuffered by nature.
--
Nathan Poznick <kraken at wang-fu.org>
"You can't make me, you *can't make me*!!" -Tom Servo. #*
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.beowulf-underground.org/pipermail/pvfs-users/attachments/20050523/ea057519/attachment.bin
More information about the PVFS-users
mailing list