[r-t] Parallel searches [was Exhausted search spaces]
mark at snowtiger.net
Fri Feb 5 17:15:21 UTC 2010
> You create a processor pool. If there is a processor free, you assign it to
> your current branch and backtrack your current process on to its next
> branch. If a processor exhausts a branch or backtracks to its starting point
> you return it to the pool.
Sounds about the size of it. It might be worth worrying a bit about the
size of the state frame you have to copy to a forked processor. If there
are frequent backtracks you might end up doing a lot of work copying and
restoring falseness tables etc. There are tricks that can avoid this,
but then again if the branches eventually become heavy enough, it's not
an issue anyway.
More information about the ringing-theory