Ah, of course.  I wasn't even thinking of that.  Using pvfs2-cp copies the
file in under 3sec consistently.  I'll make sure that my automation scripts
use pvfs2-cp isntead of cp.

Thanks for the help!

-chris


On 1/17/07 12:09 PM, "Robert Latham" <[EMAIL PROTECTED]> wrote:

> On Wed, Jan 17, 2007 at 11:47:37AM -0800, Chris Halstead wrote:
>> Copy tests were done by simply timing 'cp' from the mounted PVFS volume to
>> local /dev/shm (to avoid filesystem latency).
>> 
>> When I strace the pvfs server process, I see the server writing to the TCP
>> socket in chunks no larger than ~4k:
>> 
>> writev(11, [{"\277\312\0\0\4\0\0\0\213^\0\0\0\0\0\0(\20\0\0\0\0\0\0", 24},
>> {"\274\v\0\0\2\0\0\0!\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0>"..., 4136}], 2) =
>> 4160
> 
> What you are seeing there is that the cp(1) program uses the blocksize
> of the destination file system when deciding how big a buffer to use.
> About a year ago we got the coreutils maintainers to take into account
> the source and destination file systems, but that's only available in
> coreutils-6.0 and newer (so it might take a while longer to show up in
> distributions).  
> 
>> I've tried tuning kernel-level TCP settings and
>> TCPBufferSend/TCPBufferReceive in the pvfs config, but I never see a change
>> in the size of the writes to the TCP socket.  Is this normal?  Is there a
>> tuning parameter that I'm missing that will influence the size of the
>> writes?
> 
> Two things to try: 1: you can upgrade your coreutils or 2: you can use
> pvfs2-cp, which will bypass the kernel VFS and use a 4 MB buffer size
> by default. 
> 
> ==rob


_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to