[Pvfs2-developers] server flow post

Sam Lang slang at mcs.anl.gov
Fri Jan 12 15:23:55 EST 2007


On Jan 12, 2007, at 12:32 PM, Scott Atchley wrote:

> On Jan 12, 2007, at 12:52 PM, Sam Lang wrote:
>
>> On Jan 12, 2007, at 9:03 AM, Pete Wyckoff wrote:
>>
>>> I think that all makes sense.  Agree that the need for preposting
>>> receives is to avoid big queues of waiting unexpected messages.
>>
>> Hi Scott,
>>
>> The attached patch posts the flow (and receives) before posting  
>> the send of the response ack.  I posted the response ack before  
>> the flow, because the first call to BMI_memalloc (with a request  
>> for 1MB in your case) happens in the flow post call, so that  
>> delays posting of the response ack.  I'm curious if this will  
>> actually give you better performance.
>>
>> I also fixed that assert failure you were getting.  Let me know if  
>> this works for you.
>>
>> Thanks,
>>
>> -sam
>>
>> <io-flow-post.patch>
>
> I applied the patch, recompiled and ran pvfs2-cp again. I see about  
> the same number of unexpected receives on the server as before:
>
It looks like there are more early expected messages than  
previously.  You were only seeing about 9 per tag before IIRC.

We don't post the next BMI read until the previous has finished on  
the server, so there's still the possibility of a race-condition,  
because the client could send the next message before the server  
actually posted the receive for it, but the time in the unexpected  
queue should be pretty short.

Do you see any performance differences with the patch?  Maybe  
increase the flow buffer sizes to something big (10MB or so) to see  
if allocation kills performance?

-sam

> [D 13:28:57.671374] PVFS2 Server version  
> 2.6.1pre1-2007-01-11-200834 starting.
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 8  match  
> 0xe000000100000008
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 9  match  
> 0xe000000100000009
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 10  match  
> 0xe00000010000000a
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 11  match  
> 0xe00000010000000b
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 12  match  
> 0xe00000010000000c
> Early expected message  length 1048576  tag 13  match  
> 0xe00000010000000d
> Early expected message  length 1048576  tag 13  match  
> 0xe00000010000000d
> Early expected message  length 1048576  tag 13  match  
> 0xe00000010000000d
> Early expected message  length 1048576  tag 13  match  
> 0xe00000010000000d
> Early expected message  length 538689  tag 13  match  
> 0xe00000010000000d
>
> Note that it starts at tag 8. Is the client sending the second set  
> of buffers before the server has posted them?
>
> Scott
>



More information about the Pvfs2-developers mailing list