[r-t] Parallel searches [was Exhausted search spaces]

Mark Davies mark at snowtiger.net
Fri Feb 5 17:15:21 UTC 2010

Graham wrote,

> 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 mailing list