On Thu, 4 Nov 2010, Kirk, Benjamin (JSC-EG311) wrote:

>>> Long-term, there are two policy options that I think make sense:
>>>
>>> 1. Don't ever do MPI_Request_free implicitly from a Request object.
>>>
>>> 2. Do reference counting in Request objects; do an MPI_Request_free
>>> when the last reference is destroyed.
>>>
>>> I can see pros and cons to each; I'd appreciate others' opinions.
>>
>> I like #2, but the question is, how much overhead that will produce.
>> My feeling is that it is negligible, but I might be wrong.
>
> Since requests are associated with interprocessor communication I am sure
> the overhead associated with reference counting is trivial in comparison.

Ben's exactly right.

My only concern with #2 is the implicit shared reference behavior
between Request objects and MPI_Request objects.  I could imagine
someone using a raw MPI_Request to initiate an operation, creating a
Request from it, letting the Request go out of scope (freeing the
underlying request), then expecting the MPI_Request to still be useful
afterwards.  Kind of a stretch, but if there are unlikely failure
cases that I can quickly come up with I worry that there might be
subtle failure cases I just haven't spotted yet.
---
Roy

------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to