One of the simplest yet most useful ways to utilize multi-processor hardware for *iterative* jobs is the cyclic barrier.
* Not for recursive problems. If your requirement is recursive in nature, there are other techniques of parallel decomposition.
** Sometimes (as in low-latency systems), we convert recursion into iteration for memory efficiency, without losing parallelism, on a multi-processor hardware. Note memory is critical in low-latency, for a number of reasons.
Q: how is a barrier different from a count down latch?