[Cbc] Potential race hazard?

John Forrest john.forrest at fastercoin.com
Mon Mar 24 10:28:01 EDT 2014


Hans,

Cbc has two parallel modes. The older and more mature method just passes 
a subproblem to an available thread. This is efficient but is not 
totally deterministic. It should always get the optimal solution if the 
complete tree is searched, but may take a different number of nodes if 
re-run. If the run is stopped on nodes or time, then the best solution 
returned could be different. So if you are completing the search and 
getting different solutions then that is a bug.

The second method, which is not used as often, involves giving each 
thread a certain amount of work and waiting for all threads to complete 
before continuing. As not enough effort has gone into measuring the 
"work", this is not as efficient. This should give the same results when 
re-run.

John Forrest
On 24/03/14 14:01, hmi21 at cantab.net wrote:
> Hi,
>
> First of all a big thanks to everyone developing and maintaining CBC. It’s
> an incredibly powerful tool.
> What I find extremely useful is that CBC has been parallelised and runs
> large problems utilising all cores on a multicore machine.
> The other day, however, I’ve come across a series of problems that when
> rerun on a parallelised version of CBC provide different results
> (objective values). When run in a single thread, CBC finds the same result
> consistently.
> I’ve posted one of the problems as well as a script to run it on CBC’s bug
> tracking system, but haven’t had a response
> (https://projects.coin-or.org/Cbc/ticket/147). Note that all heuristics
> and cuts are turned off when running the problem.
> I’d like to know whether a) this is indeed a bug or just me not using the
> library correctly and b) how mature the parallelised code of CBC is.
>
> Any help would be appreciated!
>
> Many thanks,
>
> Hans
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>



More information about the Cbc mailing list