Locality means keeping tasks that interact close together so they communicate less and spend less time waiting. Combining communicating tasks can make their data exchange part of one task, removing that communication overhead. section 13.6
Two ways to reduce communication overhead are:
- Combine tasks that exchange data, so their communication happens within one task. section 13.6
- Group tasks that send data and tasks that receive it. This can reduce total waiting time, though it does not shorten transmission time. section 13.6
Mapping matrix multiplication
A fine-grained approach assigns one task to each result-matrix element. Mapping can favor placing parallel tasks on different processors or keeping interacting tasks together; these goals can conflict. In a desktop example, the operating system handles task mapping and scheduling. section 13.6 section 13.7
