I stumbled upon this video while using OR-Tools CP-SAT solver
https://www.youtube.com/watch?v=lmy1ddn4cyw
At around 12:10, the part of multithreaded solvers starts. I understand these solvers are distributed among the available cores (threads) of a CPU. At around 13:20, there is a slide of information shared among these workers / solvers.
It displays
• Propogate new variable bounds
- Including fixed variables
- Including literals
- Including objective
Q: does this mean that, assuming 8 workers, when a worker, say the solver at thread 0, finds a new better solution, it informs threads 1-7, which subsequently use this as an upper bound for their new solutions' objective value?
In addition, what other examples of information are shared that make this parallel computing "work"? E.g. fixed variables?