29
Concepts
•The powerful parallel computation ideas are:
– Pipelining, perform some operations and then pass the task along for completion by other units
– Overlap, perform communication & computation simultaneously since they need separate resources
– Partition, form independent (as possible) tasks and assign separate processors to each
–Most parallel algorithms use a combination of these
•Languages should support these concepts
•ZPL does overlap and partitioning for all computations up to available resources, and has abstraction for pipelining
–
–
More abstractly: Decompose into independent parts