There are problems with applying parallel processing to chess search algorithms that are not obvious until you have designed and implemented one. (Yes, I have.)
The problem has to do with alpha-beta pruning, an extremely important short-cut used in virtually every min-max search algorithm. Alpha-beta pruning allows you to shave off over 99% of the search space as irrelevant. The problem is, the more you try to parallelize the search, the worse pruning efficiency you get. So just throwing more and more processors at the problem does not speed up your chess algorithm linearly. It's more like logarithmic. (Yuck!)
There are problems with applying parallel processing to chess search algorithms that are not obvious until you have designed and implemented one. (Yes, I have.) The problem has to do with alpha-beta pruning, an extremely important short-cut used in virtually every min-max search algorithm. Alpha-beta pruning allows you to shave off over 99% of the search space as irrelevant. The problem is, the more you try to parallelize the search, the worse pruning efficiency you get. So just throwing more and more processors at the problem does not speed up your chess algorithm linearly. It's more like logarithmic. (Yuck!)