次のスニペットでは、DoをParallelDoに置き換えると、2つのカーネルのうち1つだけでループが中断されるため、3倍遅く評価されます。
ParallelEvaluate[NN = 10070];
SetSharedVariable[res]
Module[{a, b, c},
Do[
c = NN - a - b;
If[a a + b b == c c, res = a b c; Break[]]
, {a, 1, NN}, {b, a + 1, NN}
];
res
] // AbsoluteTiming
ParallelAbortを呼び出すと問題は解決しますが、禁止されています。他には何があるの?