o_1h6f3jfcieu117ue1q8s1a67hpr.pdf
psd.pdf
How-to Split a Problem into Tasks - Thinking Parallel
Divide-and-Conquer is a widely deployed strategy for writing sequential algorithms. In it, a problem is divided into subproblems, which are again divided into subproblems recursively until a trivial solution can be calculated. Afterwards, the results of the subproblems are merged together when needed. This strategy can be applied as is to achieve a recursive problem decomposition. As the smaller tasks are usually independent of one another, they can be calculated in parallel, often leading to well-scaling parallel algorithms. Parallel sorting algorithms often use recursive decompositions.
Design Patterns
How to Design Programs, Second Edition
Interactive SICP