George Bosilca wrote:

Here is a simple fix for both problems. Enforce a reasonable limit on the number of fragments in the BTL free list (1K should be more than enough), and make sure the fifo has a size equal to p * number_of_allowed_fragments_in_the_free_list, where p is the number of local processes. While this solution will certainly increase again the size of the mapped file, it will do it by a small margin compared with what is happening today in the code. This is without talking about the fact that it will solve the deadlock problem, by removing the inability to return a fragment. In addition, the PML is capable of handing such situations, so we're getting back to a deadlock free sm BTL.

I'm still trying to think this one through. In the meanwhile, maybe you can help me with some things.

1) (As I asked before,) how does one determine that 1K are enough fragments? Maybe this value should scale with np?

2) How does one deal with two flavors of fragments, eager and max? Shall we cap each list at the same value?

3) I assume that, given two flavors of fragments, we need fifo_size >= np * ( max_num_eager + max_num_frag )?

I'm mostly interested in feedback on 1 and 2.

Reply via email to