On Nov 30, 2006, at 1:16 PM, Scott Atchley wrote:

On Nov 30, 2006, at 12:13 PM, Sam Lang wrote:

On Nov 30, 2006, at 9:27 AM, Scott Atchley wrote:

Hi all,

No one replied the the original post. The one I am most curious about is (3). Is FlowBufferSizeBytes available to the BMI implementations?

Hi Scott,

Sorry for not responding. I've included responses to your questions inline.

No problem. I have been side-tracked on a couple things as well.

I am thinking about how to handle BMI_mx_memalloc(). I might be able to assist the reg cache in MX if I do things a certain way.

I mention this below, on the server we always call BMI_memalloc to allocate buffers and post them to BMI_post_send/BMI_post_recv. On the client that's not always the case, the user buffer is usually passed directly to BMI_post_send/BMI_post_recv. Would it help you to know in advance of the post (or all posts) what the maximum size of a buffer for BMI_post_send/BMI_post_recv is going to be? We might be able to add a BMI info option that other methods could ignore. We do limit it, but its all above the BMI interface that this is done.

Knowing the max size in advance helps iff the buffers are allocated using BMI_memalloc(). If not, it does not matter.

So an extra BMI info option would help on the server?


1. Is there an upper bound on how many transfer operations between a pair of hosts at any one time (i.e. between a client and host)?

There is a max of unexpected requests (UnexpectedRequests option in the config file, defaults to 50). This limits the number of unexpected messages that can be handled at once by the server, but doesn't limit the number of IO operations (large expected messages).

I read this as the server will only service up to 50 unexpected request, but that the client (or clients) can send more. Is that correct?

Yes that's correct. There's no limit on unexpected messages a client can send to one particular, or any number of servers.


2. If there is a limit in the above and it is greater than 1, is that value the same for small (unexpected and some expected) messages and large (expected) messages? Or are large messages restricted to a lower value?

So I don't think there's a limit at present for expected messages. The unexpected limit is the one I mentioned above.

Ok.

3. In the thread entitled "libpvfs2 usage", SamL mentioned the tunable called FlowBufferSizeBytes and that it is set to 256KB by default. Is this value the upper limit on large messages (i.e. 8KB < large messages <= FlowBufferSizeBytes assuming 8 KB is the maximum unexpected size)?

Yes, on the server BMI_post_recv and BMI_post_send won't get called with values larger than that. On the client, there's no strict limit on the size of the messages posted.

Below, you seem to imply that client messages are broken into FlowBufferSizeBytes chunks. That would make sense if a server never allocated more than FlowBufferSizeBytes.

Would the BMI method have any knowledge of what this value is (i.e. can it use FlowBufferSizeBytes to allocate large buffers)?

On the server it does. BMI_memalloc is called from the flow with exactly the 256K (FlowBufferSizeBytes) value. The buffer returned is the one passed to BMI_post_recv or BMI_post_send (although, the size of the request may be less than 256K). On the client, the user buffer is used for calls to BMI_post_recv and BMI_post_send, so you won't see BMI_memalloc calls first. The client does break up the entire client request into chunks of FlowBufferSizeBytes for the BMI posts, but you won't know what that value is in advance of the post operations.

-sam

Ok. Given that the client does not use BMI_memalloc(), I will not try to do anything for BMI_memalloc() for now other than call malloc (). Do not worry about exposing the FlowBufferSizeBytes value for now.

Ok.  Let us know if adding a BMI_set_info option would help.

-sam


Thanks,

Scott



_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to