Hi all,

I have some questions related to the design semantics of BMI.

* timeouts. It looks like the timeout for bmi test calls is the max amount of time spent _idling_ in the test call (as apposed to the max time spent in the test call). In other words, if operations are being completed continuously, then the timeout is never triggered, and the call can block for much longer than the actual timeout specified. Is this the desired behavior? The concern would be that the bmi operations would be completed at a constant rate, causing a bursty behavior of completed bmi jobs. The incount constrains this, but for both bmi api users and bmi method implementors we should probably document all those semantics.

* BMI memory allocation. Do we place any restrictions on when or how frequently BMI_memalloc is called? In the pvfs code, we always call BMI_memalloc for a post_send or post_recv. Would it be possible to avoid the malloc on the client for a write and just use the user buffer? Or should we mandate that calls to post_send and post_recv always pass in a pointer from BMI_memalloc? (as a side note, if we make that mandate, maybe we should have a BMI_buffer type that memalloc returns and post_send/post_recv accept).

Thanks,

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

Reply via email to