> On 14:32 Wed 24 Aug     , Andreas Schäfer wrote:
> > You can limit the tests to be run in LibGeoDecomp by setting
> > LIMIT_FLAGS in CMake:
> 
> D'oh, typo fixed:
> 
>   cd libgeodecomp4/build/
>   cmake -DLIMIT_TESTS=parallelization.test.parallel_hpx_4 ..
>   make tests
>   make check

Thanks Andy. I'll have a look.

Here is another idea on how we could fix this issue.

The way it is set up now is that one core(?) is generating the dependency
tree at the front and all the other cores start working on burning up the
dependency tree from the back. This happens simultaneously.

As it happens in your case, the generation is apparently happening much
faster than the 'burning-up' which causes the dependency tree to eventually
consume all memory resources available. What we would like to have is that
the depth of the dependency tree does not grow too large.

This can be easily implemented by doing two things:

a) insert an additional trigger into the dependency tree every N time steps
with the goal for it to fire whenever the burning-up reaches this point
b) suspend the thread generating the dependency tree whenever the distance
between the currently created time step and the last trigger (from (a))
grows beyond a certain number.

This would allow to automatically keep the depth of the dependency tree in
check. Implementation-wise this boils down to calling a single function
during the generation of the tree:

    shared_future<T> f = dataflow(fork, ...);
    if ((time_step % N) == 0)
        limit_depth(f, time_step, max_depth);

where the function limit_depth would 

1) attach a continuation to 'f' which triggers the (internal) depth checker
at 'time_step', this would also wake up any pending threads from step (2)
2) suspend the calling thread if the last trigger was further back than
'max_depth' 

I think this function (or object) can be implemented in a generic way
directly in HPX, many applications might need this functionality. The main
problem is to find an appropriate name for it ;)

Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu


_______________________________________________
hpx-users mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to