[Pvfs2-developers] BMI questions
Sam Lang
slang at mcs.anl.gov
Thu Nov 30 14:30:11 EST 2006
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
>
>
More information about the Pvfs2-developers
mailing list